进入root模式后/usr
,发现以下目录。
swapnil@swapnil-Inspiron-3541:~$ sudo su
[sudo] password for swapnil:
root@swapnil-Inspiron-3541:/home/swapnil# cd /usr
root@swapnil-Inspiron-3541:/usr# ls
bin games include lib local locale sbin share src
bin
我知道和之间的区别,sbin
但需要local
和方面的帮助locale
。
答案1
在 Ubuntu 等发行版中,/usr
是软件包应该安装东西的地方,也是/usr/local
系统管理员可以在软件包系统之外安装东西的地方。从文件系统层次标准:
供系统管理员在本地安装软件时使用。它
/usr/local hierarchy
需要确保在系统软件更新时不会被覆盖。它可用于可在主机组之间共享但在 中找不到的程序和数据/usr
。本地安装的软件必须放在 内,
/usr/local
而不是内/usr
,除非是为了替换或升级 中的软件而安装的/usr
。
/usr/locale
似乎是打包时出错了。它包含一些 Unity 镜头使用的文本的翻译,但这些应该放在 中/usr/share
。例如,以下是 的目录结构/usr/locale
:
~ find /usr/locale
/usr/locale
/usr/locale/da
/usr/locale/da/LC_MESSAGES
/usr/locale/da/LC_MESSAGES/unity-lens-files.mo
/usr/locale/da/LC_MESSAGES/unity-lens-applications.mo
在 中/usr/share/locale
,可以找到数百个这样的文件:
$ find /usr/share/locale | head
/usr/share/locale
/usr/share/locale/tig
/usr/share/locale/tig/LC_MESSAGES
/usr/share/locale/tig/LC_MESSAGES/iso_639_3.mo
/usr/share/locale/tig/LC_MESSAGES/iso_3166.mo
/usr/share/locale/tig/LC_MESSAGES/iso_639.mo
/usr/share/locale/hsb
/usr/share/locale/hsb/kf5_entry.desktop
/usr/share/locale/hsb/LC_MESSAGES
/usr/share/locale/hsb/LC_MESSAGES/kjobwidgets5_qt.qm
软件包不应该在 的顶层创建更多目录/usr
。这似乎是一个无害的错误。如果您愿意,可以报告它。
答案2
本地意味着您本地的机器 - 仅与当前机器相关的文件。您会发现 /usr/local/bin/ 是本地 [公司、雇主|组织等] 箱(不是系统或发行版相关的安装,通常放在 /bin 或 /sbin 中),但那里可能没有太多东西 [特别是如果是家用电脑]
区域设置意味着它与您的区域设置(地理区域)相关,包括语言、货币符号等,但可能包含与您交互的其他区域相关的文件...如果您想查看适用的信息;输入命令locale
,您将得到类似的信息
LANG=en_AU.UTF-8 LC_CTYPE="en_AU.UTF-8" LC_NUMERIC="en_AU.UTF-8" LC_TIME="en_AU.UTF-8" LC_COLLATE="en_AU.UTF-8" LC_MONETARY="en_AU.UTF-8" LC_MESSAGES="en_AU.UTF-8" LC_PAPER="en_AU.UTF-8" LC_NAME="en_AU.UTF-8" LC_ADDRESS="en_AU.UTF-8" LC_TELEPHONE="en_AU.UTF-8" LC_MEASUREMENT="en_AU.UTF-8" LC_IDENTIFICATION="en_AU.UTF-8" LC_ALL=