确定在大多数 Linux 平台上运行“make install”会发生什么变化

确定在大多数 Linux 平台上运行“make install”会发生什么变化

make install当我无法从源代码卸载时,如何确定正在运行或安装的内容?我更喜欢一种可移植的方法,或者至少是一个可以在 Ubuntu 或 openSUSE 或任何流行的 Linux 发行版中找到的软件包。

答案1

我更喜欢一种可移植的方法,或者至少一个可以在 Ubuntu 或 openSUSE 或任何流行的 Linux 发行版中找到的软件包。

用于find查找过去一小时内创建的所有文件。

虽然我认为这是一个“结束运行”的想法,但它是一个有用的系统管理员技巧,只需以 root 身份使用即可find查找sudo过去/ctime小时内创建的任何文件():

sudo find / -ctime -1

如果您想要了解这些文件的更详细信息,只需运行如下结果ls -la即可-exec

sudo find / -ctime -1 -exec ls -la {} \;

但当然,这是关于所有文件已创建而不只是由 产生的make install

因此,make install进入一个临时目录,然后创建该目录的目录树以供审查。

用户还有另一个很酷的技巧史蒂夫堆栈溢出;这里稍微调整了一下:

mkdir /tmp/installer
./configure
make
sudo make install DESTDIR=/tmp/installer
cd /tmp/installer
tree .

关键在于设置DESTDIR,该设置实际上会将所有组件安装到 中/tmp/installer。后面的命令只会带您进入该目录,然后tree创建该目录内容的漂亮目录树。

对于该技术,我的看法是:有些系统(例如 Mac OS X)没有tree安装此单行程序find,并且sed无法实现类似目录树格式:

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

相关内容