Linux中RPM软件包管理 、Yum软件包仓库、命令补充

一、 环境准备
开启CentOS虚拟机

二、 获得软件包
 挂载光驱设备

]# mkdir /mydvd
]# mount /dev/cdrom /mydvd
]# ls /mydvd
]# ls /mydvd/P(tab)

三、 RPM软件包介绍
 RPM Package Manager
由红帽公司提出,RedHat、SUSE等系列采用
建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系
 RPM包文件名特征
– 软件名-版本信息.操作系统.硬件架构.rpm
firefox-52.7.0-1.el7.centos.x86_64.rpm
 RPM包的一般安装位置(分散)
文件类别 默认安装位置
普通执行程序 /usr/bin/ 、/bin/
服务器程序、管理工具 /usr/sbin/ 、/sbin/
配置文件 /etc/ 、/etc/软件名/
日志文件 /var/log/、/var/log/软件名/
程序文档、man手册页 /usr/share/doc/ 、/usr/share/man/

四、 RPM软件包查询
 查询已安装的RPM软件包的信息
格式:rpm -q[子选项] [软件名称]
常用的子选项
-a:列出已安装的所有软件包
-i:查看指定软件的详细信息
-l:查看指定软件的文件安装清单

]# rpm -q firefox
]# rpm -q zip #查询当前系统是否安装zip软件
]# rpm -q haha
未安装软件包 haha
]# rpm -q bash
]# rpm -q hostname

[root@localhost ~]# rpm -qa #列出系统已安装所有的软件
[root@localhost ~]# rpm -qa | grep firefox
[root@localhost ~]# rpm -qa | grep vim

[root@localhost ~]# rpm -qi firefox #显示软件的信息
[root@localhost ~]# rpm -ql firefox #显示软件的安装清单
[root@localhost ~]# rpm -ql firefox | less

 查询某个目录/文件是哪个RPM包带来的
– 格式:rpm -qf [文件路径]…
– 即使目标文件被删除,也可以查询
[root@localhost ~]# rpm -qf /etc/passwd
[root@localhost ~]# rpm -qf /usr/bin/hostname
[root@localhost ~]# rpm -qf /bin/bash

 查询未安装的RPM软件包的信息
]# ls /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
]# rpm -q vsftpd #查询软件是否安装
]# rpm -qpl /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm #查看软件包安装清单

]# rpm -qpi /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm #查看软件包的信息

 导入红帽签名信息(了解)
]# rpm --import /mydvd/RPM-GPG-KEY-CentOS-7
]# rpm -qpi /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

 安装RPM软件
– 格式:rpm -i RPM包文件…
 辅助选项
-v:显示细节信息
-h:以#号显示安装进度
–force:强制安装、覆盖安装
–test:测试安装,不做真实安装动作

]# rpm -ivh /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

]# rpm -q vsftpd #查询软件是否安装成功
]# rpm -e vsftpd #卸载软件
]# rpm -q vsftpd #查询软件是否卸载成功
未安装软件包 vsftpd

 --force:强制安装、覆盖安装
]# rm -rf /usr/bin/hostname
]# ls /usr/bin/hostname
]# rpm -qf /usr/bin/hostname #查询由哪个包产生

]# rpm -ivh --force /mydvd/Packages/hostname-3.13-3.el7.x86_64.rpm

]# ls /usr/bin/hostname

• 解决依赖关系
• 忽略依赖关系(不推荐)
– 可能会导致软件运行异常
– 辅助选项 --nodeps

五、 Yum软件仓库
作用:自动解决依赖关系,进行安装软件包
服务:自动解决依赖关系,进行安装软件包

服务端(本机):1.众多的软件包 2.仓库清单文件(仓库数据文件)
3.FTP协议与HTTP协议
[root@localhost ~]# ls /mydvd/
CentOS_BuildTag LiveOS
EFI Packages #众多的软件包
EULA repodata #仓库清单文件
GPL RPM-GPG-KEY-CentOS-7
images RPM-GPG-KEY-CentOS-Testing-7
isolinux TRANS.TBL

客户端(本机):指定服务端位置
– 仓库配置:/etc/yum.repos.d/*.repo
[源名称] :自定义名称,具有唯一性
name:本软件源的描述字串
baseurl:指定YUM服务端的URL地址
enabled:是否启用此频道
gpgcheck:是否验证待安装的RPM包
gpgkey:用于RPM软件包验证的密钥文件
 例子:
[nsd2007]
name=centos7
baseurl=file:///mydvd
enabled=1
gpgcheck=1
gpgkey=file:///mydvd/RPM-GPG-KEY-CentOS-7

– 错误的文件会影响正确文件

Yum程序—>/etc/yum.repos.d/*.repo—>获取仓库信息

]# ls /etc/yum.repos.d/
]# mkdir /etc/yum.repos.d/bak
]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
]# ls /etc/yum.repos.d/
]# vim /etc/yum.repos.d/haha.repo
[nsd2007] #仓库标识
name=centos7 #仓库描述信息
baseurl=file:///mydvd #服务端路径
enabled=1 #本文件是否生效
gpgcheck=0 #是否检测红帽签名信息
]# yum repolist

总结:构建本地Yum仓库

  1. 进行挂载光驱设备
  2. 书写/etc/yum.repos.d/*.repo客户端配置文件

六、 Yum的使用
 安装软件包
]# yum -y install httpd
]# yum -y install mariadb-server
]# yum -y install gcc
]# yum -y install sssd
]# yum -y install system-config-kickstart

 卸载软件
]# yum remove gcc
]# yum remove httpd

 查询
]# yum list bash #查询仓库中是否有ftp软件
]# yum list ftp
]# yum search ftp #模糊查询包含ftp即可

 清空Yum的缓存
[root@localhost ~]# yum clean all

七、 命令补充
 获取命令帮助
方式一:利用–help选项
]# useradd --help

方式二:利用man帮助
]# man useradd
支持上下键滚动,支持 / 进行查找,按q进行退出

]# man 5 passwd #数字5表示是帮助信息的类型
#数字5表示配置文件的帮助信息

 历史命令
管理/调用曾经执行过的命令
history:查看历史命令列表
history -c:清空历史命令
!n:执行命令历史中的第n条命令
!str:执行最近一次以str开头的历史命令

]# vim /etc/profile #修改此文件内容,重启系统生效
HISTSIZE=1000 #默认记录1000条

[root@localhost ~]# history #查看历史命令列表
[root@localhost ~]# history -c #清空历史命令
[root@localhost ~]# history

[root@localhost ~]# cat /etc/redhat-release
[root@localhost ~]# ls /root/
[root@localhost ~]# history
[root@localhost ~]# !cat #执行历史命令中,最近一条以cat开头的命令

 du,统计目录的占用空间
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)
[root@localhost ~]# du -sh /etc
[root@localhost ~]# du -sh /boot/
[root@localhost ~]# du -sh /
[root@localhost ~]# du -sh /root

 date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s “yyyy-mm-dd HH:MM:SS”
[root@localhost ~]# date
[root@localhost ~]# date +%Y #显示年
[root@localhost ~]# date +%m #显示月
[root@localhost ~]# date +%d #显示日
[root@localhost ~]# date +%F #显示年-月-日
[root@localhost ~]# date +%H #显示时
[root@localhost ~]# date +%M #显示分
[root@localhost ~]# date +%S #显示秒
[root@localhost ~]# date +%R #显示 时:分

[root@localhost ~]# date
[root@localhost ~]# date -s “2008-10-1 12:10:01”
[root@localhost ~]# date
[root@localhost ~]# date -s “2020-8-5 16:22”
2020年 08月 05日 星期三 16:22:00 CST
[root@localhost ~]# date

 制作连接文件(制作快捷方式)
格式:ln -s /路径/源数据 /路径/快捷方式名字 #软连接
[root@localhost ~]# ln -s /etc/hosts /ho
[root@localhost ~]# ls /
[root@localhost ~]# ls -l /ho #查看快捷方式详细信息
[root@localhost ~]# cat /ho
[root@localhost ~]# cat /etc/hosts

]# ls /etc/sysconfig/network-scripts/
]# ln -s /etc/sysconfig/network-scripts/ /ns
]# ls /
]# ls /ns
]# mkdir /ns/shukehebeita
]# ls /ns
]# ls /etc/sysconfig/network-scripts/

软连接:
1.可以针对目录制作快捷方式
2.可以跨越分区
3.源数据的消失,快捷方式失效

格式:ln /路径/源数据 /路径/快捷方式名字 #硬链接

硬链接:
1.不可以针对目录制作快捷方式
2.不可以跨越分区
3.源数据的消失,快捷方式仍然有效
[root@localhost ~]# echo 123456 > /opt/A.txt
[root@localhost ~]# ln -s /opt/A.txt /opt/B.txt #软连接
[root@localhost ~]# ls /opt/

[root@localhost ~]# ln /opt/A.txt /opt/C.txt #硬链接
[root@localhost ~]# ls /opt/

[root@localhost ~]# rm -rf /opt/A.txt
[root@localhost ~]# ls /opt/
[root@localhost ~]# cat /opt/C.txt #硬链接仍然有效

 zip归档及压缩(跨平台的格式)
• 归档+压缩操作
格式:zip [-r] 备份文件.zip 被归档的文档…
]# zip -r /root/nsd02.zip /home/ /etc/passwd
]# ls /root/
• 释放归档+解压操作
格式:unzip 备份文件.zip [-d 目标文件夹]
]# mkdir /nsd20
]# unzip /root/nsd02.zip -d /nsd20
]# ls /nsd20

猜你喜欢

转载自blog.csdn.net/wangboyujiayou/article/details/109381859