Tho*_*mas 65 suse ubuntu rhel software-installation directory-structure
我知道在Windows以及Linux和Unix中,程序|应用程序|软件可以安装在任何目录中。此外,如果使用发行版的打包系统安装包,它会将文件放置在正确的位置。
但有时,软件安装会提示输入放置文件的路径。如果是 Linux 发行版,此默认位置(C:\Program Files或C:\progra~1等效位置)在哪里?不同的发行版有什么不同吗?如果是,这将用于RHEL,Suse和Ubuntu?
Axe*_*auf 60
在Linux文档项目有Linux文件系统层次结构的描述,他们解释不同的文件夹和它们(这部分的历史)的意义。
正如 xenoterracide 已经指出的那样/bin,/opt它们是可以与 Windows 上的“程序文件”进行比较的标准目录。
/bin包含几个有用的命令,对系统管理员和非特权用户都有用。它通常包含像贝壳bash,csh等....和常用的命令一样cp,mv,rm,cat,ls。
(引自 TLDP )
/opt保留用于不属于默认安装的所有软件和附加包。例如,StarSuite、Kylix、Netscape Communicator 和 WordPerfect 软件包通常可以在这里找到。
(引自 TLDP )
and*_*coz 45
没有直接的等价物。目录结构非常不同。在 Windows 下,每个安装的包/软件都有一个单独的目录,其中包含与(例如C:\Program Files\MyProgram)相关的所有文件。在 Linux 下,根据文件类型和其他一些规则,每个软件都“分散”在许多目录中。
例如,我们可以检查与xscreensaver程序相关的不同文件的安装位置:
/etc/pam.d/xscreensaver
/etc/xscreensaver
/etc/xscreensaver/README
/usr/bin/xscreensaver
/usr/bin/xscreensaver-command
/usr/bin/xscreensaver-demo
/usr/bin/xscreensaver-gl-helper
/usr/share/X11/app-defaults/XScreenSaver
/usr/share/applications/xscreensaver-properties.desktop
/usr/share/doc/packages/xscreensaver
/usr/share/doc/packages/xscreensaver/README
/usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
[ ... ]
/usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
/usr/share/man/man1/xscreensaver-command.1.gz
/usr/share/man/man1/xscreensaver-demo.1.gz
/usr/share/man/man1/xscreensaver.1.gz
/usr/share/man/man6/xscreensaver-gl-helper.6x.gz
/usr/share/pixmaps/xscreensaver.xpm
/usr/share/xscreensaver
/usr/share/xscreensaver/glade
/usr/share/xscreensaver/glade/screensaver-cmndln.png
/usr/share/xscreensaver/glade/screensaver-colorselector.png
[ ... ]
Run Code Online (Sandbox Code Playgroud)
不用担心,通常当安装人员询问安装位置时,正确答案是以下之一:/, /opt, /usr,/usr/local
如您所见,几乎所有 (1) 文件xscreensaver都/usr根据一些简单规则安装:可执行文件在/usr/bin,手册页在/usr/share/man,文档在/usr/share/doc/packages/PROGRAMNAME等等。
当安装程序要求安装时prefix,通常它现在想要安装程序的基本路径。在我的xscreensaver例子中,它是/usr.
作为一个简单的规则:/应该只包含启动系统所需的程序(as C:\windows\system32),/usr/local应该包含仅在该唯一计算机上需要的程序,/opt(2)所有具有非标准目录结构的可选程序和/usr所有标准软件.
在任何情况下,它存在一个标准定义详细所有这些规则:文件系统层次标准
(1) 系统范围的配置文件必须驻留在 /etc
(2) 在 Linux 下相当过时
xen*_*ide 12
通常,/bin, /usr/bin, /usr/local/bin, 或/opt/bin。我认为/usr/bin并且/opt/bin最接近 Program Files,因为它们通常用于由系统管理员安装的非系统关键二进制文件,尽管与 Windows 不同,这两个文件都包含使用包管理器安装的程序。/usr/local/bin非发行版打包软件在哪里。/bin适用于系统关键二进制文件,如/bin/sh.
正如其他人指出的那样,通过包管理器安装的程序分散在多个目录中。虽然二进制文件通常位于/usr/bin中,但系统范围的配置文件位于 中/etc,依此类推。
如果应用程序不是通过包管理器安装的,则文件应安装在不会干扰包管理器的位置。这个地方是/usr/local。
如果要求您提供安装路径,最常见的选择是/usr/local/appname