/usr/locale 和 /usr/local 有什么区别?

/usr/locale 和 /usr/local 有什么区别?

进入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=

相关内容