引言:为了能给Linux提供更多的功能,需要安装各种应用程序
目录
一、应用程序与系统命令的关系
二、典型应用程序的目录结构
三、常见的软件包封装类型
四、RPM包管理工具
五、RPM命令格式
六、查询RPM软件包信息
七、安装、升级、卸载RPM软件包
八、维护RPM数据库
九、解决软件包依赖关系方法
十、源代码编译概述
十一、编译安装过程
十二、yum常用的操作命令
十三、yum安装
一、应用程序与系统命令的关系
角色 | 系统命令 | 应用程序 |
文件位置 | 一般在/bin和/sbin目录中,或为Shell内部命令 |
通常在/usr/bin、/usr/sbin、 /usr/local/bin、/usr/local/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包管理工具
1. RPM由Red-Hat Package Manager简写而来,由RedHat公司提出,被众多Linux发行版所采用。
建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,自动分析软件包依赖关系。
2. RPM软件包
软件素材参考:http://www.rpm.org
brash(软件名称)-4.1.2(版本 )-15.el6_4.(发布次数)x86_64(硬件平台).rpm(扩展名)
五、RPM命令格式
rpm命令能够实现几乎所有对RPM软件包的管理功能
执行”man rpm”命令可以获得关于rpm命令的详细帮助信息
rpm命令功能:查询、安装、升级、卸载RPM软件包、维护RPM数据库信息等综合管理操作
六、查询RPM软件包信息
查询已安装的RPM软件信息
rpm -q [子选项][软件名]
常用选项:-qa、-qi、-ql、-qf、-qc、-qd
查询未安装的RPM软件包文件中信息
rpm -qp [子选项]RPM包文件
常用选项:-qpi、-qpl、-qpc、-qpd
rpm -q 软件名 | 查询指定软件是否已安装 | rpm -q elinklynx |
rpm -qi 软件名 | 显示已安装的指定软件的详细信息 | rpm -qi samba-client |
rpm -ql 软件名 | 显示已安装的指定软件的文件列表 | rpm -ql wegt |
rpm -qc 软件名 | 列出已安装的指定软件的配置文件 | rpm -qc httpd |
rpm -qd 软件名 | 列出已安装的指定软件的软件包文档所在位置 | rpm -qd httpd |
rpm -qR 软件名 | 列出已安装的指定软件的依赖的软件包及文件 | rpm -qR wget |
rpm -qF 文件或目录 | 查询已安装的指定软件属于哪个安装包 | rpm -qF yum |
rpm -qa | 显示当前系统中以rpm方式安装的所有软件列表 |
rpm -qa | grep -i postfix |
rpm -qf 目录 | 查询指定的文件或者目录是由哪个软件包所安装 | rpm -qf /usr/bin/passwd |
rpm -qpi RPM包文件名 查询指定软件包的详细信息
rpm -qpi /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm
rpm -qpl RPM包文件名 查询指定软件包的文件列表
rpm -qpl /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm
rpm -qpc RPM包文件名 查询指定软件包的配置文件
rpm -qpc /mnt/Packages/elinks-0.12-0.37.pre6.el7.0.1.x86_64.rpm
rpm -qpd RPM包文件名 查询指定软件包文档的位置
rpm -qpd /mnt/Packages/vsftpd-3.0.2-25.3l7.x86_64.rpm
七、安装、升级、卸载RPM软件包
rpm [选项] RPM包文件 rpm -ivh RPM 软件包
-i:安装一个新的RPM安装包
-U:升级某个软件包,若未安装过,则进行安装
-F:升级某个软件包,若未安装过,则放弃安装
-h:在安装或升级软件包的过程中,以“#” 显示安装进度
-v:显示软件安装过程中的详细信息
-force:强制安装某个软件包,比如要安装版本更旧的软件包
-e:卸载指定名称的软件包
–nodeps:在安装或升级卸载一个软件包时,不检查与其他软件包的依赖关系
八、维护RPM数据库
1.重建RPM数据库
当RPM数据库发生损坏,可通过重建RPM数据库修复
rpm –rebuilddb 或者 rpm –initdb
2.导入验证公钥
在没有导入用于数字签名验证的公钥文件之前安装光盘中的一部分RPM软件包时会 错,需要向RPM数据库中导入位于光盘跟目录下的公钥文件。
rpm –import /mnt/RPM-GPG-KEY-Centos-7
3.辅助选项
1)–nodeps就是安装时奴检查依赖关系,比如你这个rpm需要A但是你没安装A,这样你的包装就装不上,用了–nodeps你就能装上了
2)–force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用–force强制安装
–force、–nodeps、-h、-v
rpm -ivh /mnt/Packages/perl-URI-1.60-9.el7.noarch.rpm
rpm -ivh –nodeps /mnt/Packages/perl-URI-1.60-9.el7.noarch.rpm
九、解决软件包依赖关系方法
1.安装有依赖关系的多个软件时
1)被依赖的软件包需要先安装
2)可同时指定多个.rpm包文件进行安装
2.卸载有依赖关系的多个软件时
(1)依赖其他程序的软件包需要先卸载
(2)可同时指定多个软件名进行卸载
3.忽略依赖关系
结合“–nodeps”选项,但可能导致软件异常
十、源代码编译概述
1.使用源代码安装软件的优点
1)获得最新的软件版本,及时修复bug
2)根据用户需要灵活定制软件功能
2.应用场合举例
1)安装较新版本的应用程序时
2)当前安装的程序无法满足需要时
3)需要为应用程序添加新的功能时
3.Tarball封包
.tar.gz和tar.bz2格式居多
软件素材参考:http://sourceforge.net
完美性校验:md5sum校验工具
十一、编译安装过程
下载源代码安装包文件
步骤1:tar解包
用途:解压并释放源代码包到指定的目标
步骤2:./configure配置
用途:设置安装目录安装模块等选项
步骤3:make编译
用途:生成可执行的二进制文件
步骤4:make install安装
用途:复制二进制文件到系统,配置应用环境
测试及应用、维护软件。
1.tar解包
习惯上将软件包释放到/usr/src/目录
解包后的源代码文件位置/usr/src/软件包-版本 /
tar 2xf httpd-2.4.25.tar.gz -C /usr/src 解压源代码包,并指定释放目录信息
tar 2xvf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目标路径
2. ./configure配置
使用源代码目录中的configure脚本,可执行“./configure –help”查看帮助
典型的配置选项 –prefix=软件安装目录
cd /usr/src/httpd-2.4.25/
./configure –prefix=/usr/local/apache
若不指定任何配置选项,将采用默认值。
3.make编译与安装(将源代码转换为可执行的程序)
可输入 make && make install 同时执行
4.安装 make install
tar jzxf httpd-2.4.25.tar.bz2 -C /usr/src
cd /usr/src/httpd-2.4.25/
./configure –prefix=/usr/local/apache
make && make install
vim /usr/local/apache/conf/httpd.comf
将第97行前面的“#”去掉,保存并推出
ServerName www.example.com:80
/usr/local/apache/bin/apachect/start
curl http://[ip地址]
运行lynx 127.0.0.1查看本机Apache运行状态
十二、yum常用的操作命令
yum -y install 软件名 安装升级软件包 -y表示自动确认
yum -y remove 软件名 卸载软件包,可自动解决其依赖关系
yum -y update 软件名 升级软件包
yum remove elinks -y
yum list yumlist httpd
yum list installed 查看已安装的软件包
yum list available 查看仓库未安装的软件包
yum list updates 查看更新, 络源才可以查看
yum info 软件名 查询 软件包的描述信息
yum info httpd yum info lynx
yum seach httpd 根据某个关键词来查找相关的软件包
yum seach allhttpd
yum whatprovides ls 查询命令属于哪个软件包
yum what provides netstat 收集所有安装包、包括依赖包,保存在指定的目录中
yum install 包名 -y –downloadonly –downloaddirr=/home/包名 只有 络源才可以,下载RPM包到指定目录
十三、yum安装
先配置本地yum源仓库
mount /dev/sr0 /mnt 或/dev/cdrom 把光盘挂载到/mnt
cd /etc/yum.repos.d/ 切换到专门放到yum源的目录
mkdir repos.bak
mv *.repo repos.bak 或 mv CentOS-* repos.bak
cd /etc/yum.repos.d
vim loacl.repo
[local]
name=loacl
baseurl=file:///mnt
enabled=1
gpgchack=0
退出保存
yum clean all && yum makecache 删除yum缓存并更新
总结:日常工作中经常需要安装程序来做服务支持,也可以安装一些程序方便使用Linux
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!