如何设置sudo apt-get安装路径

Dev*_*oid 4 apt

我使用的是 Ubuntu 12.04,但无法使用 apt-get 找到我安装软件的位置。在破折号中,如果我输入 eclipse 或它出现的软件名称,但我无法右键单击它并打开文件夹位置。有谁知道如何使用破折号找到特定软件的确切安装位置。还可以在使用 apt-get 时将软件设置为安装到特定位置。

Eli*_*gan 5

概括

  1. 你不应该,而且基本上不能,让包管理器把任何文件放在除了它的默认位置之外的任何地方。
  2. 您可以使用该命令或通过在 Nautilus 中搜索来找到几乎任何程序(即可执行文件本身)的位置。which filename

细节

您不能更改默认位置以使用apt-get、软件中心或 Ubuntu 中的其他包管理工具安装软件。您可以在任何地方手动检索包并提取它们的文件,但您几乎肯定不想这样做。一般来说,这很麻烦,通常没有理由这样做。

  • 如果您认为这样做会受益,请在您的问题中添加详细信息,说明为什么,以及您需要完成什么。做到这一点的最佳方法将取决于此,另外可能还有您没有考虑过的替代方案。

包在整个文件系统中安装文件,主要在/usr. 这符合文件系统层次结构标准,该标准指定了与安装的程序和库相关联的不同类型的文件在 GNU/Linux 系统(即,在“Linux 发行版”,如 Ubuntu)中的位置。

  • 可执行文件本身主要在/usr/bin. 这eclipseeclipse在 Ubuntu 上安装软件包时安装可执行文件的位置。
  • 游戏的可执行文件通常会进入/usr/games
  • 系统服务(如 NetworkManager)的可执行文件通常会进入/usr/sbin。(s代表“系统”。这些是“系统二进制文件”。)
  • 图书馆大多进去/usr/lib
  • 如果您使用的是 64 位 Ubuntu 系统,则 32 位库(安装以支持 32 位可执行文件,因为 64 位系统可以同时运行 64 位和 32 位程序)大多进入/usr/lib32.
  • 头文件有助于从链接到已安装库的源代码构建软件,它们大多以/usr/include. 这些文件由名称以-dev. 例外是用于构建内核模块的头文件——那些进入/usr/src.
  • 系统范围内使用的软件包安装的源代码主要在/usr/src. 用于构建内核模块的头文件也放在这里。
  • 用于已安装程序和库的系统范围数据文件(即,不是可执行代码,而是数据),当它与体系结构无关(例如,不依赖于您使用的是 32 位还是 64 位处理器)时,大多数情况下在/usr/share。请注意,这是用于除非包本身更新时保持不变的数据文件,而不是您创建的文档。例如,拼写检查字典的主列表(但不是用户特定的添加)通常会进入/usr/share.
  • 几乎每个包(以及大多数未通过包管理器安装的软件)的系统范围配置文件都放在/etc.

你会注意到我一直在说“通常”。这是因为:

  • 核心系统文件,包括系统运行最重要的程序和库,不要进入/usr. 它们位于其/自身的相应子目录中。例如,提供基本系统实用程序的核心文件放在/sbin. 提供基本“用户”实用程序的核心系统文件,如系统默认提供的外壳,进入/bin. 核心库进入/lib. 等等。
  • 有时,包可能会在其他位置安装文件。最常见的这样的地方是/opt。的主要目的/opt是存储 (1) 选择不将文件分散到文件系统层次结构中的普通位置的程序,而是将它们全部存储在单个目录中(无论这些程序是否使用包管理器安装),以及(2) 由二进制安装程序安装的程序,不是通过包管理器安装的,并且没有与之关联的包。(通过用户从源代码手动构建而安装的供系统使用的程序通常安装在/usr/local.

有几种方法可以搜索 Ubuntu 软件包提供的可执行文件和其他文件。

  • 我不知道有什么方法可以使用 Unity Dash 以可访问的方式告诉您程序的位置。但是您可以使用图形文件浏览器 Nautilus 以图形方式完成此操作。

    1. 打开 Nautilus 窗口并按Ctrl+ F(或单击前往>搜索文件...)。
    2. 输入您要搜索的内容(在本例中为eclipse),然后按Enter
    3. 默认情况下,这将仅在此特定 Nautilus 窗口中打开的文件夹中进行搜索。但是你可以改变它。搜索后,将Location更改为Filesystem(或更改为您想要搜索的任何位置,您甚至可以指定自定义搜索位置/usr)并单击Reload

    在 Nautilus 中搜索 Eclipse 的文件系统

    这是您在系统上搜索文件的一般方式(即,不仅仅是由 Ubuntu 软件包提供的文件),并能够获取有关它们的详细信息。

  • 使用终端(Ctrl+ Alt+ T),你可以找到像日食可执行文件which

      which eclipse
    
    Run Code Online (Sandbox Code Playgroud)

    which告诉您如果您键入 eclipse 并在终端中按 Enter 键,将运行哪个可执行文件(如果有)。当您在 Unity dash 中搜索相同的内容时,这通常(但不总是)与第一个搜索结果相同。

  • 使用终端,您可以快速查找文件locate(因为保存列表的数据库会定期更新)。当您要查找由包提供但实际上不是可执行文件的文件时,这尤其有用。

      locate eclipse
    
    Run Code Online (Sandbox Code Playgroud)
  • 您可以通过在Ubuntu的软件包提供的文件中搜索packages.ubuntu.com还有其他方法。


小智 2

我担心不可能从仪表板上做到这一点。如果你想知道可执行路径在哪里,可以使用which命令:

which eclipse
Run Code Online (Sandbox Code Playgroud)

但这可能会指向某个“bin”目录,而不是包含数据的目录。这是因为软件组件不是安装在单个目录中,而是安装在多个文件夹中。二进制文件根据其用途保留在 /usr/bin/、/bin、/sbin 等中。/etc 中的配置,/usr/share 中的数据,等等。当您通常没有单文件夹安装时,请参阅此文档了解文件系统层次结构标准及其原因。由于 apt 遵循 FHS,据我所知,不可能强制它安装在不同的位置。

那么关于eclipse安装在哪里,这取决于你要搜索的是eclipse的哪一部分。常见的需要是安装插件,这些插件存储在:/usr/lib/eclipse/plugins 下。无论如何,我通常更喜欢集成的插件管理器。