制作yum源及使用yum维护rpm包
制作网络资源
-
安装httpd
启停httpd服务
systemctl start httpd systemctl status httpd systemctl stop httpd
-
到包的目录下创建repo:createrepo . ,会在该目录下生成一个文件夹 repodata
cd /rpm/xxx createrepo .
-
复制到httpd下:
mv /rpm/xxx /var/www/html/
-
部署yum
vim /etc/yum.repos.d/repo.repo 添加如下内容: [rpm7] name=rpm7 baseurl=http://lsyk01/xxx/ gpgcheck=0 enabled=1 [cm631] name=cm631 baseurl=http://lsyk01/yyy/ gpgcheck=0 enabled=1
-
刷新生效
yum clean all && yum makecache
-
查看是否生效:
yum list |grep vim
-
如果需要新增rpm包,则需要将下载的包放到 /var/www/html/xxx 里,
rpm包下载地址:
http://www.rpmfind.net/linux/rpm2html/search.php再次执行:
cd /var/www/html/xxx createrepo . yum list |grep vim
命令详解
1 yum清空缓存列表
yum clean packages 清除缓存目录下的软件包,清空的是(/var/cache/yum)下的缓存
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
2 yum显示信息
yum list # yum list显示所有已经安装和可以安装的程序包
这些列表里面的包的来源就是/etc/yum.repo.d。 base docker-ce-stable epel/x86_64/metalink epel extras rpmforge updates
yum list rpm 显示安装包信息rpm
显示installed ,这里是包名,版本和仓库名
yum list httpd
这里是可获得包,说明还没有安装。
yum info rpm 显示安装包rpm的详细信息
3 yum安装
yum -y install httpd
如果你不加-y他会问你要不要安装。如果你想自己来控制有些包是否安装,这里不要加-y,如果你想自动安装,不进行交互,这里加入-y。这个就是yum 的安装了,非常简单。
安装完之后查询一下
yum list httpd,Installed 说明已经安装好了
4 yum删除
yum remove httpd 删除程序包httpd ,也就是卸载。
yum deplist rpm 查看程序rpm依赖情况
5 yum包的升级
yum check-update 检查可更新的程序
yum update 全部更新,升级所有包,以及升级软件和系统内核,这就是一键升级。他可以更新CentOS的内核到最新版本。
yum update package1 更新指定程序包package1,
yum upgrade package1 升级指定程序包package1
6 yum 解决依赖的原理
YUM 解决依赖关系问题,自动下载软件包。yum是基于C/S架构。C指的是客户端, S指的是服务器,想ftp,http,file、关于yum为什么能解决依赖关系:所有的Yum 源里面都有repodata,它里面是有XML格式文件,里面有说明需要什么包。例如上堂课实验的:mysql-server rpm 需要:perl-DBI ,python,或者是php等等包。
7 yum 组的管理
yum进行安装的时候可以一组一组的进行安装,先来看看有那些组yumgrouplist。可用的组有这么多。
Available Environment Groups:首先是可用的环境分组。
Compute Node 计算节点
Infrastructure Server 基础设施服务器
File and Print Server 文件和打印服务
Cinnamon Desktop Cinnamon桌面
Installed Groups:已安装的组,开发工具
Development Tools
Available Groups:可用的组。
如果我们想以组的方式来安装,加入我想安装安全工具:
输入:yumgroupinstall “Security Tools”
看到这里询问是否要安装,当然是N不安装了。如果想直接安装,不询问的话,这里也在后面加上选项 –y。
yum groupremove group1 删除程序组group1
参考
1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的header
附录:rpm命令
1.安装一个包 (展示正在安装的文件信息以及安装进度)
rpm -ivh
2.升级一个包
rpm -Uvh
3.卸载一个包
rpm -e
4.安装参数 --force /–nodeps
–force 即使覆盖属于其它包的文件也强迫安装
–nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装
rpm -q < rpm package name>
6.得到被安装的包的信息
rpm -qi < rpm package name>
7.列出该包中有哪些文件
rpm -ql < rpm package name>
8.列出服务器上的一个文件属于哪一个RPM包 rpm -qf
9.可综合好几个参数一起用
rpm -qil < rpm package name>
10.列出所有被安装的rpm package
rpm -qa
11.列出一个未被安装进系统的RPM包文件中包含有哪些文件
rpm -qilp < rpm package name>
12.解压RPM包
RPM包括是使用cpio格式打包的,因此可以先转成cpio然后解压:
rpm2cpio xxx.rpm | cpio -div