Questions tagged «linux»

这些问题通常与Linux有关-并非特定于特定发行版。如果问题恰好在Linux环境中,请在问题正文中指定Linux发行版,但不要使用/ linux标记。

6
在Linux上查看CPU速度的正确方法是什么?
我找到了两个命令来输出有关CPU的信息:cat /proc/cpuinfo和lscpu。/proc/cpuinfo显示我的CPU速度为2.1 Ghz,而lspcu说它为3167 Mhz。哪一个是正确的? 这是我cat /proc/cpuinfo关于处理器速度的确切输出: model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz 这是从lscpu: CPU MHz: 3225.234 (由于某种原因,lscpu每次输出都不同,在3100和3300 MHz之间变化)
20 linux  cpu 



6
将分区号从sda1更改为sda2
我有一个带有两个分区的磁盘:sda1和sda2。我想将sda1的数量更改为sda2,将sda2的数量更改为sda1。 有可能,但是我不记得该程序了。即我的第一个分区将是sda2,第二个分区是sda1,因此我需要指定手动顺序,而不是像fdisk-> x-> f中的自动顺序。 我如何更改订单?手册或教程的链接也很有用。 谢谢。 原因:我有一个需要从sda1读取数据但该数据在sda2中的应用程序。更改分区表是解决此问题的更快方法。该系统不是很关键,但我不想暂停太多时间。 更新:OpenBSD的fdisk版本包含该功能。
20 linux  partition  fdisk 

3
将shell脚本作为守护程序运行的“正确”方法
我正在编写一个shell脚本,希望在启动时作为守护程序运行,而无需使用daemontools或daemonize之类的外部工具。 Linux守护程序编写方法 根据Linux Daemon Writing HOWTO的规定,适当的守护程序具有以下特征: 来自父进程的分叉 关闭所有文件描述符(即stdin,stdout,stderr) 打开写入日志(如果已配置) 将工作目录更改为永久目录(通常为/) 重置文件模式掩码(umask) 创建一个唯一的会话ID(SID) 守护简介 该守护进程介绍更进一步,指出一个典型的守护程序也: 从其控制终端取消关联(如果有),并忽略所有终端信号 从其流程组中脱离 处理 SIGCLD 我将如何做到这一切的sh,dash或bash只用普通的Linux工具脚本? 尽管Debian是我们的主要重点,但该脚本应该能够在尽可能多的发行版上运行而无需其他软件。 注意:我知道在StackExchange网络上有很多建议使用nohup或的答案setsid,但是这些方法都不能满足上述所有要求。 编辑:该守护进程(7)用户手册还给出了一些三分球,虽然似乎有老式的之间的一些差异SysV守护程序和更新systemd的。由于与各种发行版的兼容性很重要,因此请确保答案清楚说明所有差异。


1
如果多线程Linux进程收到信号,该怎么办?
如果Unix(Posix)进程接收到信号,则将运行信号处理程序。 在多线程进程中会发生什么?哪个线程接收信号? 我认为,应该扩展信号API来处理该问题(即应该能够确定信号处理程序的线程),但是在网上寻找信息时,我只在Linux内核邮件列表中发现了长达一年之久的信息。不同的论坛。据我了解,Linus的概念不同于Posix标准,并且首先构建了一个兼容层,但现在Linux遵循posix模型。 目前的状态是什么?

4
即使文件存在并且在PATH中,Linux可执行文件也会失败并显示“找不到文件”
我想启动wine可执行文件(版本2.12),但是出现以下错误($= shell提示符): $ wine bash: /usr/bin/wine: No such file or directory $ /usr/bin/wine bash: /usr/bin/wine: No such file or directory $ cd /usr/bin $ ./wine bash: ./wine: No such file or directory 但是,文件在那里: $ which wine /usr/bin/wine 可执行文件肯定在那里,并且没有死的符号链接: $ stat /usr/bin/wine File: /usr/bin/wine Size: 9712 Blocks: 24 IO Block: 4096 …

1
无法使用nc托管主机,但可以ping通
我正在尝试使用netcat从一台虚拟机连接到另一台虚拟机的端口25,但它告诉我no route to host虽然我可以ping通。我确实将防火墙默认策略设置为丢弃,但是我有一个例外,可以接受该特定子网上端口25的流量。我可以使用nc从VM 3到端口25上的VM 2进行连接,但不能从VM 2 TO 3进行连接。 这是我的VM2防火墙规则的预览 这是我的VM 3防火墙规则的预览 当我显示监听服务时*:25,这意味着它正在监听所有ipv4 ip地址和:::25ipv6地址。我不明白错误在哪里以及为什么不起作用,两个防火墙规则都接受端口25上的流量,因此应该可以连接。我尝试比较两者之间的差异,以了解为什么可以从vm3连接到vm2,但配置完全相同。关于可能是什么问题的任何建议? 更新停止iptable服务可以解决问题,但我仍然需要那些规则。

2
不允许用户模式程序访问内核空间内存并执行IN和OUT指令会破坏使用CPU模式的目的吗?
当CPU处于用户模式时,CPU无法执行特权指令,也无法访问内核空间内存。 当CPU处于内核模式时,CPU可以执行所有指令并可以访问所有内存。 现在在Linux中,用户模式程序可以访问所有内存(使用/dev/mem),并且可以执行两个特权指令IN和OUT(使用iopl()我认为)。 因此,Linux中的用户模式程序可以执行大多数可以在内核模式下完成的事情(我认为大多数事情)。 不允许用户模式程序拥有所有这些功能会破坏拥有CPU模式的目的吗?
19 linux 

1
如何保护Linux系统免受BlueBorne远程攻击?
Armis实验室发现了一种新的媒介攻击,它会影响所有启用了蓝牙的设备,包括Linux和IoT系统。 BlueBorne在Linux上的攻击 Armis在Linux操作系统中披露了两个漏洞,攻击者可以利用这些漏洞完全控制受感染的设备。第一个是信息泄漏漏洞,它可以帮助攻击者确定目标设备使用的确切版本并相应地调整其利用。第二个是堆栈溢出,可能导致对设备的完全控制。 例如,所有启用了蓝牙的设备都应标记为恶意。被感染的设备将创建一个恶意网络,使攻击者可以控制其蓝牙范围以外的所有设备。在Linux系统上使用蓝牙连接外围设备(键盘,鼠标,耳机等)会使Linux面临各种风险。 这种攻击不需要任何用户交互,身份验证或配对,因此实际上也不可见。 所有运行BlueZ的Linux设备都受到信息泄漏漏洞(CVE-2017-1000250)的影响。 经过BlueBorne Vulnerability Scanner的检查后,我所有启用了Bluetooth的Linux OS都被标记为易受攻击(Armis的 Android应用程序用于发现易受攻击的设备需要启用设备发现,但攻击仅需要启用Bluetooth。 在Linux系统上使用蓝牙时,是否可以减轻BlueBorne攻击?

2
如何终止Linux tee命令而不杀死它从其接收的应用程序
我有一个bash脚本,只要Linux机器通电就可以运行。我按如下所示启动它: ( /mnt/apps/start.sh 2>&1 | tee /tmp/nginx/debug_log.log ) & 启动后,我可以在ps输出中看到tee命令,如下所示: $ ps | grep tee 418 root 0:02 tee /tmp/nginx/debug_log.log 3557 root 0:00 grep tee 我有一个功能可以监视tee生成的日志的大小,并在日志达到一定大小时杀死tee命令: monitor_debug_log_size() { ## Monitor the file size of the debug log to make sure it does not get too big while true; do cecho …
19 linux  scripting  pipe  kill  tee 

3
使用ImageMagick创建PDF超过2 GB的限制
我正在使用convert约2,000张图像创建PDF文件: convert 0001.miff 0002.miff ... 2000.miff -compress jpeg -quality 80 out.pdf 当输出文件达到2 ^ 31-1字节(2 GB -1)的消息时,该过程可重复终止 convert: unknown `out.pdf'. PDF文件规范允许≈10GB。我试图从中获取更多信息-debug all,但是在日志输出中没有发现任何有用的信息。文件系统是ext3,它允许至少16 GiB(可能更多)的文件。至于ulimit,file size是unlimited。/etc/security/limits.conf仅包含注释行。还有什么会导致此问题,如何增加限额? ImageMagick版本:6.4.3 2016-08-05 Q16 OpenMP 发行版:SLES 11.4(i586)

1
ps最多只能打印任何进程的命令行的4096个字符
当我为一个Java进程grep时,我得到的输出低于输出,但它被限制为4096个字符,这导致grep输出中未显示实际的进程名称(即kafka.Kafka)。 这是grep的限制吗?有什么方法可以打印超过4096个字符的字符? ps -ef | grep java java -Xmx6G -Xms6G-服务器-XX:+ UseG1GC -XX:MaxGCPauseMillis = 20 -XX:InitiatingHeapOccupancyPercent = 35 -XX:+ DisableExplicitGC -Djava.awt.headless = true -Xloggc:/ x / kafka / data01 / kafka-app -logs / kafkaServer-gc.log -verbose:gc -XX:+ PrintGCDetails -XX:+ PrintGCDateStamps -XX:+ PrintGCTimeStamps -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate = false -Dcom。 sun.management.jmxremote.ssl = false -Dkafka.logs.dir = …

3
/ dev / nvram危险写吗?
我发现nvram用于BIOS刷新/备份的信息,其中包含一些与BIOS相关的数据。会cat /dev/random > /dev/nvram永久使用计算机吗?我很想键入此命令,但是以某种方式我觉得它对我的机器来说效果不佳,所以我想我想知道玩此设备有多危险。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.