Linux学习之路
Linux系统中的软件管理
1.Linux中软件包的类型
- DEB UBlinux DEBlinux
- RPM edhat centOS fadora
- bz2|gz|xz // 1.需要源码安装需要编译
//2.绿色软件,直接可用
//ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 "configure"
//Firefox-latest-x86_64.tar.bz2 绿色
//在rhel8中只能使用绿色软件,源码编译软件和rpm软件
2.软件包的名称结构
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 5
1.软件名称
2.软件版本
3.软件的授权协议版本
4.软件架构
5.软件类型后缀
3.rpm命令管理软件包
rpm
-ivh 安装参数组合 -i install -v verbose -h hash
-a 所有
-f 文件
-p 软件包
-q 查询
-l 软件安装文件列表
-e 卸载
-c 配置文件
-d 说明
--info 软件信息
--force 强制
--nodeps 忽略依赖性
--script 查询软件在安装或卸载过程中的运行脚本
-Kv 检测软件md5校验码
-V 检测已安装软件在系统中的文件被修改信息
4.本地软件仓库的搭建
- 系统软件仓库的作用:
- 在系统中对软件进行管理;
- rpm命令是不能解决依赖关系的;
- 如果需要软件在安装过程中自动解决依赖关系,需要大家系统软件仓库。
- 搭建方法
mount /xxxx/rhel8.2-xxxxxxxx.iso /xxxx //在系统中加载安装系统时使用的安装镜像
//编写软件仓库文件
/etc/yum.repos.d/ //软件源指向文件配置目录 在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/xxxx.repo //软件仓库指向文件
[AppStream] //仓库名称
name=westos AppStream //描述
baseurl=file:///westos/AppStream //地址
gpgcheck=0 //不检测gpgkey (跳过授权检测)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-REDHAT-release
enabled=1|0
[BaseOS]
name=westos BaseOS
baseurl=file:///westos/BaseOS/
gpgcheck=0
dnf install gcc -y //测试
- 自启动软件仓库
vim /etc/rc.d/rc.local //编写开机自启动脚本
chmod +x /etc/rc.d/rc.local //赋予权限
umount /sourcedir //卸载软件仓库
reboot //重启系统
- 网络共享软件仓库
5.第三方软件仓库的搭建
- 对第三方软件搭建软件仓库,并网络共享出去。
- 目的:将 /software 下的第三方软件搭建软件仓库,并共享。
6.epel源
- 安装epel配置包
- 将 repo 配置中的地址替换为阿里云镜像站地址
- 卸载epel软件源
rpm -qa |grep epel
rpm -e epel-release-8-13.el8.noarch
cd /etc/yum.repos.d
rm -fr epel*
7.dnf 软件管理命令
dnf
-repolist 列出仓库信息
-clean all 清除系统中已经加载的仓库缓存信息
仓库缓存信息在/var/cache/dnf
-list all 列出所有软件
-list available 列出未安装软件
-list installed 列出已安装软件
-install 安装
-remove 卸载
-reinstall 重新安装
-search 搜索
-whatprovides 搜索包含文件的软件包
-history dnf执行历史
-history info dnf执行历史详细信息
-group list 列出软件组
-group list --installed 列出已安装软件组
-group list --available 列出未安装软件组
-group list --hidden 列出隐藏软件案组
group install 安装软件组
group info 查看软件组信息
8.下载安装包
yumdownloader 下载软件包到本机指定位置
yumdownloader httpd 下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt 下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve 下载仓库中指定软件安装包和软件依赖性到/mn