到目前为止,所有内容仍保留在源目录中.一旦我运行make install,基本上我开始在/usr/local或/ usr中放置非包文件(取决于–path开关).
我也尝试将它安装到不同的地方,例如/ opt,但这往往会在某处造成麻烦.即我总是记得要专门将它添加到头/链接器路径.或者我在那里安装了一个包,系统范围的pkg-config不知道它(我再次需要添加额外的标志).即使我在/ opt中安装了每个自定义软件,我也不知道bin /等lib /等中的所有文件都属于彼此.如果我开始将它们安装到/ opt / software1 /,维护问题就会成倍增加,我要跟踪我需要添加的更多路径,以便编译更多的包或者需要将它们放在LD库路径中等等.
但是当我直接在/ usr中安装软件时,我感觉很糟糕,不再能够正确地告诉我哪个自定义安装文件属于哪里.很容易确定给定文件是否属于某个包,但如果不属于某个包,则在大型自定义安装中,记住或找出文件所属的位置是一件痛苦的事.
当我想删除文件时,它会变得更糟.它们分散在bin /,lib /,man /等中.所以,如果我想完全删除自定义安装的软件包,我将执行手动工作或最坏情况,我不再能够确定所有这些我会留下陈旧的档案.
我知道我也可以开始构建一个自定义包.但这需要我分析我预先安装的每个软件吗?我没有创建.deb文件的实际经验,我也不打算将它们分发给其他安装.我想要的只是跟踪自定义本地安装的好方法.
我可能会自己想出一些东西,即制作所有文件的列表(查找/ …),安装软件然后再次执行此操作并将差异保存在某处.只是想知道是否有更好的方法.
解决方法
您可以使用checkinstall代替使用make install,它将使用该软件创建(并安装)软件包,以便您可以使用软件包管理器对其进行跟踪.