据我所知,在Windows以及Linux和Unix中,程序|应用程序|软件可以安装在任何目录中。此外,如果使用发行版的打包系统安装软件包,它会将文件放置在正确的位置。
但有时,软件安装会提示输入放置文件的路径。如果是 Linux 发行版,这个默认位置(C:\Program Files
或C:\progra~1
等效位置)在哪里?不同的发行版有不同吗?如果是,这将在哪里用于RHEL
、Suse
和Ubuntu
?
答案1
这Linux 文档项目有一个Linux 文件系统层次结构的描述他们解释了不同的文件夹及其(部分历史)含义。
正如 xenoterracide 已经指出的那样/bin
,/opt
它是可以与 Windows 上的“程序文件”进行比较的标准目录。
/bin
包含几个有用的命令,对系统管理员和非特权用户都有用。它通常包含bash
、等 shell 以及、、、、csh
等常用命令。cp
mv
rm
cat
ls
(引自 TLDP)
/opt
为所有不属于默认安装的软件和附加软件包保留。例如,StarOffice、Kylix、Netscape Communicator 和 WordPerfect 软件包通常可以在此处找到。
(引自 TLDP)
答案2
没有直接的等价物。目录结构有很大不同。在 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
[ ... ]
不要担心,通常当安装程序询问安装到哪里时,正确答案是以下之一:/
, /opt
, /usr
,/usr/local
正如您所看到的,几乎所有(1)个文件都根据一些简单的规则xscreensaver
安装在下面:可执行文件在 中,手册页在 中,文档在 中等等。/usr
/usr/bin
/usr/share/man
/usr/share/doc/packages/PROGRAMNAME
当安装人员要求安装时prefix
,通常它现在想要根据安装程序的路径。在我的xscreensaver
例子中,它是/usr
。
作为简单的规则:/
应仅包含启动系统所需的程序(如C:\windows\system32
),/usr/local
应包含仅在该唯一计算机上所需的程序,/opt
(2)所有选修的具有非标准目录结构和/usr
所有标准软件。
无论如何,它存在一个标准详细定义了所有这些规则:文件系统层次结构标准
(1) 系统范围的配置文件必须驻留在/etc
(2) Linux下相当过时
答案3
通常,/bin
、/usr/bin
、/usr/local/bin
、 或/opt/bin
。我认为/usr/bin
和/opt/bin
是最接近程序文件的,因为它们通常用于由系统管理员安装的非系统关键二进制文件,尽管与 Windows 不同,它们都包含使用包管理器安装的程序。哪里/usr/local/bin
是非发行版打包软件。/bin
适用于系统关键二进制文件,例如/bin/sh
.
答案4
正如其他人指出的那样,通过包管理器安装的程序分散在多个目录中。虽然二进制文件通常位于/usr/bin
,但系统范围的配置文件位于/etc
,等等。
如果应用程序不是通过包管理器安装的,则文件应安装在不会干扰包管理器的位置。这个地方是/usr/local
。
如果要求您提供安装路径,最常见的选择是/usr/local/appname