lok*_*art 19 make sudo software-installation
有时我在使用时遇到问题,在写入某些文件夹时make install
会出现permission denied
错误。所以我本能地使用sudo make install
. 这会带来额外的问题吗?
我正在使用 Debian Etch。
Fah*_*tha 19
避免将本地安装到系统目录中。系统目录,例如/usr
,保留供包管理系统使用。根据定义,如果您这样做make install
意味着您正在进行本地安装,如果您需要这样做sudo make install
,则意味着您无权访问您正在编写的任何地方。
因此,如果您使用 获得权限错误make install
,请检查并查看您是否尝试安装到系统目录中,然后安装到/usr/local
或类似的目录中。/usr/local
保留用于本地安装。您可能需要允许自己写入/usr/local
,但这通常很容易做到。在 Debian 上,这可以通过将您自己添加到staff
组中来完成。更好的是,找到或创建一个二进制包,然后安装它。这样您就可以轻松跟踪已安装的软件包并获得软件包管理的其他好处。
请注意/usr/local
,根据 FHS,包管理系统相反不会安装到 中。有关概述,请参阅Debian 政策手册 - 文件系统层次结构的第 9.1 节。
正如上面已经回答的那样,sudo make install
允许您将文件安装在对用户来说是只读的目录中。
我可以预见的问题是,稍后您可能想要卸载或升级该程序。如果您仍然拥有源代码目录树,那么 amake uninstall
将为您卸载该程序,但如果像许多其他典型用户一样,您已经删除了源代码目录树,那么您就不走运了。由于您没有使用包管理系统安装该程序,因此您可能也无法通过这种方式卸载该程序。
安装此类程序的最佳方法可能是将它们安装在您的主目录中。将选项传递--prefix=/home/<user>/<some>/<directory>
给./configure
. 这将允许您使用make install
而不是sudo make install
因为/home/<user>/<some>/<directory>
您可以写入。卸载也很简单——rm -rf /home/<user>/<some>/<directory>
归档时间: |
|
查看次数: |
72788 次 |
最近记录: |