Linux初级介绍之Linux的安装及管理程序——-rpm、yum

Linux应用程序基础

应用程序与系统命令的关系

角色 系统命令 应用程序
文件位置 一般在/bin和/sbin目录中,或为Shell内部指令 通常在/usr/bin和/usr/sbin目录中
主要用途 完成对系统的基本管理工作,例如IP配置工具 完成相对独立的其他辅助任务,例如网页浏览器
适用环境 一般只在字符操作界面中运行 根据实际需要,有些程序可在图形界面中运行
运行格式 一般包括命令字、命令选项和命令参数 通常没有固定的执行格式

典型应用程序的目录结构

文件类型 保存目录
普通执行程序文件 /usr/bin
服务器执行程序文件和管理程序文件 /usr/sbin
应用程序配置文件 /etc
日志文件 /var/log
应用程序参考文档文件 /usr/share/doc
应用程序手册页文件 /usr/share/man

常见的软件包封装类型

文件类型 保存目录
RPM软件包 扩展名为“.rpm”
DEB软件包 扩展名为“.deb”
源代码软件包 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包
包含程序的原始代码
绿色免安装的软件包 软件包的扩展名不一,以TarBall格式的居多;在压缩包内提供已编译好的执行程序文件;解开压缩包后的文件即可直接使用

RPM包管理工具

Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系

RPM软件包

软件素材参考:http://www.rpm.org
一般命名格式:
bash-4.1.2-15.el6_4.x86_64.rpm
bash软件名称-4.1.2版本号-15发布次数-x86_64硬件平台-rpm扩展名

rpm命令的格式

rpm命令能够实现几乎所有对RPM软件包的管理功能

执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
rpm命令功能

查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护RPM数据库信息等综合管理操作

查询RPM软件包信息

查询已安装的 RPM 软件信息

rpm  -q[子选项]  [软件名]

常用选项

-q 查询指定软件是否已安装
-qi 显示已安装的指定软件的详细信息
-ql 显示已安装的指定软件的文件列表
-qc 列出已安装的指定软件的配置文件
-qd 列出已安装的指定软件的软件包文档所在位置
-qR 列出已安装的指定软件的依赖的软件包及文件
-qf 查询已安装的指定软件属于哪个安装包
-qa 显示当前系统中以 rpm方式安装的所有软件列表
-qa grep -i postfix

查询未安装的 RPM 软件包文件中信息

rpm  -qp[子选项]  RPM包文件

常用选项

-qpi 查询指定软件包的详细信息
-qpl 查询指定软件包的文件列表
-qpc 查询指定软件包的配置文件
-qpd 查询指定软件包的软件包文档的位置

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

安装或升级RPM软件

rpm  [选项]  RPM包文件 ...

常用选项

-i 安装一个新的 RPM 软件包
-U 升级某个软件包,若未安装过,则进行安装
-F 升级某个软件包,若未安装过,则放弃安装
-h 在安装或升级软件包的过程中,以“#”号显示安装进度
-v 显示软件安装过程中的详细信息
–force 强制安装某个软件包,比如要安装版本更旧的软件包
-e 卸载指定名称的软件包
–nodeps 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系

维护RPM数据库

重建RPM数据库
当 RPM 数据库发生损坏,可通过 重建RPM数据库 修复

[root@localhost ~]# rpm --rebuilddb

或者

[root@localhost ~]# rpm --initdb

导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件

[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7

解决软件包依赖关系方法

安装有依赖关系的多个软件时

被依赖的软件包需要先安装
可同时指定多个 .rpm 包文件进行安装

卸载有依赖关系的多个软件时

依赖其他程序的软件包需要先卸载
可同时指定多个软件名进行卸载

忽略依赖关系

结合“–nodeps”选项,但可能导致软件异常

源代码编译概述

使用源代码安装软件的优点:

获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能

应用场景使用简单举例:

安装较新版本的应用程序时
当前安装的程序无法满足需要时
需要为应用程序添加新的功能时

Tarball封包

.tar.gz和.tar.bz2格式居多
软件素材参考:http://sourceforge.net

完整性校验

md5sum校验工具

[root@localhost ~]# md5sum httpd-2.4.25.tar.gz 
24fb8b9e36cf131d78caae864fea0f6a  httpd-2.4.25.tar.gz

确认源代码编译环境

需安装支持C/C++程序语言的编译器,如:gcc、gcc-c++、make、……

配置本地yum源仓库

先配置本地yum源仓库
mount /dev/cdrom /mnt/			#把光盘挂载到/mnt目录下
cd /etc/yum.repos.d/
mkdir repos.bak
mv * repos.bak

vim local.repo
[local]							#仓库类别
name=local						#仓库名称
baseurl=file:///mnt				#指定URL 访问路径为光盘挂载目录
enabled=1						#开启此yum源,此为默认项,可省略
gpgcheck=0						#不验证软件包的签名

yum clean all && yum makecache		#删除yum缓存并更新

yum常用的操作命令:

yum -y install 软件名 #安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名 #卸载软件包,可自动解决其依赖关系
yum -y update 软件名 #升级软件包

yum list #查询软件包列表
yum list installed #查询系统中已安装的软件包
yum list available #查询仓库中尚未安装的软件包
yum list updates #查询可以升级版本的软件包

yum info 软件名 #查询软件包的描述信息
yum info httpd

yum search [all] 关键词 #根据某个关键词来查找相关的软件包
yum search all httpd

yum -y install 软件名 安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名 卸载软件包,可自动解决其依赖关系
yum -y update 软件名 升级软件包
yum list 查询软件包列表
yum list installed 查询系统中已安装的软件包
yum list available 查询仓库中尚未安装的软件包
yum list updates 查询可以升级版本的软件包

yum info httpd

yum info 软件名 查询软件包的描述信息

yum search all httpd

yum search [all] 关键词 根据某个关键词来查找相关的软件包

yum whatprovides netstat

yum whatprovides 命令 查询命令属于哪个软件包

使用yum方式进行安装
yum install -y gcc gcc-c++ make

编译安装的基本过程

第一步:tar 解包
tar zxvf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目标路径
第二步:配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
./configure --prefix=目标路径(此软件安装到哪里去)
第三步:编译(将源代码转换为可执行的程序)
make
第四步:安装
make install
在这里插入图片描述

tar解包

习惯上将软件包释放到/usr/src/目录;解包后的源代码文件位置 /usr/src/软件名-版本号/

解包示例

 [root@localhost ~]# tar zxf  httpd-2.4.25.tar.gz -C /usr/src/

解压源代码包,并指定释放目录

./configure配置

使用源码目录中的configure脚本;执行“./configure --help”可查看帮助

典型的配置选项:
–prefix=软件安装目录

解包示例

[root@localhost ~]# cd /usr/src/httpd-2.4.25/
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache

若不指定任何配置选项,将采用默认值

make编译与安装

编译

执行make命令

安装

执行make install命令

命令示例

[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install

测试、应用、维护软件

使用前

[root@localhost httpd-2.4.25]# vim /usr/local/apache/conf/httpd.conf

启动Apache

[root@localhost httpd-2.4.25]# /usr/local/apache/bin/apachectl start

运行 lynx 127.0.0.1查看本机Apache运行状态

猜你喜欢

转载自blog.csdn.net/m0_53497201/article/details/113662598