linux下系统中的软件管理
1.linux中软件包的类型
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fadora
3.bz2|gz|xz #需要源码安装需要编译 需要编译 “configure”
#绿色软件,直接可用
#ntfs-3g_ntfsprogs-2017.3.23.tgz
#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命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系;需要大家系统软件仓库
搭建方法
cd /isos
mkdir /westos
1.在系统中加载安装系统时使用的安装镜像
mount /isos/rhel8.2-xxxxxxxx.iso /westos/ #把镜像挂载到westos文件中
2.编写软件仓库文件
/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
3.test
dnf install gcc -y #安装gcc
5.dnf 软件管理命令
安装管理包 只可以装官方软件
dnf repolist ##列出仓库信息
clean all ##清除系统中已经加载的仓库缓存信息
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 ##查看软件组信息yumdownloader
列出仓库信息
下载安装包
yumdownloader #下载软件包到本机指定位置
yumdownloader httpd #下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt #下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve #下载仓库中指定软件安装包和软件依赖性到/mnt目录
6.网络软件仓库的搭建
westos_linux: 172.25.254.50
westos_node1: 172.25.254.119
在westos_node1中已经搭建好软件仓库,
在westos_linux中是无法访问的
在企业中,我们维护的系统数量庞大,当我们需要在每个系统安装软件管理软件时,可以在每个系统中各自搭建软件仓库,但是这样管理软件会浪费大量的资源。如何节省这部分重复的资源,需要把大家都要使用的资源共享到互联网中,这样大家就可以利用网络访问资源,不需要在每一台主机中独立建立软件资源了。
搭建方法
1.利用景象搭建本地软件仓库
2.安装共享软件
#共享方式http:// 超文本传输协议
#提供此协议的软件 Apache
#软件包名称 httpd
#共享位置 /var/www/html
#安装命令 在westos_node1: dnf install httpd -y
3.启用共享软件Apache
# systemctl stop firewalld
# systemctl disable firewalld
# systemctl enable --now httpd
4.建立共享目录
mkdir /var/www/html/westos
5.挂在景象到共享目录
umount /xxxxxx.iso
mount /xxxxxxx.iso /var/www/html/westos 当镜像在系统中存在
vim /etc/rc.d/rc.local 在开机时自动挂
mount /xxxx.iso /var/www/html/westos
chmod 755 /etc/rc.d/rc.local
6.在远程主机westos中访问资源并书写repo文件
vim /etc/yum.repos.d/westos.repo
[AppStream]
name=AppStream
baseurl=http://172.25.254.50var/www/html/westos/AppStream/
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=http://172.25.254.50/var/www/html/westos/BaseOS/
gpgcheck=0
6.第三方软件仓库的搭建方法
可以使用dnf命令管理第三方软件
并使第三方软件在网络中共享
步骤
1.建立共享目录
mkdir /software
2.把所有的第三方软件(rpm格式)存放到/var/www/html/software中
/software中只能存在rpm类型的文件,压缩包是不能使用dnf管理的
3.采集第三方软件数据生成repodate目录
dnf install createrepo -y 安装采集工具
cd /software 进入到共享目录
createrepo . 对共享目录中进行扫描生成repodate数据目录
4.在测试主机中指定第三方共享源
vim /etc/yum.repos.d/westos.repo
#[software]
#name=software
#baseurl=http://172.25.254.20/software
#gpgcheck=0
#enabled=0 #暂不启用
dnf install createrepo -y #安装createrepo
createrepo -v /software/ #扫描/software/
产生repodata文件
开启software仓库
vim /etc/yum.repos.d/westos.repo
#[software]
#name=software
#baseurl=http://172.25.254.20/software
#gpgcheck=0
#enabled=1 #启用
第三方软件配置完成。