从安装角度看 /usr 和 /home 之间的区别

从安装角度看 /usr 和 /home 之间的区别

我不是 Linux 专业人士,我在想当我使用 Linux 时文件会存储在哪里apt-get install

我知道不同的 Linux 发行版的做法不同,但是我在这里只举一个一般的情况。

我读过路特文档,以及 stackexchange 上的其他答案。

现在,我的问题是,假设我有两个用户 A 和 B。

这意味着,我将有两个目录/home/A/home/B(对吗?)

现在,如果用户 A 安装任何东西,安装都不会进入主目录。但它们安装在/usr目录中。

/usr/bin现在,如果它使用任何进入的库/usr/lib等等,二进制文件就会进入。(对吗?)

因此,如果我以 A 身份登录B并尝试运行由 A 安装的程序,

  1. 我能运行它吗?所有因素都决定了这一点。
  2. 系统如何区分安装的软件/usr是由哪个用户安装的。我假设如果用户 B 现在安装了其他东西,那么与之相关的所有数据也将在/usr/目录中(对吗?)
  3. 另外,任何用户安装的任何软件包都不会进入/bin文件夹,对吗?这是特定于系统二进制文件的。
  4. 如果我的系统上没有用户怎么办?/usr 文件夹中是否没有文件?例如,在我的办公室,当我远程登录到服务器时,主目录中没有显示任何用户。

谢谢。

答案1

我能运行它吗?所有因素都决定了这一点。

是的。但是有没有因素?如果有,则可以执行。如果管理员想要阻止执行,则需要使用工具来阻止访问(acl就是其中一种工具)。

系统如何区分/usr下安装的软件是哪个用户安装的。

它不需要也不需要。管理员安装软件,用户使用它,默认情况下没有任何限制。

我假设如果用户 B 现在安装了其他东西,那么与之相关的所有数据也将在 /usr/ 目录中(对吗?)

如果 B 是普通用户,他不太可能安装,因为他需要管理员密码。如果 A 和 B 都是管理员,则由管理员安装软件(无论该管理员是用户 A 还是用户 B 都无所谓)。

需要存储设置或数据的软件会将其存储在用户主目录中。软件安装一次即可,但用户内容(设置、个人数据)会在所有用户的 /home 中共享。

另外,任何用户安装的任何软件包都不会进入 /bin 文件夹,对吗?这是系统二进制文件特有的。

是的。/bin应该没有任何非系统二进制文件。但这取决于安装的内容:它可能是具有系统二进制文件的软件,如果适用,它将最终位于 /bin 或 /sbin 中。

如果我的系统上没有用户怎么办?/usr 文件夹中是否没有文件?例如,在我的办公室,当我远程登录到服务器时,主目录中没有显示任何用户。

这并不意味着没有用户。如果你远程登录我的服务器,我会屏蔽我的 /home/。

每个 Linux 系统必须至少有 1 个用户。至少必须有一个管理员(可以是具有权限的root普通用户sudo)。

答案2

要当心,有些软件不用去/usr/bin,但会使用/opt/myprojet/home/myproject,你必须/opt/myproject/bin自己安装$PATH

默认情况下,大多数软件安装由 root 或 bin 拥有,并且任何人(示例中的 A 和 B )都可以使用它。

我认为某些软件(例如 Oracle)由不同的用户拥有,在这种情况下您(A 或 B)必须属于特定组。

相关内容