一、rpm 包安装
1、RPM Package Manger
由 Red Hat 公司提供,被众多 Linux 发行版本所采用。
建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包
依赖关系。
2、RPM 软件包
一般命名格式
3、查询已安装的 RPM 软件信息
(1)格式:rpm –q[子选项] [软件名]
(2)用法:结合不同的子选项完成不同的查询
- -qa:查看已安装的所有 RPM 软件包表
- -qi:查看指定软件的详细信息
- -ql:查询软件包安装的目录、文件列表
(3)示例:
【查询是否安装 bash 软件包】
[root@www ~]# rpm -q bash
bash-4.1.2-15.el6_4.x86_64
[root@www ~]# rpm -qa|grep bash
bash-4.1.2-15.el6_4.x86_64
【查询 postfix 软件包安装的文件列表】
[root@www ~]# rpm -ql postfix /etc/pam.d/smtp.postfix
/etc/postfix /etc/postfix/access /etc/postfix/canonical ……
4、查询文件或目录属于哪个 RPM 软件
(1)格式:rpm –qf 文件或目录名
(2)示例:
[root@www ~]# which vim/usr/bin/vim
[root@www ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.2.411-1.8.el6.x86_64
5、查询未安装的 RPM 包文件
(1)格式:rpm –qp[子选项] RPM 包文件
(2)用法:结合不同子选项完成不同的查询
- -qpi:查看该软件的详细信息
- -qpl:查看包内所含的目录、文件列表
(3)示例:
[root@www Packages]# rpm -qpi ethtool-3.5-1.el6.x86_64.rpm
[root@www Packages]# rpm -qpl ethtool-3.5-1.el6.x86_64.rpm
6、安装、升级 RPM 软件
(1)格式:rpm [选项] RPM 包文件
(2)用法:不同选项适用于不同情况
-i:安装一个新的 rpm 软件包
-U:升级,若未安装,则进行安装
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
-F:更新某个 rpm 软件,若未安装,则放弃安装
(3)辅助选项:
–force:强制安装所指定的 rpm 软件包(一般不用)
(4)示例:安装光盘中的 lynx 软件包(挂载光盘详见“构建本地 yum 仓库”)
[root@www Packages]# rpm -q lynxpackage lynx is not installed[root@www Packages]# rpm -ivh lynx-2.8.6-27.el6.x86_64.rpmPreparing... ########################################### [100%]1:lynx ########################################### [100%]
7、卸载 RPM 软件
(1)格式:rpm –e 软件名
(2)辅助选项:
–nodeps:安装、升级或卸载软件时,忽略依赖关系(一般不用)
(3)示例:
[root@www ~]# rpm -e lynx[root@www ~]# rpm -q lynxpackage lynx is not installed
8、重建 RPM 数据库
[root@www ~]# rpm --rebuilddb
[root@www ~]# rpm --initdb
二、构建本地 yum 仓库
1、挂载光盘
[root@www ~]# umount /dev/cdrom 【推出原来挂载的光盘】
umount: /dev/cdrom: not mounted
[root@www ~]# mkdir /media/cdrom
[root@www ~]# mount /dev/cdrom /media/cdrom/ 【挂载光盘】
mount: block device /dev/sr0 is write-protected, mounting read-only
2、修改本 yum 仓库客户端配置文件
[root@www ~]# cd /etc/yum.repos.d/
[root@www yum.repos.d]# mkdir bak
[root@www yum.repos.d]# mv *.r* bak
[root@www yum.repos.d]# cp bak/*M* .
[root@www yum.repos.d]# vi CentOS-Media.repo
……
enable=0 改为 1 :wq[root@www yum.repos.d]# cd /media/cdrom/[root@www cdrom]# rpm --import *K* 【导出 gpg KEY 文件到当前系统】[root@www cdrom]# yum -y clean all 【清除本地 yum 缓存】Loaded plugins: fastestmirror, refresh-packagekit, securityCleaning repos: c6-media Cleaning up Everything[root@www cdrom]# yum makecache 【重建本地 yum 缓存】
3、yum 安装、卸载、升级 RPM 包软件
(1)安装:yum –y install 软件名
(2)卸载:yum –y remove(或 erase) 软件名
(3)升级:yum –y update 软件名
说明:-y 不进行交互
三、源代码编译安装
1、Linux 命令与应用程序的关系
(1)文件位置
- 1>系统命令:一般在/bin 和/sbin 目录中,或为 Shell 内部命令。
- 2>应用程序:通常在/usr/bin 和/usr/sbin 目录中
(2)主要用途
- 1>系统命令:完成对系统的基本管理工作,例如 IP 配置工具。
- 2>应用程序:完成相对独立的其他辅助任务,例如网页浏览器。
(3)适用环境
- 1>系统命令:一般只在字符操作界面中运行
- 2>应用程序:根据实际需求,有些程序可在图形界面中运行。
(4)运行格式:
-
1>系统命令:一般包括命令字、命令选项和命令参数
-
2>应用程序:通常没有固定格式
系统命令与应用程序的对比表格
系统命令 | 应用程序 | |
---|---|---|
文件位置 | /bin 和/sbin | /usr/bin 和/usr/sbin |
主要用途 | 针对系统 | 相对独立 |
适用环境 | 字符界面 | 字符界面或图形界面 |
运行格式 | 命令字、选项、参数 | 无固定格式 |
2、典型应用程序目录结构
文件类型 | 保存目录 |
---|---|
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/share/man |
3、常见的软件包封装类型
封装类型 | 说明 |
---|---|
rpm 软件包 | 扩展名为“.rpm” |
deb 软件包 | 扩展名为“.deb” |
源代码软件包 | 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包,包含程序的原始 代码 |
附带安装程序的软件包 | 在压缩包内提供 install.sh、setup 等安装程序或以“.bin”格式 的单个执行文件提供 |
4、源代码编译概述
(1)使用源代码的优点:
- 获得最新的软件版本,及时修复 bug
- 根据用户需要,灵活制定软件功能
(2)应用场合举例
- 安装较新版本的应用程序时
- 当前安装的程序无法满足需要时
- 需要为应用程序添加新的功能时
(3)Tarball 封包
- tar.gz 和.tar.bz2 格式居多
- 软件素材参考:http://sourceforge.net
(4)完整性校验
·计算 MD5 校验和,并与官方提供的值相比较,判断是否一致。若不一致,可能
源码包破损或被人植入程序,需谨慎。
[root@www Packages]# md5sum lynx-2.8.6-27.el6.x86_64.rpm
a10c4ccc5a36a7f1443a127cbb4d2b83 lynx-2.8.6-27.el6.x86_64.rpm
5、确认源代码编译环境
- 需要支持 C/C++程序语言的编译器,如:
- gcc-4.4.7-4.el6
- gcc-c+±4.4.7-4.el6
- make-3.81-20.el6……
- 示例:
[root@www ~]# gcc --version[root@www ~]# make --version
6、编译安装流程
![image.png](https://img-blog.csdnimg.cn/img_convert/904aa4f0cf597b30934be594fb0104ad.png)<br />(1)解包
- 习惯上将软件包释放到/usr/src/目录
- 解包后的源代码文件位置:/usr/src/软件名-版本号/
- 示例:
[root@www ~]# tar xf httpd-2.2.17.tar.gz -C /usr/src
(2)预配置
- 使用源码目录中的 configure 脚本
- 执行“./configure –help”可查看帮助
- 典型的配置选项:
- –prefix=软件安装目录
- 示例:
[root@www ~]# cd /usr/src/httpd-2.2.17/
[root@www httpd-2.2.17]# ./config --prefix=/usr/local/apache
(3)编译
- 执行 make 命令
- 示例:
[root@www httpd-2.2.17]# make
(4)安装
- 执行 make install 命令
- 示例:
[root@www httpd-2.2.17]# make install
(5)编译安装步骤
- 1>备份后,修改配置文件
[root@www httpd-2.2.17]# cd /usr/local/apache/conf/
[root@www conf]# cp httpd.conf httpd.conf.bak
[root@www httpd-2.2.17]# vi /usr/local/apache/conf/httpd.conf
……
#ServerName www.example.com:80 ServerName www.example.com:80
……
- 2>启动 Apache
[root@www ~]# /usr/local/apache/bin/apachectl start
- 3>运行 lynx 127.0.0.1