CentOS命令:程序安装【rpm、make】
目录
参考:
# CentOS命令:程序安装【rpm、make】
# rpm 方式
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表所示的目录中。
表:RPM 包默认安装路径
安装路径 | 含义 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令文件安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
RPM 包的默认安装路径是可以通过命令查询的。
RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别)。
# make方式:编译安装
在CentOS中,当使用make install
命令安装软件而不指定安装目录时,默认的安装路径会根据软件的具体配置和编译选项而有所不同。然而,一般来说,有几个常见的默认安装路径:
/usr/local/bin
:对于大多数使用make install
编译安装的软件,其可执行文件(如程序本身)通常会默认安装在/usr/local/bin
目录下。这个目录是系统为本地安装的软件保留的bin目录,与/usr/bin
(系统级别的软件安装目录)区分开来。/usr/local/lib
:库文件(.so文件等)则可能默认安装在/usr/local/lib
目录下。这同样是一个为本地安装的软件保留的库文件目录。/usr/local/include
:头文件(.h文件)可能会默认安装在/usr/local/include
目录下,供其他程序或库在编译时引用。/usr/local/share
:一些共享数据(如文档、配置文件模板等)可能会放在/usr/local/share
目录下。
需要注意的是,这些默认路径并不是绝对的,因为软件开发者可以在软件的Makefile
或安装脚本中指定不同的安装路径。此外,一些软件可能会提供配置选项(如./configure --prefix=/path/to/install
),允许用户在编译安装前指定安装目录。
为了确认某个特定软件的默认安装路径,你可以查看该软件的文档、Makefile
文件或安装脚本中的注释和说明。如果这些信息不足以确定安装路径,你还可以尝试在编译安装前运行make install
命令的“干运行”版本(如make install DESTDIR=/tmp/fakedestdir
,其中/tmp/fakedestdir
是一个不存在的目录,用于模拟安装过程而不实际安装文件),以查看安装过程中会访问哪些目录。
最后,如果软件已经安装,但你不确定其安装位置,可以使用whereis
命令(如whereis programname
)或find
命令(如find / -name programname
,但请注意,这个命令可能会非常耗时,因为它会搜索整个文件系统)来查找软件的可执行文件、库文件或配置文件等。
在CentOS系统中,/usr/local/
目录主要用于存放第三方软件或用户自定义的软件安装位置。这个目录及其下的文件夹通常包含了一些特定功能的文件和目录。以下是一个表格,列出了/usr/local/
下常见文件夹及其通常的作用:
文件夹名称 | 作用描述 |
---|---|
/usr/local/bin | 存放用户级的可执行文件,这些文件通常是用户自行安装的软件或脚本。这些程序对于所有用户都是可用的。 |
/usr/local/etc | 存放用户级软件的配置文件。这些配置文件是用户安装的软件所需要的,与/etc 目录下的系统级配置文件不同。 |
/usr/local/games | 存放用户级游戏的目录(如果系统中安装有用户级游戏)。但需要注意的是,在大多数现代Linux发行版中,这个目录可能不再使用。 |
/usr/local/include | 存放C/C++等编程语言的头文件,这些头文件是编译用户级软件时可能需要的。 |
/usr/local/lib | 存放用户级软件的库文件,这些库文件是程序运行时所需要的。这些库文件可能是动态链接库(.so文件)或静态库(.a文件)。 |
/usr/local/man | 存放用户级软件的手册页(man pages),这些手册页提供了软件的帮助信息。 |
/usr/local/sbin | 存放系统管理员级别的可执行文件,这些文件通常是由用户安装的,但仅对具有特定权限(如root)的用户开放。 |
/usr/local/share | 存放用户级软件的共享文件,如文档、示例代码等。这些文件可以被多个用户或程序共同访问。 |
/usr/local/src | 存放软件源代码的目录,这些源代码可能是用户下载的,用于编译和安装软件。编译完成后,源代码可以保留在此目录下作为备份。 |
请注意,这些目录的存在和具体作用可能会因CentOS的不同版本或用户的自定义设置而有所不同。此外,/usr/local/
目录下的文件夹并不是固定的,用户可以根据自己的需要创建新的文件夹来组织和管理软件。