软件包管理
1、软件包的分类
1)二进制包
已经编译好了的软件包,只需要直接安装就可以使用
无法选择(定制)功能
以rpm结尾
常见二进制包
系统平台 包类型 工具 在线安装
RH/Centos/Fedora/SUSE rpm rpm/rpmbuild yum/dnf
Ubuntu/Debian deb dpkg apt
2)源码包
程序员写的原始程序代码文件,需要编译成二进制软件包后才可运行
可以选择功能
以gz、bz2、xz、zip结尾
3)二进制源码包
半成品,安装后不能直接使用
需要使用rpmbuild工具重建成rpm包或者重建成源码包才可安装使用
一般以.src.rpm结尾
2、软件包的安装方式(RHEL)
1)二进制包
使用rpm工具安装
下载rpm包到本地——》使用rpm工具安装
yum/dnf工具安装
配置软件仓库——》使用yum/dnf工具安装
2)源码包
配置——功能定制
编译——使用编译器生成二进制软件包
安装——将软件包安装到指定位置
3、如何获取rpm包
RedHat/Centos光盘
推荐网站:
www.rpmfind.net
rpm.pbone.net
相关软件官方网站
此外:
x86_64包只能安装在64位系统;
i386,i586的软件包可安装在32和64位系统上
noarch表示软件包可以通用
5、rpm工具管理rpm包
安装
rpm -ivh name...rpm (已有rpm包)
卸载软件包
rpm -e name
升级软件包
rpm -Uvh name...rpm
rpm -Fvh name...rpm
-v 输出详细信息
-h 打印散列标记,一般和-v一起
-U 升级,没安装时自动安装
-F 升级,没安装时不会自动安装
查看软件包
rpm -ql name 列出软件包内容
rpm -qi name 查看安装部详细信息
缺点:有依赖关系,需要手动解决
6、yum(dnf)工具管理rpm包
核心:需要有一个软件仓库,用来存放软件包和软件包之间的依赖关系。
本地仓库——》本地yum源,远程仓库——》远程yum源,通过修改xxx.repo文件,定义去哪个仓库里找
1)RHEL8本地仓库配置
BaseOS存储库:
提供核心的底层操作系统功能,为基础软件安装库。
AppStream存储库:
库中包含用户空间应用程序、运行时语言和数据库,以支持不同的工作负载和用例。
挂载镜像到本地系统
df -h 查看镜像名称、位置
mount -o ro /dev/sr0 /mnt 将镜像挂载到本地/mnt
ls /mnt/BaseOS/ 查看镜像文件内容
ls /mnt/AppStream
修改配置文件指定路径 /etc/yum.repos.d/local.repo
[BaseOS]
name=baseOS yum
enabled=1
baseurl=file:///mnt/BaseOS/
gpgcheck=0
[AppStream]
name=app yum
enabled=1
baseurl=file:///mnt/AppStream/
gpgcheck=0
验证是否配置成功
yum clean all
yum makecache
yum repolist
2)RHEL7本地仓库配置
mount -o ro /dev/sr0 /root/redhat 挂载镜像到本地/root/redhat
修改配置文件指定路径 /etc/yum.repos.d/test.repo
[redhat]
name=redhat
baseurl=file:///root/redhat
enable=1
gpkcheck=0
gpgkey=file:///root/redhat/RPM-GPG-KEY-redhat-release
启动yum仓库
yum clean all 清除系统默认配置的yum源
yum-config-manager --enable "redhat"
yum-config-manager --disable "redhat"
验证是否启动成功
yum list all
yum repolist
7、yum工具使用
1)安装软件包,以samba为例
yum list | grep samba yum仓库中查找samba相关包
yum install samba 安装
rpm -q samba 查看已安装信息
yum list installed|grep vsftpd
2)卸载软件包
yum -y remove samba
3)升级软件包
yum update samba
8、配置防火墙
systemctl status firewalld.service 查看防火墙状态
systemctl stop firewalld.service 关闭防火墙
systemctl list-unit-files | grep firewalld 查看防火墙是否开机启动
systemctl disable/enable firewalld 开机不启动/启动防火墙

浙公网安备 33010602011771号