Linux常用命令程序的安装与管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令程序的安装与管理相关的知识,希望对你有一定的参考价值。

    Linux常用命令(四)程序的安装与管理


一、Linux应用程序基础


1Linux应用程序的组成

■普通的可执行程序文件。一般保存在“/usr/bin”目录中,普通用户即可执行。

■服务器程序、管理程序文件。一般保存在“/usr/sbin”目录下,只有管理员能执行。

■配置文件。一般保存在“/etc”目录中,配置文件较多时会建立相应的子目录。

■日志文件。一般保存在“/var/log”目录中。

■关于应用程序的参考文档等数据。一般保存在“/usr/share/doc/”目录中。

■执行文件及配置文件的man手册页。一般保存在“/usr/share/man/”目录中。

 

2、软件包的封装类型

RPM软件包:文件的扩展名为“.rpm”,只能在RPM机制的Linux操作系统中安装。RPM软件包一般针对特定版本的系统量身定制,因此依赖性比较强。安装RPM包需要使用系统中的rpm命令。


DEB软件包:文件的扩展名为“.deb”,只能在使用DPKG机制的Linux操作系统中进行安装,如DebianUbuntu等。安装DEB软件包需要使用系统中的dpkg命令。


■源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”、“.tar.bz2”等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为“TarBall”。安装源码软件包需要使用相应的编译工具,如Linux中的C语言编译器gcc


■附带安装程序的软件包:软件包中会提供用于安装的可执行程序或脚本文件,如install.shsetup等,有时候会以“.bin”格式的单个安装文件形式出现。只需运行安装文件就可以根据向导程序的提示完成安装操作。


■绿色免装程序:此类软件已经配置安装完毕,可以直接打开使用。


二、使用RPM包管理工具

1RPM概述

RPM软件的官方下载站点为http://www.rpm.org

使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用

软件名一软件版本一发布次数.操作系统类型.硬件架构类型.rpm

 

2、使用RPM包管理命令——rpm

rpm命令具有相当复杂的命令格式,结合不同的命令选项及子选项主要可以实现以下三类功能。


■查询、验证rpm软件包的相关信息。

■安装、升级、卸载RPM软件包。

■维护RPM数据库信息等综合管理操作。

 

2.1)、查询RPM软件包信息

不带选项的“-q”选项可用于查询已知名称的软件包是否已经安装,需要使用准确的软件名作为参数(可以是多个)。结合不同的子选项使用时,可以实现更具体的查询。

–qa:显示当前系统中以RPM方式安装的所有软件列表。

–qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息。

–ql:显示指定的软件包在当前系统中安装的所有目录、文件列表。

–qf:查看指定的文件或目录时由哪个软件包所安装的。

使用RPM命令只能查询通过rpm方式安装的软件包信息。

2.2)、查询RPM包文件中的相关信息

使用“-qp”选项时,必须以RPM包文件的路径作为参数(可以有多个),而不是软件包的名字。

–qpi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息。

–qpl:查看该软件包贮备要安装的所有目标目录、文件列表。

 

2.3)、安装、升级、卸载RPM软件包

–i:在当前系统中安装一个新的RPM软件包。

–e:卸载指定名称的软件包。

–U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项。

–F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装。

--force:强制安装某个软件包,当需要替换现已安装的软件包及文件,或者安装一个比当前使                           用的软件版本更旧的软件时,可以使用此选。(一般不建议使用)

--nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

–h:在安装或升级软件包的过程中,以“#”号显示安装进度。

–v:显示软件安装过程中的详细信息。

一般安装软件时使用“rpm -ivh

 

2.4)、维护RPM数据库

■重建RPM数据库

[[email protected] ~]# rpm --rebuilddb


或者

[[email protected] ~]#rpm --initdb


2.5)、导入验证公钥

Linux/UNIX应用领域,相当一部分软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说,可以利用软件官方提供的公钥文件,自动对下载的软件包进行验证,若在安装软件时出现验证失败的提示,则表示该软件包可能已经被非法篡改了。

先把系统光盘挂载到/media中,执行命令:

[[email protected]~]#rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release


三、从源代码编译安装程序

1、解包

开源软件的源代码一般为TarBall形式,扩展名为“.tar.gz”或“.tar.bz2”,都可以使用tar命令进行解压释放。对于只有“.gz”扩展名的源代码包,表示只经过压缩而并未使用tar归档,直接使用gzip进行解压缩。解压时通常将各种软件的源代码目录保存到“/usr/src/”目录中,以便于集中管理。释放后的软件包目录一般都会包括软件名和版本信息。解包前先安装编译环境和依赖包。(安装apache之前需要将系统上装好的apache服务先卸掉。

httpd……tar.gz文件解包到/usr/src/目录中。

[[email protected]~]#tar zxf httpd-2.2.15.tar.gz –C /usr/src/
[[email protected]~]#ls /usr/src/
debug  httpd-2.2.15 kernels


 

2、配置

配置需要进入源代码目录,对软件的安装目录、功能选择等参数进行预先配置。

配置工作通常由源代码目录中的“configure”脚本文件来完成,可用的各种配置参数可以通过在源代码目录中执行“./configure --help”进行查看。对不同的软件程序来说,配置参数会存在区别,但是有一个“--prefix”形式的参数,却是大多数开源软件通用的,该配置参数用于指定软件包安装的目标文件夹。如果没有指定任何配置参数,“configure”脚本将采用软件默认的值进行配置。

[[email protected]~]#cd /usr/src/httpd-2.2.15/
[[email protected] httpd-2.2.15]#./configure  --prefix=/usr/local/apache/


 

3、编译

编译的过程主要是根据Makefile文件内(因此,若上一步的配置操作失败,将无法进行编译)的配置信息,将源代码文件进行编译而生成二进制的程序模块、动态链接库、可执行文件等。配置完成之后,只要在源代码目录中执行“make”命令即可执行编译操作。编译的过程比配置需要更长的时间,期间会显示大量的执行过程信息。(还要注意软件支持的系统级别时32位的还是64位的。)

[[email protected] httpd-2.2.15]#make


 

4、安装

编译完成后,就可以执行“make install”命令将软件的执行程序、配置文件、帮助文档等相关文件复制到Linux系统中了,即应用程序的最后“安装”过程。安装过程需要的时间相对要短些。

[[email protected] httpd-2.2.15]#make install


有时候为了便捷,上述的编译、安装步骤可以写成一行命令执行,中间使用“&&”符号分隔即可。例如:

[[email protected] httpd-2.2.15]#make && make install


表示“make”命令执行成功以后再执行“make install”命令,否则将忽略“make install”命令

 

5、使用

安装后使用需先配置文件。

[[email protected] httpd-2.2.15]#vim/usr/local/apache/conf/httpd.conf


修改配置文件httpd.conf的第97行,将前边的“#”号去掉,保存退出。

然后启动Apache

[[email protected] httpd-2.2.15]#/usr/local/apache/bin/apachectl start


装了lynx的运行(没装lynx需要插上系统光盘安装lynx)

[[email protected] httpd-2.2.15]#lynx 127.0.0.1


查看本机Apache运行状态,如果看到“It works!”字样表明Apache已经工作正常了。

本文出自 “侯良金” 博客,请务必保留此出处http://houliangjin.blog.51cto.com/13112910/1963299

以上是关于Linux常用命令程序的安装与管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux/Centos7安装与管理程序

Linux/Centos7安装与管理程序

安装Linux系统与常见命令

Linux常用命令——lilo命令

Linux学习:软件包管理+常用命令

大数据技术学习路线,该怎么学?