我想找到从内核的角度来看可执行的文件类型。据我所知,Linux 上的所有可执行文件都是 ELF 文件。因此,我尝试了以下操作:
find * | file | grep ELF
但是这不起作用;有人有其他想法吗?
我刚刚编译了一个新内核并问自己:在编译过程中是什么决定了内核中静态构建了哪些内核模块?
然后我删除了/lib/modules,重新启动并发现我的系统工作正常,所以看起来所有基本模块都是静态构建在内核中的。
如果没有/lib/modules,内核会加载 22 个。在目录存在的情况下,它会加载 67 个模块。
如果进程想要访问不在物理内存中的内存地址,操作系统会将页面框架从物理内存外包给硬盘驱动器以备后用。此数据/指令存储在硬盘驱动器上的哪个位置?
它存储在交换分区上吗?
我不想在启动时在我的 debian 机器上加载内核模块 nouveau,所以我将以下内容放在 /etc/modprobe.d/blacklist.conf 中:
blacklist ttm
blacklist drm
blacklist nouveau
Run Code Online (Sandbox Code Playgroud)
我什至做了一个,update-initramfs -u但每次启动时都会加载这三个模块。
有谁知道为什么以及如何解决这个问题。
我试图找出/etc/nsswitch.conf我的 Debian 机器上属于哪个软件包,但dpkg --search /etc/nsswitch.conf没有告诉我。有人知道吗?
我正在尝试创建用户 lenny,该用户在文件夹中/home/lenny/具有读写权限,并且没有外壳,但只能通过 SFTP 访问。我正在做以下事情:
useradd lenny
mkdir /home/lenny
usermod -d /home/lenny lenny
passwd lenny
chown lenny:lenny /home/lenny
chmod 755 /home/lenny
usermod -s /bin/false myuser
Run Code Online (Sandbox Code Playgroud)
然后我修改了/etc/ssh/sshd_config:
Subsystem sftp internal-sftp`
Match User lenny
ChrootDirectory /home/lenny
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
现在,当我这样做时,sftp lenny@server我可以通过执行cd /和轻松离开 CHROOT ls -la,我看到了一切!
这是为什么???我不明白,配置应该没问题,还是我错了?
假设我想在设置 nullmailer 后测试根邮件功能,如何强制我的 Debian Linux 系统发送根邮件?
此外,Linux 到底在哪些事件上发送 root 邮件?
我有一个内置硬盘/dev/sda,看起来像这样:
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00042134
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 293048319 146523136 83 Linux
/dev/sda2 293050366 312580095 9764865 5 Extended
/dev/sda5 293050368 312580095 9764864 82 Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)
现在我可以轻松找到带有 的 MBR xxd …
我问自己,与 Linux 内核版本 3.18 兼容的某个 dtb 是否与 Linux 内核版本 4.9 兼容。
我想不会,因为有关设备树的内核代码可能会随着时间的推移而变化,但它必须以某种方式兼容,否则多个 dts/dtsi 文件必须一直更改。
我用谷歌来调查这个问题,但即使在官方文档中我也找不到关于不同内核版本之间兼容性的任何文字。