8.1 使用rpm命令-安装-查看-卸载-rpm 软件包
8.2 yum 管理软件包
8.3 实战 tar 源码包管理-srpm 源码包安装方法
8.1 软件包的管理
软件包的类型
rpm 二进制包 已经使用GCC 编译后的
tar 源码包 需需编译
8.1.1 rpm 软件包的管理
rpm 包的获取方式
1 centos 系统镜像光盘
2 网站rpmfind.net
3 比如安装mysql,nginx ,软件,我们可以去它的官方网站,
如果需要通过光盘获取,
挂载mount/dev/sr0 / mnt 后找到
卸载umount /mnt 或者umount /dev/sr0
rpm 包格式的说明
8.1.2 按rpm 软件
RPM 工具分为安装。查询,验证,更新,删除等操作
命令格式:rpm 参数软件包
参数
-i 是install 的意思,安装软件包
-v 显示附加信息,提供更多纤细信息
-V 校验,对已经安装的软件进行校验
-h --hash 安装时输出#####标记
互动:rpm使用时,什么情况下使用软件包名,什么时候使用软件包全名
全名:在安装和更新时候使用
包名:对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等
使用包名,它默认是去目录/var/lib/rpm 下面进行收缩,当一个rpm 包安装到系统上之后,安装信息就会保存早本地
rpcbind/ rpm/ rpm-state/
[root@xueshen65 ~]# ls /var/lib/rpm
Basenames Dirnames Installtid Obsoletename Providename Sha1header Triggername
Conflictname Group Name Packages Requirename Sigmd5
[root@xueshen65 ~]# rpm -q lrzsz
lrzsz-0.12.20-36.el7.x86_64
1 从本地安装
如果没有
先挂载
mount /dev/cdrom /mnt
zsh 就会显示所有的路径
8.1.2.2 从网上下载直接按照centos epel 扩展源
首先查看是否能上网
[root@xueshen65]~# rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
获取http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
警告:/var/tmp/rpm-tmp.TUuoEF: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:epel-release-7-12 ################################# [100%]
[root@xueshen65]~#
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装centos epel 扩展yum 源 注意 epel 是对centos7 系统中自带的base 源的扩展有依赖
针对有依赖关系的安装包,直接用yum 方式安装
8.1.3 rpm 插叙功能
-a all 查询所有已经安装的软件包
-f file 系统文件名 查询文件系统属于哪个软件包,反向查询
-i 显示已经安装的rpm软件包信息,后面直接跟包名
-l list 查询软件包中文安装的位置
-p 查询未安装软件包的相关信息,后面跟软件的包名
-R 查询软件包的依赖性
[root@xueshen65]~# rpm -qa zsh
zsh-5.0.2-31.el7.x86_64
[root@xueshen65]~# rpm -qf /usr/bin/find
findutils-4.5.11-6.el7.x86_64
首先使用which 查询在哪个位置
查看安装的包是干嘛用的
rpm -qpi 安装路径
查询没有安装的RPM包,要加参数 -p
rpm -qi lrzsz
8.14 查看软件包内容是否被修改 用于查看命令有没有被黑客修改
rpm -V 包名
rpm -Vf 文件路径
[root@xueshen65]~# which find
/usr/bin/find
[root@xueshen65]~# rpm -qf /usr/bin/find
findutils-4.5.11-6.el7.x86_64
[root@xueshen65]~# rpm -Vf /usr/bin/find 检查具体文件
互动; 查看系统中所有的rpm包安装的文件有没有被黑客修改
[root@xueshen65]~# rpm -Va
假如改得多 可以用重定向
校验时参考了/var/lib/rpm 目录下数据库信息
[root@xueshen65]~# md5sum /etc/passwd
3e90c88954be6365b2c6818db8670384 /etc/passwd
[root@xueshen65]~# echo 123456 | md5sum
f447b20a7fcbf53a5d5be013ea0b15af -
rpm 卸载和升级
用法: rpm -e 包名
rpm -e zsh
如果有依赖关系 使用rpm -e nodeps lrzsz
升级
[root@xueshen65]~# rpm -Uvh /mnt/Packages/zsh-5.0.2-31.el7.x86_64.rpm
手动解决rpm 依赖关系
如何配置yum 源
8.2.1.2 网络yum 源
1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#wget 下载文件 -O 把下载的文件存到另外一个文件中
2 sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum list
就可以下载了
yum install -y httpd 安装软件包 -y 直接按照
yum update kernel 升级
yum info httpd 查询rpm 包作用
yum provides /usr/bin/find 查看命令是安哥软件包安装的
yum -y remove 包名 卸载包
yum search keyword #安装关键字搜索软件包
yum 报错,主义的几个小问题
1 确定光盘是否连接,光盘是否瓜子啊
2 配置文件中格式是否正确,字母,符号有没有写错,挂载点和配置文件汇总设置的是否一致,
3 网络源需要上网,操作和RPM 类似,只是会自动安装依赖
update 不加任何包,表示整个系统升级
8.2.3 yum 安装工具软件包组
yum grouplist 查看哪些软件包组
也可以使用yum groupinstall "开发工具"
8.3 实战tar 源码包管理-srpm 源码包安装方法
8.3.1 源码安装nginx
1 编译环境如gcc 和gcc-c++ 编译器,make
2 准备:nginx-1.12.2.tar.gz
部署Nginx
yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel
zlib 压缩库,pcre :支持正则表达式,地址重写rewrite OpenSSL 提供https 支持
.开始安装
源码编译三把斧
./configure ,make ,make install
上传nginx 到linux上,
1 tar -zxvf nginx-1.12.2.tar.gz
2 cd nginx-1.12.2
3 ./configure --prefix=/usr/local/nginx 指定安装路径
4 make -j 4
这样速度很快
5 make install
./configure
a 指定安装路径,例如 --prefix=/usr/local/nginx
b 启用或禁用某项功能。例如 --enable-ssl, --disable-filter --with-http_ssl_module
c 和其他软件关联,例如--with-prce
d 检查安装环境,例如是否有编译器GCC,是否满足软件的依赖需求
最终生成Makefile
make -j 4 按Makefile 文件编译,可以使用-j 4 指定核心CPU编译,提升技术
make install 按Makefile定义的文件路径安装
make clean // 清除上次的make命令产生的object和 即可要重新执行configure时,需要执行make clean all
8.3.2 删除源码包
安装完,删除
make uninstall
有时删除不干净,所以建议安装时,在configure步骤添加一个:--prefix 参数
这样删除或备份时,直接对删除--prefix 指定的安装目录操作就可以了
8.3.3 实战2 源码编译错误5种完美解决方案
tar -jxvf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4.tar.bz2
./configure
第一 cd/mnt/Packages/
rpm -ivh ext 补齐
第二 ls *ext2fs* 查找关键字
第三 ls *2fs* 查找部分关键字
第四 上网 查rpm http://.rpmseek.com/index.html
第五 使用yum 去搜索
yum search ext2fs
差头文件
./configure
make -j 4
make install
8.3.4 安装.src.rpm 源码包的方法
srpm: 就是这个rpm档案里面有源码
rpmbuild --rebuild lrzsz-0.12.20-27.1.el6.src.rpm
皆可以了