Linux环境下安装及管理程序(软件包封装、RPM命令、源代码编译安装的基本过程)
应用程序命令的执行文件大多比较小,通常放置在/bin和/sbin目录中。对于内部命令,常集成在Bash程序内,而不是独立地执行文件。
命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理。
命令行大多适用于“命令字 选项 参数”形式的一般格式。
命令只在字符操作界面中运行。
应用程序的执行文件通常放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin等目录中。
应用程序一般需要在操作系统之外再另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念。
应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义。
应用程序可能会使用到图形界面,形式多样。
有些应用程序提供的执行文件,能够使用像Linux命令一样的运行格式,所以也经常称为程序命令。
普通的可执行程序文件:一般保存在"/usr/bin"目录中,普通用户即可执行。
服务器程序、管理程序文件:一般保存在"/usr/sbin"目录中,只有管理员能执行。
配置文件:一般保存在"/etc"目录中,配置文件较多时会建立相应的子目录。
日志文件:一般保存在"/var/log"目录中。
关于应用程序的参考文档等数据:一般保存在"/usr/share/doc/"目录中。
执行文件及配置文件的man手册页:一般保存在"/usr/share/man/"目录中。
对于各种应用程序的软件包,在封装时可采用不同的类型,不同类型的软件包其安装方法也不同。
常见的软件包封装类型:
RPM软件包:这种软件包文件的扩展名为".rpm",只能在使用RPM软件包管理器机制的Linux操作系统中安装,对特定版本的系统量身定制,依赖性比较强。安装RPM包需要使用系统中rpm命令。
DEB软件包:这种软件包文件的扩展名为".deb",只能在使用DPKG机制的Linux操作系统中进行安装,如Ubuntu,安装DEB软件包需要使用dpkg命令。
源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作为".tar.gz"和".tar.bz2"等格式的压缩包文件。
移植附带安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多,用于安装的可执行程序或脚本文件,如install.sh、setup等,只需运行安装文件就可以根据向导程序的提示完成安装操作。
RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之前的依赖关系。
一般使用"软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm"的文件名形式表示;
查询、验证RPM软件包的相关信息。
安装、升级、卸载RPM软件包。
维护RPM数据库信息等综合管理操作。
man rpm | 获得关于rpm命令的详细帮助信息。 |
-qa | 显示当前系统中以RPM方式安装的所有软件列表。 |
-qi | 查看指定软件包的名称、版本、许可协议、用途描述等。 |
-ql | 显示指定的软件包在当前系统中安装的所有目录、文件列表。 |
-qf | 查看指定的文件或目录是由哪个软件包所安装的。 |
-qp | 针对尚未安装的RPM包文件进行查询。 |
-qpl | 查看该软件包准备要安装的所有目标目录、文件列表。 |
-i | 在当前系统中安装一个新的rpm软件包。 |
-e | 卸载指定名称的软件包。 |
-U | 检查并升级系统中的某个软件包,若软件包未安装,则等同于“-i”选项 |
-F | 检查并更新系统中的某个软件包,若软件包未安装,则放弃安装。 |
--force | 强制安装某个软件包。需要替换现已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项。 |
--nodeps | 在安装或升级卸载软件包时,不检查与其他软件包的依赖关系。 |
-h | 在安装或升级软件包的过程中,以“#”号显示安装进度。 |
-v | 显示软件安装过程中的详细信息。 |
获得所需安装的软件源代码以后,安装的基本过程包括解包、配置、编译及安装的步骤,具体流程图如下:
解包:开源软件的源代码包一般为tarball形式,扩展名为“.tar.gz”或“.tar.bz2”,可以使用tar命令进行解压缩。对于只有“.gz”扩展名的源代码包,表示只经过压缩而并未使用tar归档,这样的文件只需使用gzip命令进行解压缩。
配置:配置工作由源代码目录中的“configure”脚本文件来完成,可用的各种配置参数可以通过在源代码目录中执行“./configure --help”进行查看。对于不同的软件程序来说,其配置蚕食会存在区别,但是“--prefix”形式的参数,大多数开源软件通用,该配置参数用于指定的软件包安装的目标文件夹。
编译:编译过程主要是根据makefile文件内的配置信息,将源代码文件进行编译而生成二进制的程序模块、动态链接库、可执行文件等。配置完成后,只要在源代码目录中执行“make”命令即可进行编译操作。
安装:编译完成后,执行“make install”命令将软件的执行程序、配置文件、帮助文档等相关文件复制到系统中,即应用程序的最后“安装”过程。为方便起见,上述的编译、安装步骤可以写成一行命令执行,中间使用“&&”符号分隔。make && make install
Linux下MySQL基本操作
IT行业技术圈
专注分享技术干货、学习资源、实用工具等,欢迎关注,共同进步!