在许多安装中,只有“wheel”或“admin”组中的用户才具有 sudo 访问权限。因此您可能需要先将自己添加到该组中。
很棒的文章。 以下是一些读者可能感兴趣的补充要点。
我仍然偶尔会遇到未捆绑为软件包并且需要以老式方式安装的软件。 使用默认的 Makefiles 通常会将应用程序放置在 /usr/local/bin 或(更糟糕的是)/usr/bin 中。 这里的问题是,在安装了许多应用程序之后,可能很难识别 /usr/local(或 /usr)下的目录迷宫中哪些文件属于每个应用程序,这使得卸载应用程序而不会破坏某些东西变得困难。
为了解决这个问题,我使用了我认为曾经是一种常见的做法。 我创建了一个 /usr/local/package 目录,并将每个应用程序安装到其下自己的私有目录中。 每个的路径看起来像 /usr/local/package/packagename/version。 version 术语的存在是为了我可以一次安装多个版本。 我通常还创建从 /usr/local/package/packagename/latest 到最新版本的符号链接。
有了这个,我创建了一堆从 /usr/local/package/packagename/latest/... 到 /usr/local(/usr/local/bin、/usr/local/lib 等)下适当位置的符号链接。 这完成了两件事。 它允许我通过更改“latest”符号链接来切换版本(这样我可以尝试新版本并在出现问题时返回),并且它将应用程序的所有文件保存在一个地方。 因此,我可以卸载应用程序(或应用程序修订版),方法是删除其目录树,然后查找(或使用脚本查找)/usr/local 中的损坏的符号链接并删除它们。
不如包管理好,因为没有数据库,也没有依赖关系检查,但对于现在需要手动安装的相对较少的包来说,它至少在某种程度上是可管理的。
撰写的评论
在许多安装中,只有“wheel”或“admin”组中的用户才具有 sudo 访问权限。因此您可能需要先将自己添加到该组中。
很棒的文章。 以下是一些读者可能感兴趣的补充要点。
我仍然偶尔会遇到未捆绑为软件包并且需要以老式方式安装的软件。 使用默认的 Makefiles 通常会将应用程序放置在 /usr/local/bin 或(更糟糕的是)/usr/bin 中。 这里的问题是,在安装了许多应用程序之后,可能很难识别 /usr/local(或 /usr)下的目录迷宫中哪些文件属于每个应用程序,这使得卸载应用程序而不会破坏某些东西变得困难。
为了解决这个问题,我使用了我认为曾经是一种常见的做法。 我创建了一个 /usr/local/package 目录,并将每个应用程序安装到其下自己的私有目录中。 每个的路径看起来像 /usr/local/package/packagename/version。 version 术语的存在是为了我可以一次安装多个版本。 我通常还创建从 /usr/local/package/packagename/latest 到最新版本的符号链接。
有了这个,我创建了一堆从 /usr/local/package/packagename/latest/... 到 /usr/local(/usr/local/bin、/usr/local/lib 等)下适当位置的符号链接。 这完成了两件事。 它允许我通过更改“latest”符号链接来切换版本(这样我可以尝试新版本并在出现问题时返回),并且它将应用程序的所有文件保存在一个地方。 因此,我可以卸载应用程序(或应用程序修订版),方法是删除其目录树,然后查找(或使用脚本查找)/usr/local 中的损坏的符号链接并删除它们。
不如包管理好,因为没有数据库,也没有依赖关系检查,但对于现在需要手动安装的相对较少的包来说,它至少在某种程度上是可管理的。