Linux中的软件管理
1.Linux中软件包的类型2.软件包的名称结构3.rpm命令管理软件包4.本地软件仓库的搭建系统软件仓库的作用搭建方法5.dnf 软件管理命令6.网络软件仓库的搭建搭建方法网络源epel6.第三方软件仓库的搭建方法步骤7.yumdownloader8. /etc/rc.d/rc.local 开机自启动文件(chmod +x /etc/rc.d/rc.local)1.Linux中软件包的类型
1.DEB #UBlinux DEBlinux
2.RPM #redhat centOS fc
3.bz2|gz|xz #1.需要源码安装需要编译
#2.绿色软件,直接可用
#ntfs-3g_ntfsprogs-.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
rpm -qf /bin/ls
查询命令的安装包
rpm -q httpd
查看是否安装此服务
[root@lzy Desktop]# rpm -q httpdhttpd-2.4.37-10.module+el8+2764+7127e69e.x86_64[root@lzy Desktop]#
4.本地软件仓库的搭建
系统软件仓库的作用
在系统中对软件进行管理
rpm命令是不能解决依赖关系的
如果需要软件在安装过程中自动解决依赖关系
需要大家系统软件仓库
搭建方法
1.在系统中加载安装系统时使用的安装镜像
mkdir /westos ##随意建立一个目录mount rhel-8.0-x86_64-dvd\(1\).iso /westos/ ##将镜像挂载到所建目录下
[root@foundation66 ~]# df ##c查看挂载Filesystem1K-blocksUsed Available Use% Mounted ondevtmpfs 3921680 0 3921680 0% /devtmpfs 3936892 18156 3918736 1% /dev/shmtmpfs 3936892 10232 3926660 1% /runtmpfs 3936892 0 3936892 0% /sys/fs/cgroup/dev/nvme0n1p7 74796360 29513244 45283116 40% //dev/nvme0n1p5 1038336 676404 361932 66% /boot/dev/nvme0n1p1 307032 51920 255112 17% /boot/efitmpfs 787376 12 787364 1% /run/user/42tmpfs 787376 44 787332 1% /run/user/0/dev/loop0 6935944 6935944 0 100% /westos
AppStream中是一些应用软件 BaseOS中是一些内核等软件 在安装软件的时候有一些依赖性,不确定依赖性在哪个库中,所以在搭建本地软件仓库的时候,两个库都写
[root@foundation66 ~]# cd /westos[root@foundation66 westos]# lsAppStream EFI extra_files.json images media.repoRPM-GPG-KEY-redhat-releaseBaseOSEULA GPLisolinux RPM-GPG-KEY-redhat-beta TRANS.TBL[root@foundation66 westos]# cd AppStream/[root@foundation66 AppStream]# lsPackages repodata[root@foundation66 AppStream]# cd Packages/[root@foundation66 Packages]# ls389-ds-base-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm389-ds-base-devel-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm389-ds-base-legacy-tools-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm389-ds-base-libs-1.4.0.20-7.module+el8+2750+1f4079fb.x86_64.rpm
2.编写软件仓库文件
/etc/yum.repos.d/
软件源指向文件配置目录
在此目录中不能有无法访问的源指向
vim /etc/yum.repos.d/xxxx.repo
##软件仓库指向文件
[AppStream]##仓库名称 应用软件name=AppStream##描述baseurl=file:///westos/AppStream##地址/westos 挂载镜像目录gpgcheck=0##不检测gpgkey(跳过授权检测) =1:检测,此时需要gpgkeygpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release ### 去检测软件是不是官方授权的[BaseOS]###系统的核心:函数库,内核name=BaseOSbaseurl=file:///westos/BaseOSgpgcheck=0enable=1 ###表示启用此库 默认为1 =0:不启用此库
3.检测仓库是否搭建好
[root@foundation66 yum.repos.d]#dnf repolist
##能列出库的资源
Updating Subscription Management repositories.Unable to read consumer identityThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.AppStream 135 MB/s | 5.3 MB00:00 BaseOS 95 MB/s | 2.2 MB00:00 repo id repo namestatusAppStreamAppStream4,672BaseOS BaseOS 1,658[root@foundation66 yum.repos.d]#
5.dnf 软件管理命令
dnf
dnf whatprovides /bin/ls
== rpm -qf /bin/ls
6.网络软件仓库的搭建
在企业中,我们维护的系统数量庞大,
当我们需要在每个系统安装软件管理软件时
可以在每个系统中各自搭建软件仓库
但是这样管理软件会浪费大量的资源
如何节省这部分重复的资源
需要把大家都要使用的资源共享到互联网中
这样大家就可以利用网络访问资源,不需要在每一台 主机中独立建立软件资源了。
搭建方法
1.利用景象搭建本地软件仓库 (见上)本地主机ip192.168.122.1
2.安装共享软件
共享方式http://超文本传输协议提供此协议的软件Apache软件包名称httpd共享位置/var/www/html安装命令 dnf install httpd -y
3.启用共享软件Apache
systemctl stop firewalld 关闭火墙systemctl disable firewalldsystemctl enable --now httpd###设置httpd开机自启动
4.建立共享目录
mkdir /var/www/html/westos
5.挂在景象到共享目录
先卸载掉之前的挂载
umount /westos
mount /xxxxxxx.iso/var/www/html/westos_8当镜像在系统中存在mount /dev/cdrom/var/www/html/westos_8当使用光驱读取镜像
vim /etc/rc.d/rc.local 在开机时自动挂载
mount /dev/cdrom /var/www/html/westos_8
chmod 755 /etc/rc.d/rc.local##给予可执行权力
重新编辑repo文件
baseurl=file:///var/www/html/westos/ AppStream|BaseOS
6.在远程主机westos_linux中访问资源并书写repo文件 ##也可以直接在本地中检测:baseurl=http://本地ip/westos/BaseOS|AppStream
vim /etc/yum.repos.d/westos.repo[AppStream]name=AppStreambaseurl=http://192.168.122.1/westos_8/AppStream/gpgcheck=0[BaseOS]name=BaseOSbaseurl=http://192.168.122.1/westos_8/BaseOS/gpgcheck=0
网络源epel
[epel]name=epelbaseurl=/epel/8/Everything/x86_64/gpgcheck=0
6.第三方软件仓库的搭建方法
可以使用dnf命令管理第三方软件
生成一个目录,存放数据,扫描,生成数据,dnf读取并数据
根据repomd.xml的指向去读primary文件,加载到/var/cache/dnf
步骤
1.建立目录
mkdir /software
2.把所有的第三方软件存放到/software中
/software中只能存在rpm类型的文件,压缩包是不能使用dnf管理的
3.采集第三方软件数据生成repodate目录
dnf install createrepo -y
安装采集工具
cd /software
进入到目录
createrepo .
对目录中进行扫描生成repodate数据目录
cretaerepo -v 指定目录
vim /etc/yum.repos.d/westos.repo[software]name=softwarebaseurl=file:///softwaregpgcheck=0
7.yumdownloader
dnf 安装服务后,看不到软件包
yumdownloader httpd
下载服务安装包到所在目录
yumdownloader httpd --destdir=/mnt --resolve
指定目录