Questions tagged «linux»

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

1
ACPI组/操作未定义:处理器/ LNXCPU
如果从交流电源适配器上拔下笔记本电脑的电源,会出现如下所示的ACPI错误: May 07 21:45:04 veritas root[7067]: ACPI group/action undefined: processor / LNXCPU:00 May 07 21:45:04 veritas root[7076]: ACPI group/action undefined: processor / LNXCPU:01 May 07 21:45:04 veritas root[7078]: ACPI group/action undefined: processor / LNXCPU:02 May 07 21:45:04 veritas root[7080]: ACPI group/action undefined: processor / LNXCPU:03 acpi_listen 转储 ac_adapter ACPI0003:00 00000080 …

1
Linux中的“泄漏”管道
假设您具有如下所示的管道: $ a | b 如果b停止处理stdin,则在一段时间后,管道将被填满,并将a对其的stdout 写入,将阻塞(直到b再次开始处理或终止)。 如果我想避免这种情况,可以尝试使用更大的管道(或更简单地说,是buffer(1)),如下所示: $ a | buffer | b 这只会给我带来更多的时间,但a最终最终会停止。 我很想拥有(对于我要解决的非常特殊的情况)是拥有一个“泄漏的”管道,该管道在充满时会从缓冲区中丢弃一些数据(理想的是逐行)以a继续处理(您可能会想到,在管道中流动的数据是消耗性的,即,处理数据的b重要性不如a能够不阻塞地运行)。 总结一下,我很想拥有一个有界,漏水的缓冲区: $ a | leakybuffer | b 我可能可以很容易地用任何一种语言来实现它,我只是想知道我是否缺少某些“准备使用”的东西(或者像bash单线的东西)。 注意:在示例中,我使用的是常规管道,但问题同样适用于命名管道 在授予以下答案的同时,我也决定实施LeakyBuffer命令,因为以下简单解决方案有一些局限性:https : //github.com/CAFxX/leakybuffer
12 linux  pipe  fifo  buffer 

1
对wpa_supplicant的后续调用失败-无法连接到wifi
我有一台ubuntu 15.10服务器,该服务器利用wpa_supplicant连接到使用wpa_passphrase创建的无线网络配置文件。重新启动时,第一次调用时sudo wpa_supplicant -B -i wlp2s0 -c ./MVS(其中MVS是网络保存的配置文件的名称),我得到了输出 Successfully initialized wpa_supplicant Could not read interface p2p-dev-wlp2s0 flags: No such device 但是退出代码为零,我可以通过运行以下命令确认我实际上已连接到无线网络 sudo iw wlp2s0 link 但是,随后对wpa_supplicant的调用(对于其他配置文件甚至是相同的配置文件)将产生更详细的输出: Successfully initialized wpa_supplicant Could not read interface p2p-dev-wlp2s0 flags: No such device nl80211: Could not set interface 'p2p-dev-wlp2s0' UP nl80211: deinit ifname=p2p-dev-wlp2s0 disabled_11b_rates=0 p2p-dev-wlp2s0: …

2
如何获得各个发行版之间可移植的可用内存量?
报告内存的标准文件/工具在不同的Linux发行版上似乎具有不同的格式。例如,在Arch和Ubuntu上。 拱 $ free total used free shared buff/cache available Mem: 8169312 3870392 2648348 97884 1650572 4110336 Swap: 16777212 389588 16387624 $ head /proc/meminfo MemTotal: 8169312 kB MemFree: 2625668 kB MemAvailable: 4088520 kB Buffers: 239688 kB Cached: 1224520 kB SwapCached: 17452 kB Active: 4074548 kB Inactive: 1035716 kB Active(anon): 3247948 …
12 linux  memory  meminfo 

1
CPU警告-Abrt-watch-log
我正在3.47GHz的Intel®Xeon®CPU X5690上运行Red Hat Enterprise Linux Server 7.1(Maipo) 我不断收到此错误abrt-watch-log。 root 888 1 0 Aug03 ? 00:00:00 /usr/bin/abrt-watch-log -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detected ernel BUG at list_del corruption list_add corruption do_IRQ: stack overflow: ear stack overflow (cur: eneral protection fault nable to handle kernel ouble fault: …

1
在Linux中更改TCP RTO值
我想更改连接的TCP RTO (重传超时)值,我读过的书暗示我可以这样做,但没有揭示更改的位置和方式。 我已经看过这些/proc/sys/net/ipv4变量,但是没有一个变量与RTO相关。如果有人可以告诉我如何更改此值,我将不胜感激。

3
当进程作为特定组运行时,Linux权限如何工作?
这是我一直无法找到的大量信息,因此我们将不胜感激。 我的理解是这样。取以下文件: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 用户phil无法访问此文件: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied 如果phil添加到adm组中,则可以: root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server kernel: …

4
管理cgroup是否需要root用户访问权限?
我正在尝试与两个不同操作系统(Ubuntu和CentOS)上的控制组一起工作。我想问的问题很少。 我正在尝试使用cgcreate命令创建一个控制组,并且它似乎需要在计算机上进行root访问。到目前为止,我所看到的所有示例都没有提到需要成为创建或修改控制组的root用户。 真的有必要成为root用户吗?最终目标是编写一个C ++应用程序,该应用程序使用libcgroup API创建和管理控制组以控制资源。但是C ++应用程序不会由任何root用户运行。它可以是任何普通用户。

2
以编程方式更改密码
在当前版本的Raspian中,我知道可以从命令行更改当前登录用户的密码,如下所示: sudo passwd 然后会提示用户两次输入新密码。这将产生如下输出: Changing password for pi. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully 我想知道是否有可能以编程方式更改密码,例如从Shell脚本更改密码。 我正在尝试制作一个配置脚本以部署在我的Raspberry Pis上,并且我不想手动为其输入新密码。

2
GNU Linux(Arch Linux)上的SIGINFO丢失
我正在开发一个应用程序,我希望它可以根据需要将一些运行时统计信息打印到控制台。kill我立刻想到了信号。 阅读Wiki上的Unix信号SIGINFO似乎是一种可行的方法,因为: 它旨在为这些目的 如果未实现信号处理程序,则不终止进程(与SIGUSRx- 相反,请参见此处) 但是,通过检查的输出kill -l,看来我的服务器没有实现此信号。 我的问题是: 为什么SIGINFO我的系统不见了?所有GNU Linux系统上都不存在吗? 是否有一种简单的方法(即没有内核/ glibc重新编译)来启用此信号?如果没有,那么困难的方法是什么? 我可以为目标使用什么替代信号,如果目标过程未处理,则不会产生任何副作用?(由于我在glibc的手册上找不到任何其他合适的信号,因此我已经假设没有) Linux metainfo: Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux 更新:我仍在寻找有关为何有条件将此信号从BSD以外的其他系统中排除的更多信息(请参阅下面的评论)。该信号似乎对许多目的都非常有用,因此我很难相信这只是个一时兴起的事情-那么该信号在Linux上的真正表现是什么呢?
12 linux  signals  glibc 

1
带有内核和BusyBox的最小Linux:/ etc / inittab被忽略,仅执行/ init
我设法创建了一个小型且功能齐全的实时Linux CD,其中仅包含内核(使用默认选项编译)和BusyBox(使用默认选项+静态编译,所有小程序都包括在内/sbin/init)。我没有问题,建立initrd和填充/dev,/proc并且/sys也是我在所有与我没有任何问题/initshell脚本。 最近,我读到BusyBox支持/etc/inittab配置(至少在某种程度上),我非常想执行以下任一操作: 忘记我的/initshell脚本,完全依靠/etc/inittab配置。 同时使用/initShell脚本和/etc/inittab配置。 现在是实际问题- /etc/inittab当我的发行版启动时,似乎完全被忽略了。症状是: 当我删除/init并离开时,/etc/inittab我最终会陷入内核崩溃。我的假设是内核根本不执行/sbin/init,或者/sbin/init根本找不到(或读取)/etc/inittab。 我读到即使没有,BusyBox也应该可以正常工作/etc/inittab。因此,我同时删除了两者/init,/etc/inittab然后猜测是什么-再次出现内核恐慌。 我试图执行/sbin/init从我的外壳经过几次猜测,其中包括exec /sbin/init,setsid /sbin/init和exec setsid /sbin/init我结束了内核崩溃。文件系统上同时存在和不存在/ etc / inittab。 这是我的/initshell脚本的内容: #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t proc none /proc mount -t sysfs none /sys setsid cttyhack /bin/sh 在这一点上,我不在乎它的内容/etc/inittab,只要我有办法知道那里的配置确实有效。我尝试了几种/etc/inittab配置,所有这些配置都是基于在这里找到的信息。 作为最低要求,我的/ etc / inittab仅包含以下这一行: ::sysinit:/bin/sh 再次-我最终陷入内核恐慌,似乎/etc/inittab被忽略了。 /etc/inittab非常感谢任何有关如何强制我的小型现场发行版与BusyBox配合使用的建议! 更新: 为了清楚起见,使用和不使用当前的shell脚本,我都不会遇到内核崩溃的麻烦。一切正常,我的控制台运行良好,没有任何意外的麻烦。唯一的问题是,正如我上面所述,它被完全忽略了。/init/etc/inittab/bin/ash/etc/inittab …

1
无法加载模块:不同意符号module_layout的版本
按照本教程编写我的第一个驱动程序。 Makefile是: # Makefile – makefile of our first driver # if KERNELRELEASE is defined, we've been invoked from the # kernel build system and can use its language. ifneq (${KERNELRELEASE},) obj-m := ofd.o # Otherwise we were called directly from the command line. # Invoke the kernel build system. …

1
Zswap,Zram,Zcache桌面使用方案
我一直在尝试了解Zswap,Zram和Zcache 用例的差异。对于冗长/草率措词的问题,我们事先表示歉意。我已经做了很多谷歌搜索,而且我了解zram基本上是用于压缩交换的块设备,而zswap使用frontswap api在内核中进行压缩。zswap的一个优点似乎是,当处于LRU方式的压力下时,zswap可以将某些页面移至后备交换,而zram不能这样做(请确认,不确定这是否成立)。 所以这是我的问题:1.)作为桌面用户,zcache / zswap / zram(尤其是zswap和zram)之间的性能差异是什么?例如,内存碎片(导致过多的内存使用和浪费的一种)是否更好/更糟? 额外的问题:2.)是否有上述方法(例如zram + zswap或zram + zcache)的理想组合,可以提高台式机性能(包括台式机的响应能力,以及最小的破坏性交换行为和合理的内存管理)? *非常感谢引用源。 我应该补充一点,我是一个经验丰富的Linux用户(5年),并且尝试过真正了解我的系统(包括内核)如何工作。但是,我不是程序员,只有非常基础的编程知识(3学分的大学课程)。但是,如果需要,请保持技术性;我会按自己的时间解析您的意思。 系统规格: Linux Mint 15 Processor:Core 2 Quad 6600 (2.4ghz) Ram: 8G linux kernel: liquorix 3.11 series Storage: 128 GB SSD, 1TB HDD 5400rpm 请没有“购买更多的ram”评论!我已经在此主板上达到了最大的内存,并且在可预见的将来有$ 0的升级预算。但是,我喜欢保留开放式内存密集型程序(多个浏览器是我的ram的主要使用者),因此我不介意在合理的性能下降范围内进行交换。


4
有没有一种方法可以通过“ ps”中的几种条件进行选择?
似乎我遗漏了一些显而易见的东西,但是仍然: ps -f -u myuser --ppid 1 似乎只看一下进程的父pid,并返回所有父pid为1的进程,即使用户不是myuser。 在-u单独工作正常(仅选择处理的myuser): ps -f -u myuser 我想念什么?是否有一些内置方法可以根据中的多个条件进行过滤ps? 编辑: 我当前的解决方法: ps -f -p $(join <(ps h --ppid 1 -o pid | sort) <(ps h -u myuser -o pid | sort))
12 linux  ps 

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.