linux软件包类型
-
二进制的软件包 可以直接运行
-
源码包(源代码) 编译完之后才能安装
rpm:redhat package mamanger 除了红帽以外还运用在其他的操作系统上
软件包名解释
samba-4.10.4-1.el8.x86_64.rpm
rpmfile:samba-4.10.4-1.el8.x86_64.rpm
软件包的名字:samba
软件包的版本号:4.10.4
红帽编译后的版本号:1
操作系统的版本号:el8
操作系统的位数:x86_64
.rpm:扩展名
为什么可以运行虚拟机
能跑虚拟机是因为在cpu中加了虚拟化的指令集CPU的指令集:
CPU的指令集:
精简型:手机是精简型指令集 ARM架构的是精简型 unix的大型机和小型机都是精简型的
复杂型:最早的复杂性指令集最初是8086 80286 80486 ---> 80x86 ---> x86
笔记本 台式机的cpu都是复杂型的
32位的操作系统内存可寻址空间是4G
常用固定格式
rpm -ivh rpmfile 装软件包 rpm -e 软件包的名字 移除软件包 rpm不能解决软件的依赖性关系
yum
yum dnf 的实质就是dnf-3
yum:可以解决软件包的依赖性关系
yum -y install 软件包的名字 安装软件包
红帽8之前的版本上yum只能有一个进程
yum仓库
作用:告诉系统软件包的位置
配置yum仓库:
/etc/yum.repos.d
redhat.repo 默认的 不要动
配置的仓库要以.repo结尾
仓库:
[BaseOS] #仓库的名字 name=rhel8_BaseOS #仓库的描述信息 baseurl=file:///mnt/cdrom/BaseOS #指向软件包所在的路径 指向repodata所在的路径 enabled=1 #开启仓库=1 关闭仓库=0 gpgcheck=1 #是否检查软件包的完整性 检查=1 不检查=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #公钥 #公钥存放路径 /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #file://本地访问本地 #http:// 访问网络
yum常用命令
yum clean all #清理缓存 yum repolist all #列出仓库 yum list all #查看所有的软件包 yum list installed #查看已经安装过的软件包 @anaconda #这种软件包是在装系统的时候就装了 #有@的是已经装过的软件包 没有@的就是没有装过的软件包 yum group install #安装包组 yum grouplist #列出包组 yum reinstall #重新安装 yum remove #移除软件包 #移除包会有依赖性关系 yum update #升级软件包 yum repolist all #列出所有的仓库信息 yum list all #列出仓库里面所有的软件包 yum list available |updates |install #列出未安装的|待更新的|已经安装的软件包 yum info package #查看软件包的信息 yum group info package #查看包组的信息 yum group list hidden #列出包组 yum provides filename #查找文件来自哪个包 需要加文件的绝对路径 yum provides “*/command” #经常用来差命令来自哪个软件包 yum search keyword #查找与keyward相关的软件包 yum history #查看yum使用的历史记录 yum history undo 18 #撤销yum历史记录里面第18步操作 yum history info 4 #查看第四步操作详情
建立私有的yum源
createrepo -v /test 生成仓库
配置仓库的时候指的路径是指repodata所在的目录就可以
有几个repodata就要配置几个仓库
rpm常用命令
rpm 安装
-
-i:安装
-
-v:verbose查看详细信息
-
-h:查看进度条
-
-e:erase移除软件包
-
-F:升级已经安装过的软件包
-
-U:升级和安装软件包
-
--replacepkgs 重新安装,相当于--force,相当于yum reinstall
-
--oldpackage 安装旧版的软件包
-
--replacefiles 忽略冲突
-
--nodeps 忽略依赖性关系
rpm 查询
-
-q:查询软件包是否安装
-
-qa:查询已经安装过的软件包
-
-qi:查询软件包的信息
-
-ql:查询安装该软件包后会生成的文件
-
-qc:查询软件包的配置文件
-
-qd:查询软件包的帮助文件
-
-qf:查找文件来自于哪个软件包
-
-q --scripts:查询在安装或者删除软件包的时候运行的shell脚本
-
-q --changelog:查询软件包的变更日志
-
-qp [-ilcdR --scripts --changelog] rpmfile :查找本地软件包文件的相关信息
rpm修复
rpm软件包损坏了之后修复: 损坏部分的数据不能找回
rpm2cpio vsftpd-3.0.3-28.el8.x86_64.rpm | cpio -id
校验软件包
gpgcheck=1
gpgkey=file://
1.手动导入钥匙
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
2.手动校验软件包
rpm -K vsftpd-3.0.3-28.el8.x86_64.rpm
其他命令
rpm -ivh rpmfile/http:....rpm yum install rpmfile/http:....rpm不能解决包的依赖性关系 yum localinstall rpmfile/http:....rpm 在本地仓库解决包的依赖性关系
模块流
红帽8在Appstream引入了模块了流
yum module list #查看模块流 yum module install #安装模块流 yum module remove #卸载模块流 yum module disabled #禁用模块流 yum module reset #重置模块流 恢复模块流的出厂设置