为什么我们需要fakeroot
命令?我们不能简单地使用sudo
orsu
命令吗?
手册页说:
fakeroot - 在伪造 root 权限的环境中运行命令以进行文件操作
About.com 说:
提供一个假的根环境。该软件包旨在启用以下功能:
dpkg-buildpackage -rfakeroot
即消除成为软件包构建的 root 用户的需要。这是通过设置LD_PRELOAD
为 来完成的libfakeroot.so
,它提供了getuid
,chown
,chmod
,mknod
,stat
, ... 的包装器,从而创建了一个假的根环境。如果你不明白这些,你不需要fakeroot
!
我的问题是,它解决简单su
或不简单的特殊目的是什么sudo
?例如,要重新打包 ubuntu 中所有已安装的包,我们给出以下命令:
$ fakeroot -u dpkg-repack `dpkg --get-selections | grep install | cut -f1`
Run Code Online (Sandbox Code Playgroud)
我们可以使用 sudo 或 su 而不是 fakeroot 来执行上述命令,如下所示:
$ sudo dpkg-repack `dpkg --get-selections | grep install | cut -f1`
Run Code Online (Sandbox Code Playgroud)
编辑:
跑步: …
根据“编写伟大的代码”,几乎所有操作系统运行时内存都被组织成以下区域:
操作系统 | 堆栈 | 堆 | 文字 | 静态 | 存储/BSS
[以增加地址方式]
用户空间进程为其不同类型的数据对象使用更高的内存区域。
内核空间进程也有不同类型的数据对象。这些对象是否共享用户空间内存区域(堆栈、堆等),或者它们是否在操作系统区域中有自己的独立子部分(堆、堆栈等)。如果是,它们的排列顺序是什么? . 谢谢,