将软件安装到特定位置?

将软件安装到特定位置?

我对 Linux 还不太熟悉,至少对 Ubuntu 不太熟悉(我尝试过 tails 等其他系统,但主要用于网页浏览),一直在考虑从 Windows 迁移到 Linux。到目前为止一切顺利,但有一个问题:在 Windows 上,我通常将应用程序和其他东西组织到特定的文件\自定义安装位置,以便于访问和管理。例如,firefox、thunderbird 等将安装在“E:\myusername\apps”中(我将它们安装在单独的硬盘上),或者有时其他应用程序(如 virtualbox)将安装在“E:\myusername\Virtualization\Apps”中,等等。

但尽管读了其他问题,Linux 中与 Windows 的 Program Files 对应的是什么?如何了解Ubuntu文件系统布局?了解 Linux 文件系统的工作原理,以及其他与我的问题(至少有点)类似的问题,例如安装包到特定位置安装 chrome 到特定位置,似乎都没有回答我的具体问题。有没有办法将 Linux 应用程序组织到特定文件夹中?如果没有,还有其他方法可以更轻松地访问和管理 Linux 应用程序吗?

抱歉,我的问题太基础了,但迁移对我来说有点令人沮丧,尤其是当我有专门安排的应用程序之类的东西时,我只是想省去在配置或修改应用程序时浏览多个目录的麻烦。例如,WINE 将安装在 /opt/ 中,而 gparted 将安装在(我认为)/usr/share 和 /usr/bin 中,但它们都不会安装在一个特定位置。

编辑:固定链接

答案1

尝试重新定位软件的安装位置是一个非常糟糕的主意,特别是当你是第一次使用 Ubuntu 时

*NIX 和 Windows 有很大不同。Windows 软件往往包含所需的一切,但 Ubuntu 中的许多软件依赖于软件包(依赖项)之间的共享关系。*NIX 还具有相当严格的目录结构,并依赖于所有权和权限等来确保安全性和稳定性。这些概念在 Windows 中并不存在。

如果你是 Linux 新手,那么最好是先研究一下 Linux 的工作原理,而不是试图“逆流而上”。有了这种心态,你肯定会有更好的体验。

我还从字里行间感觉到了一个没有被问到的问题,它涉及如何安装软件。最好在 Ubuntu 软件中心找到软件(或学习使用apt)。许多新用户在添加一堆 PPA、下载大量.deb文件或尝试手动编译软件时遇到麻烦。这些是更高级的任务。并非所有 PPA 都一样,有些甚至会搞乱您的系统,特别是如果它们已过时或来自未定期审核的来源。请参阅:PPA 可以安全地添加到我的系统中吗?需要注意哪些“危险信号”?

对于 WINE,要知道 WINE 只是一个兼容层,允许你运行一些Windows 应用程序的结果和实现有时会有很大差异。

讽刺的是,许多新用户面临的最大困难之一源自 Linux 的最大优势之一:选择丰富。您可以自由地使用系统执行任何操作,网上有很多人发布关于做古怪事情的帖子,很难说清您应该做什么和不应该做什么。

绝对不要盲目地在终端中运行你在网上看到的网站或指南中的命令。研究每个命令是一个很好的学习机会,这样你就可以确切地知道它的作用以及这些操作的后果。记录你所做的任何不寻常的事情也是一个好主意,这样你就可以在需要的时候恢复这些更改。

如果出于某种原因,您的某个应用程序没有显示在应用程序列表中,您可以手动创建.desktop文件,这些文件类似于 Windows 中的应用程序快捷方式。 如果您希望文件可供所有用户使用,则.desktop可以将它们驻留在/usr/share/applications~/.local/share/applications如果您希望它们仅供您的用户使用,则为新应用程序创建 .desktop 文件

您还可以编辑现有.desktop文件来自定义这些快捷方式,如果您想使用不同的图标、更改其标签或添加新动作

因此,重申一下,学习时的一个好经验法则是尝试在 Ubuntu 的存储库中找到所需的软件。这些软件将经过严格测试,确保安全、稳定和完善。它们也很容易在系统搜索栏和应用程序列表中找到。

答案2

这是 Nmath 答案的“补充”,而不是“替代”。那里的一切都非常正确。

在 Windows 上不将任何东西安装到“C:”或“C:\Program Files”的主要原因之一是“如果出现问题(或者每 18 个月左右,为了积极主动),您始终要做好重新安装的准备,并且当出现问题时,您希望‘您的资料’在其他地方。”另一个原因是“如果您的程序做了一些愚蠢的事情并占用了所有 C:\ 磁盘空间,那么不仅是该程序,而且您的系统会完全崩溃。”

Unix 针对这两个问题的解决方案是使用单独的分区/挂载点。/home 位于与 / 不同的分区上,日志分区、数据分区也是如此(如果需要)。需要完全重新安装吗?当然,系统分区将被清除,但 /home 仍在那里,里面有您所有的东西。

总体而言,非“系统”程序会自行安装到 /opt 或 /opt/local,而不是 /。这也可以是不同的分区(但在重建系统分区时,请查看 Nmath 指出的潜在依赖性问题。)许多过去存在严重依赖性不匹配问题的程序已转移到该snap模型,它们在该模型中获得自己的整个微型环境,其中包含其他任何程序未使用的依赖项的版本。请同时使用这两个,因为它们还解决了“Windows 中一切都在 C 上”的一些问题。

请注意,您可以只为自己安装程序,这些程序通常会安装在主目录的某个子目录中,即 ~/bin 或 ~/opt/bin 或任何其他目录中。但请注意,这不是系统推荐的行为,只是您(非特权用户)在我的系统上安装您最喜欢的工作工具的一种方式,而不会打扰我或我的任何其他用户。当然,如果您愿意,您可以将 ~/bin 符号链接到其他位置,甚至将其挂载到其他位置 - 例如,我肯定将 ~/my_stuff 符号链接到其自己的网络驱动器,因为我希望它可以从我的所有计算机访问(并以不同于 ~ 的方式备份)。但 ~/bin 中的内容应该只是撰稿,而不是系统应用程序/实用程序。

答案3

Linux 中不同事物的归属有标准。所有主要发行版大多遵循这些标准……嗯……除了 Ubuntu 的 snap 包以及 snap 包可以请求访问数据的地方。但那是另一个问题。

“文件系统层次结构标准”很容易在网上找到,但对于除了最严肃的人之外的所有人来说,关于该主题的维基百科文章及其包含的表格就足够了。以下是链接: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

存储管理是一个很大的话题,有许多不同的解决方案可以满足不同的需求。企业存储功能已成为 Linux 系统的一部分,已有 20 多年历史,可以解决几乎所有的存储问题。通过仔细规划,大多数问题都可以在不停机的情况下解决,尽管大多数家庭 Linux 用户对学习 ZFS 或 LVM 并不那么感兴趣。

相关内容