假设/usr/local/bin/ruby在后台运行,然后我们ruby用不同的版本覆盖,甚至删除ruby。
那些运行 ruby 进程会发生什么?
我在安装一些 hfsplus 驱动器时遇到问题。我只需要它们以只读方式安装。(禁用日志不是一种选择)我做了很多研究,发现由于从内核版本 2.6.37 到 2.6.38 的更改,问题开始了。
在 bugs.launchpad.net 上查看此链接。
因此,我使用 Linux 内核版本 2.6.37 及更低版本对其进行了测试,它应该可以正常工作。
以上版本,包括我的 3.2.0-54-generic(ubuntu 12.04) 版本在安装 hfsplus 图像和磁盘时无法正常工作。所以我需要来自 ubuntu 9 的 2.6.31-14-generic 等工作版本的 hfsplus 模块。
在这种情况下,我将这些命令与 HFS+ DD 图像一起使用。但是我使用其他 hfsplus 物理驱动器和其他图像进行了此操作。它们都适用于内核 2.6.37 及更低版本,但不适用于较新版本:
sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 -o $((512*409640)) /folder/iMac_21.dd
sudo mount -t hfsplus /dev/loop0 /mnt/hfs
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
dmesg | tail
[84980.380254] hfs: invalid secondary volume header …Run Code Online (Sandbox Code Playgroud) 当我 kill 时wininit.exe,Windows 7 突然关闭。有人可以使用 Windows 机制解释这一点吗?
我觉得这可能是因为该过程提供了一些重要的东西,或者这可能是一个安全功能。
我从www.kernel.org下载了一个 Linux 内核,然后我使用 menuconfig 对其进行了自定义。
经过大量自定义后,它就像我需要的那样工作,而且我不想丢失这个实际配置,所以我可以稍后(在另一台机器上,例如)下载相同的内核版本,并使用我的配置。我怎么能那样做?
我双启动我的机器,我希望它默认启动到 Windows,这样每当我从家里远程重启机器时,它就能够回到 Windows(而不是 Ubuntu)。
问题是每次Ubuntu升级内核时,我都必须将grub的默认启动项重置回windows。这是因为 grub 菜单加载器使用位置 6 来引导默认操作系统。当 Ubuntu 安装新内核时,它会更改该顺序。
我正在寻找一种方法来配置 grub 以记住内核更新下的默认引导项。
在 AWS EC2 实例中,我们有多个 EBS 卷。当我尝试分离其中任何一个时,该umount命令有效,但无法分离设备。
# grep -c xvdj /proc/mounts
0
Run Code Online (Sandbox Code Playgroud)
但是,lsof报告jbd2正在使用该设备。
# lsof | grep xvdj
jbd2/xvdj 2896 root cwd DIR 202,1 4096 2 /
jbd2/xvdj 2896 root rtd DIR 202,1 4096 2 /
jbd2/xvdj 2896 root txt unknown /proc/2896/exe
# ps u -p 2896
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2896 0.0 0.0 0 0 ? S Jul20 0:02 [jbd2/xvdj-8]
Run Code Online (Sandbox Code Playgroud)
如何停止此过程,以便释放设备?
请问如何彻底删除某个内核模块?我的意思是真正删除,而不是卸载或阻止加载。我尝试使用rmmod,但它只是卸载模块,与modprobe -r. 所以我得到了所有使用的模块的列表modprobe -n -v并手动删除了它们。
rmmod cramfs:
ERROR: Module cramfs does not exist in /proc/modules
Run Code Online (Sandbox Code Playgroud)
所以当我尝试加载模块时,我得到:
modprobe -v -n cramfs:
FATAL: Could not open '/lib/modules/2.6.32-573.12.1.el6.x86_64/kerne/fs/cramfs/cramfs.ko': No such file or directory
Run Code Online (Sandbox Code Playgroud)
但这意味着,系统仍然可以获得有关已删除模块的一些信息,因为它知道cramfs.ko文件的路径。未加载但可加载模块的示例:
modprobe -v -n jffs2
insmod /lib/modules/2.6.32-573.12.1.el6.x86_64/kernel/lib/zlib_deflat/zlib_deflate.ko
insmod /lib/modules/2.6.32-573.12.1.el6.x86_64/kernel/fs/jffs2/jffs2.ko
rmmod jffs2
ERROR: Module jffs2 does not exist in /proc/modules
Run Code Online (Sandbox Code Playgroud)
有什么办法可以正确删除模块吗?
所以我计划最终从 1 GB 到 2 GB(mobo max)RAM,我想禁用内核分页,因为我听说它可以提高性能(我相信)。有什么理由不这样做或对此有任何一般想法吗?
编辑:为了澄清起见,这不是禁用一般 RAM 分页。这是禁用内核内存分页(或至少部分,如 Charlls 所指出的)。
我想为我的 Debian 5.0.7 机器启用内核崩溃转储。内核版本为 2.2.26 amd64。
我该如何配置?
假设我有一个多核系统,比如说 4 个核,在这个系统中我将 3 个用户进程固定到 3 个 CPU。
在这种情况下,内核将驻留在何处?
假设其中一个用户进程对内核进行系统调用,或者说是 IOCT1。该 IOCTL 会在内核所在的第 4 个 CPU 上执行吗?