一、rpm 包安装
1.RPM Package Manger
由 Red Hat 公司提供,被众多 Linux 发行版本所采用。 建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包 依赖关系。
2.RPM 软件包
一般命名格式:
3.查询已安装的 RPM 软件信息
(1)格式:rpm -q [子选项] [软件名]
(2)用法:结合不同的子选项完成不同的查询
-qa:查看已安装的所有 RPM 软件包列表
-qi:查看指定软件的详细信息
-ql:查询软件包安装的目录、文件列表
(3)示例:
【查询是否安装 bash 软件包】
[root@huyouba1 ~]# rpm -q bash
bash-4.2.46-31.el7.x86_64
[root@huyouba1 ~]# rpm -qa |grep bash
bash-completion-2.1-6.el7.noarch
bash-4.2.46-31.el7.x86_64
【查询 postfix 软件包安装的文件列表】
[root@huyouba1 ~]# rpm -ql postfix
/etc/pam.d/smtp
/etc/pam.d/smtp.postfix
/etc/postfix
/etc/postfix/access
.......
4.查询文件或目录属于哪个 RPM 软件
(1)格式:rpm -qf 文件或目录名
(2)示例:
[root@huyouba1 ~]# which vim
/usr/bin/vim
[root@huyouba1 ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-5.el7.x86_64
5.查询未安装的 RPM 包文件
(1)格式:rpm -qp [子选项] RPM 包文件
(2)用法:结合不同子选项完成不同的查询
-qpi:查看该软件的详细信息
-qpl:查看包内所含的目录、文件列表
(3)示例
[root@huyouba1 Packages]# rpm -qpi ethtool-4.8-9.el7.x86_64.rpm
[root@huyouba1 Packages]# rpm -qpl ethtool-4.8-9.el7.x86_64.rpm
6.安装、升级 RPM 软件
(1)格式:rpm [选项] RPM 包文件
(2)用法:不同选项适用于不同的情况
-i:安装一个新的 rpm 软件包
-U:升级,若未安装,则进行安装
-h:以 “#” 号显示安装的进度
-v:显示安装过程中的详细信息
-F:更新某个 rpm 软件,若未安装,则放弃安装
(3)辅助选项:
–force:强制安装所指定的 rpm 包(一般不用)
(4)示例:安装光盘中的 lynx 软件包
[root@huyouba1 Packages]# rpm -q lynx
未安装软件包 lynx
[root@huyouba1 Packages]# rpm -ivh lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:lynx-2.8.8-0.3.dev15.el7 ################################# [100%]
注意:rpm 方法安装不能自动解决依赖关系,所以在安装对应的软件之前需要先解除对应的依赖关系
7.卸载 RPM 软件
(1)格式:rpm -e 软件名
(2)辅助选项:
–nodeps:安装、升级或卸载软件时,忽略依赖关系(一般不用)
(3)示例:
[root@huyouba1 ~]# rpm -e lynx
[root@huyouba1 ~]# rpm -q lynx
未安装软件包 lynx
8.重建 RPM 数据库
[root@huyouba1 ~]# rpm --rebuilddb
[root@huyouba1 ~]# rpm --initdb
二、构建本地 yum 仓库
1.挂载光盘
[root@huyouba1 ~]# umount /dev/cdrom 【推出原来挂载的光盘】
[root@huyouba1 ~]# mkdir /media/cdrom 【创建挂载目录】
[root@huyouba1 ~]# mount /dev/cdrom /media/cdrom/ 【挂载光盘】
mount: /dev/sr0 写保护,将以只读方式挂载
2.修改本 yum 仓库客户端配置文件
[root@huyouba1 ~]# cd /etc/yum.repos.d/
[root@huyouba1 yum.repos.d]# mkdir bak
[root@huyouba1 yum.repos.d]# mv *.r* bak/
[root@huyouba1 yum.repos.d]# cp bak/*M* ./
[root@huyouba1 yum.repos.d]# vim CentOS-Media.repo
.......
enable=0 改为1
:wq
[root@huyouba1 yum.repos.d]# cd /media/cdrom/
[root@huyouba1 cdrom]# rpm --import *K* 【导出 gpg KEY 文件到当前系统】
[root@huyouba1 cdrom]# yum -y clean all 【清除本地 yum 缓存】
已加载插件:fastestmirror
正在清理软件源: c7-media
Cleaning up list of fastest mirrors
Other repos take up 81 M of disk space (use --verbose for details)
[root@huyouba1 cdrom]# yum makecache 【重建本地 yum 缓存】
3.yum 安装、卸载、升级 RPM 包软件
(1)安装:yum -y install 软件名
(2)卸载:yum -y remove (或erase) 软件名
(3)升级:yum -y update 软件名
说明:-y 不进行交互
三、源代码编译安装
1.inux命令与应用程序的关系
(1)文件位置
1>系统命令:一般在/bin和/sbin 目录中,或为Shell 内部命令。
2>应用程序:通常在/usr/bin 和/usr/sbin 目录中
(2)主要用途
1>系统命令:完成对系统的基本管理工作,例如 IP 配置工具。
2>应用程序:完成相对独立的其他辅助任务,例如网页浏览器。
(3)使用环境
1>系统命令:一般只在字符操作界面中运行
2>应用程序:根据实际需求,有些程序可在图形界面中运行。
(4)运行格式:
1>系统命令:一般包括命令字、命令选项和命令参数
2>应用程序:通常没有固定格式
null | 系统命令 | 应用程序 |
---|---|---|
文件位置 | /bin 和 /sbin /usr 和 /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@huyouba1 Packages]# md5sum lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
8d43949720c99fe0dafbcd35d451a05a lynx-2.8.8-0.3.dev15.el7.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@huyouba1 ~]# gcc --version
[root@huyouba1 ~]# make --version
6.编译安装流程
(1)解包
- 习惯上将软件包释放到/usr/src/目录
- 解包后的源码位置:/usr/src/软件名-版本号/
- 示例
[root@huyouba1 ~]# tar xf httpd-2.2.17.tar.gz -C /usr/src/
(2)预配置
- 使用源码目录中的 configure 脚本
- 执行 “./configure –help” 可查看帮助
- 典型的配置选项: –prefix=软件安装目录
- 示例:
[root@huyouba1 ~]# cd /usr/src/httpd-2.2.17/
[root@huyouba1 httpd-2.2.17]# ./configure --prefix=/usr/local/apache
(3)编译
- 执行 make 命令
- 示例:
[root@huyouba1 httpd-2.2.17]# make
(4)安装
- 执行 make install 命令
- 示例:
[root@huyouba1 httpd-2.2.17]# make install
(5)编译安装步骤
1>备份后,修改配置文件
[root@huyouba1 httpd-2.2.17]# cd /usr/local/apache/conf/
[root@huyouba1 conf]# cp httpd.conf httpd.conf.bak
[root@huyouba1 conf]# vim /usr/local/apache/conf/httpd.conf
......
#ServerName www.example.com:80
ServerName www.example.com:80
......
2>启动 Apache
[root@huyouba1 ~]# /usr/local/apache/bin/apachectl start
3>运行 lynx 127.0.0.1