当前位置: 首页 > news >正文

关于水果的网站开发福建网站建设优化

关于水果的网站开发,福建网站建设优化,新加坡建设网站,企业制作网站服务本章主要介绍使用 yum 对软件包进行管理。 yum 的介绍搭建yum源创建私有仓库yum客户端的配置yum的基本使用使用第三方yum源 使用rpm安装包时经常会遇到一个问题就是包依赖#xff0c;如下所示。 [rootrhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.modulee…本章主要介绍使用 yum 对软件包进行管理。 yum 的介绍搭建yum源创建私有仓库yum客户端的配置yum的基本使用使用第三方yum源 使用rpm安装包时经常会遇到一个问题就是包依赖如下所示。 [rootrhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64.rpm 错误依赖检测失败httpd-filesystem 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要httpd-filesystem 2.4.37-41.moduleel8.5.011772c8e0c271 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要httpd-tools 2.4.37-41.moduleel8.5.011772c8e0c271 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要libapr-1.so.0()(64bit) 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要libaprutil-1.so.0()(64bit) 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要mod_http2 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要system-logos(httpd-logo-ng) 被 httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64 需要 [rootrhel03 ~]# 所谓包依赖就是在安装A时必须先把B和C安装上去。如果用rpm一个个安装是非常困难的这里可以使用dnf或yum命令来解决。yum命令其实是软链接到dnf命令上的所以输 入yum或dnf都可以后文都使用yum命令介绍。  yum架构介绍  为了便于理解先看下图所示的例子。  可能我们经常会使用360软件管家管理软件包在360服务器上有各种软件在PC上的 360软件管家中搜索想要安装的软件然后单击【安装】按钮这样就可以把软件自动安装到本地了,很方便。  yum的架构也是类似的如下图所示。 在服务器上存在某个目录中存储了大量的软件包,然后通过ftp或http把此目录共享出去,使 得客户端可以通过ftp或http能访问到此目录。  在服务器端所存储的这些软件包中服务器是知道哪些包之间有依赖关系的例如A、 B、C三者之间存在依赖关系所以当客户端发布一个请求说要安装A时如下图所示。 yum安装软件包过程 此时发现A和B、C有依赖关系所以客户端会把A、B、C三 者都从服务器下载到本机的缓存,然后再把这三个包一起给安装上去。 如果假设A和B、C、X有依赖关系,但是X这个包并没有出现在现在的这个源中,那么当客户端要安装A时因为缺少了X,所 以安装是失败的。此时我们就需要在客户端上指定多个源保证所有的这些源中包含了所有需要的包如下图所示。 因为客户端指定了两个源所以当客户端发布一个请求说要 安装A时此时从第一个源中检测到了需要的依赖包B、C然 后从第二个源中找到了X客户端就会把这四个包一起下载到本地缓存中并进行安装。  用光盘搭建yum源 实验拓扑图如下图所示。  注意下面的操作都是在rhel03上做的。 修改letc/vsftpd/vsftpd.conf中的anonymous enable选项如下所示。 由anonymous_enableNO修改为anonymous_enableYES并添加如下命令。 保存退出并启动vsftpd命令如下。 [rootrhel03 ~]# systemctl enable vsftpd --now Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service. [rootrhel03 ~]# 如果已经启动过了则通过systemctl restart vsftpd重启一下使刚做的配置生效。  修改防火墙,命令如下。  [rootrhel03 ~]# firewall-cmd --add-port20-21/tcp --permanent success [rootrhel03 ~]# firewall-cmd --add-port10010-10020/tcp --permanent success [rootrhel03 ~]# firewall-cmd --reload success [rootrhel03 ~]# firewall-cmd --list-port 20-21/tcp 10010-10020/tcp 123/udp 323/udp [rootrhel03 ~]# 设置 SELinux相关的布尔值,命令如下。 [rootrhel03 ~]# setsebool -P ftpd_full_access 1 [rootrhel03 ~]# 记住,这个布尔值一定要设置否则客户端会出现如下图所示的错误。  客户端的报错信息 创建目录/var/ftp/dvd然后把光盘挂载到此目录上命令如下。 [rootrhel03 ~]# mkdir -pv /var/ftp/dvd mkdir: 已创建目录 /var/ftp/dvd [rootrhel03 ~]# mount /dev/cdrom /var/ftp/dvd mount: /var/ftp/dvd: WARNING: device write-protected, mounted read-only. [rootrhel03 ~]# 这样其他机器通过ftp访问/var/ftp/dvd时访问的就是光盘中的内容了。设置开机自动挂载修改/etc/fstab内容如下。  [rootrhel03 ~]# grep ftp /etc/fstab /dev/cdrom /var/ftp/dvd iso9660 defaults 0 0 [rootrhel03 ~]# 至此,服务器上的yum 源就已经配置好了/var/ftp/dvd中的内容如下所示。 [rootrhel03 ~]# ls /var/ftp/dvd/ AppStream BaseOS EFI EULA extra_files.json GPL images isolinux media.repo RPM-GPG-KEY-redhat-beta RPM-GPG-KEY-redhat-release TRANS.TBL [rootrhel03 ~]# 此时客户端不能直接把此目录作为源来使用服务器是知道每个包和其他包之间的依赖关系的因为系统会把某个目录包括子目录中的rpm包的元数据信息放在repodata目录中。  但是在/var/ftp/dvd中并没有repodata目录不能单纯地用mkdir命令把此目录创建出 来创建出来里面没有元数据是没用的)所以 /var/ftp/dvd并不能直接作为源来使用。先 来看AppStream目录的内容命令如下。  [rootrhel03 dvd]# ls /var/ftp/dvd/AppStream/ Packages repodata [rootrhel03 dvd]# 这里repodata是 AppStream下的目录记录了AppStream目录下所有的rpm信息此处AppStream中所有的rpm都存储在Packages目录下了。repodata中的内容大概是这样 的如下所示。  [rootrhel03 dvd]# ls /var/ftp/dvd/AppStream/repodata/ 167822ee59a5cbd329d31b2ff030cb2146b0fd624e390ffe3ac98fb641fb62f4-comps-AppStream.x86_64.xml.gz 2adf8b14deae5cde9dd015b563abdfba1d2a4c96659bf8386ff182f9400b023b-comps-AppStream.x86_64.xml 689bd45a22fedbffbc3e3b9d82109a2c6ed02ee8b2962136d63a3026f24d6ef0-filelists.xml.gz 99f06c9bf207d0b64dfecfeb768d255367de7e22522ae4669c2bf8361a2df4ef-other.xml.gz b591d9fa12e0ba5c6d75b84b605f44c1daefd514068152a3fd8ba53fdb5975eb-primary.xml.gz d12f84e558ef647914eb6d20f034920765390d579888595800f915a133457a22-modules.yaml.gz ee6f2ed466e70c8ee4dd48d8aa3897707349e31e3f546a82e121cc53cc82d8a8-productid.gz productid repomd.xml TRANS.TBL [rootrhel03 dvd]# 再来看BaseOS目录的内容命令如下。  [rootrhel03 dvd]# ls /var/ftp/dvd/BaseOS/ Packages repodata [rootrhel03 dvd]# 这里repodata是 BaseOS下的目录记录了BaseOS目录下所有的rpm信息此处 BaseOS中所有的rpm都存储在Packages目录下了。  总结repodata目录中记录了repodata所在目录下所有的rpm信息例如BaseOS 下 的repodata 记录了BaseOS目录下所有的rpm信息。 所以当前rhel03上有两个源分别是/var/ftp/dvd/AppStream 和/var/ftp/dvd/BaseOS。客户端要访问这两个源分别通过 ftp://192.168.23.33/dvd/AppStream和 ftp://192.168.23.34/dvd/BaseOS 即可。  创建私有仓库                  在rhel03上利用光盘对外提供了两个源分别是/var/ftp/dvd/ AppStream和 /var/ftp/dvd/BaseOS这两个源是光盘中自带的。下面练习如何创建一个自定义的源。  先配置rhel03使用光盘作为源在server 192.168.23.33这台机器中把光盘挂载 到/mnt 上,并在/etc/fstab中设置开机自动挂载。  [rootrhel03 dvd]# tail -1 /etc/fstab /dev/cdrom /mnt iso9660 defaults 0 0 [rootrhel03 dvd]# 这样访问/mnt时访问的就是光盘了。创建/etc/yum.repos.d/aa.repo的内容如下。  [rootrhel03 ~]# cat /etc/yum.repos.d/aa.repo [aa] nameaa baseurlfile:///mnt/AppStream enabled1 gpgcheck0[bb] namebb baseurlfile:///mnt/BaseOS enabled1 gpgcheck0 [rootrhel03 ~]# 需要注意的是这里file:后面是3个/file:是类似于http;/l、ftp:;这样的写法第三个/表示的是绝对路径。  通过yum install安装createrepo工具包命令如下。 [rootrhel03 ~]# yum -y install createrepo 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查1:24:02 前执行于 2023年12月11日 星期一 10时53分13秒。 依赖关系解决。 软件包 架构 版本 仓库 大小安装:createrepo_c x86_64 0.17.2-3.el8 aa 89 k 安装依赖关系:createrepo_c-libs x86_64 0.17.2-3.el8 aa 115 kdrpm x86_64 0.4.1-3.el8 aa 68 k事务概要安装 3 软件包总计271 k 安装大小575 k 下载软件包 运行事务检查 事务检查成功。 运行事务测试 事务测试成功。 运行事务准备中 : 1/1 安装 : drpm-0.4.1-3.el8.x86_64 1/3 安装 : createrepo_c-libs-0.17.2-3.el8.x86_64 2/3 安装 : createrepo_c-0.17.2-3.el8.x86_64 3/3 运行脚本: createrepo_c-0.17.2-3.el8.x86_64 3/3 验证 : createrepo_c-0.17.2-3.el8.x86_64 1/3 验证 : createrepo_c-libs-0.17.2-3.el8.x86_64 2/3 验证 : drpm-0.4.1-3.el8.x86_64 3/3 已更新安装的产品。已安装:createrepo_c-0.17.2-3.el8.x86_64 createrepo_c-libs-0.17.2-3.el8.x86_64 drpm-0.4.1-3.el8.x86_64 完毕 [rootrhel03 ~]# 关于yum install 命令会在后面小节中讲然后创建一个目录/var/ftp/myrepo命令如下。  [rootrhel03 ~]# mkdir /var/ftp/myrepo [rootrhel03 ~]# 从光盘中拷贝一个测试用的安装包这里就选择vsftpd的安装包。拷贝 vsftpd到 /var/ftplmyrepo中,命令如下。  [rootrhel03 ~]# cp /mnt/AppStream/Packages/vsftpd-3.0.3-34.el8.x86_64.rpm /var/ftp/myrepo/ [rootrhel03 ~]# 现在/var/ftp/myrepo中包含了一个 vsftpd的安装包命令如下。 通过createrepo工具包对/var/ftp/myrepo进行操作命令如下。 [rootrhel03 ~]# createrepo -v /var/ftp/myrepo/ 12:19:45: Version: 0.17.2 (Features: DeltaRPM LegacyWeakdeps ) 12:19:45: Signal handler setup 12:19:45: Thread pool ready Directory walk started 12:19:45: Adding pkg: /var/ftp/myrepo/vsftpd-3.0.3-34.el8.x86_64.rpm 12:19:45: Dir to scan: /var/ftp/myrepo/.repodata 12:19:45: Package count: 1 Directory walk done - 1 packages Temporary output repo path: /var/ftp/myrepo/.repodata/ 12:19:45: Creating .xml.gz files 12:19:45: Setting number of packages Preparing sqlite DBs 12:19:45: Creating databases 12:19:45: Thread pool user data ready Pool started (with 5 workers) Pool finished 12:19:45: Generating repomd.xml 12:19:45: Old repodata doesnt exists: Cannot rename /var/ftp/myrepo/repodata/ - /var/ftp/myrepo/repodata.old.4850.20231211121945.396297: No such file or directory 12:19:45: Renamed /var/ftp/myrepo/.repodata/ - /var/ftp/myrepo/repodata/ 12:19:45: Memory cleanup 12:19:45: All done [rootrhel03 ~]# /var/ftp/myrepo目录中的内容如下。 [rootrhel03 ~]# ls /var/ftp/myrepo/ repodata vsftpd-3.0.3-34.el8.x86_64.rpm [rootrhel03 ~]# 这里生成了repodata里面包含了/var/ftp/myrepo中所有的rpm包这里就一个 vsftpd)的信息,那么/var/ftp/myrepo也可以作为一个源来使用了。 yum客户端的配置  客户端要安装软件包必须指定使用哪些源在客户端上指定源的方法是在目录/etc/yum.repos.d中创建后缀是repo的文件。文件名是什么无所谓但后缀必须是 repo格式如下。  [名称] ‐‐‐‐用于标注不同的源name ‐‐‐‐注释信息baseurl ‐‐‐‐指定源的URL地址enabled ‐‐‐用于指定是否启用这个源值有0和10‐‐‐不使用这个源1‐‐‐使用这个源enabled也可以写成enablegpgcheck ‐‐‐‐用于指定安装的软件包是否要进行数字签名的验证值有0和10‐‐不对每个安装包进行数字签名验证1‐‐对每个包做数字签名的验证gpgkey/path/如果上面 gpgcheck的值设置为1需要使用此选项指定公钥;如果上面gp gcheck的值设置为0,这个选项可以不写。  在服务器端已经配置了两个源下面配置客户端让其能使用这两个源 在/etc/yum.repos.d中创建aa.repo内容如下。  [rootrhel04 ~]# cat /etc/yum.repos.d/aa.repo [aa] nameaa baseurlftp://192.168.23.33/dvd/AppStream enabled1 gpgcheck0[bb] namebb baseurlftp://192.168.23.33/dvd/BaseOS enabled1 gpgcheck0 [rootrhel04 ~]# 这里在aa.repo中配置了两个源分别标记为aa和 bb。可以把多个源写在同一个repo文件中也可以把多个源写在不同的repo文件中。  当通过ftp://192.168.23.33来访问服务器时访问的是服务器的/var/ftp目录千万不要写成ftp://192.168.23.33/var/ftp了否则对应的就是服务器的/var/ftp/var/tp目录了。  ftp://192.168.23.33/dvd对应的是服务器的/var/ftp/dvd目录但是这个不能作为源因 为/var/ftp/dvd下没有对应的repodata目录记录/var/ftp/dvd中的 rpm信息。  因为rpm包都是存储在Packages中的所以有人可能说我怕系统找不到软件包所以写成baseurlftp:/192.168.23.33/dvd/BaseOS/Packages行不行?答案是不行的你不用担心系统找不到rpm在哪里。写成baseurlftp://192.168.23.33/dvd/BaseOS会通过读取它的子目录repodata中的数据从而知道rpm在哪个目录中。  此时/etc/yum.repos.d中的文件如下。 [rootrhel04 ~]# ls /etc/yum.repos.d/ aa.repo redhat.repo [rootrhel04 ~]# 这里/etclyum.repos.d下面的redhat.repo是系统自动生成的可以不用管删除不删除都无所谓。  rhel04通过ftp访问rhel03上的源。如果想直接使用本地光盘作为yum源那么可以把光盘挂载到某个目录上,然后直接使用此目录作为源。  yum的基本使用  通过yum repolist查看当前正在使用的源命令如下。 [rootrhel04 ~]# yum repolist 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。仓库 id 仓库名称 aa aa bb bb [rootrhel04 ~]# 可以看到现在正在使用两个源aa和 bb由/etc/yum.repos.d/aa.repo文件里中括号的部分定义。  如果/etc/yum.repos.d/aa.repo的内容发生了改变需要用yum clean all 命令清空一下缓存命令如下。  [rootrhel04 ~]# yum clean all 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。13 文件已删除 [rootrhel04 ~]# 重新创建缓存数据用yum makecache命令命令如下。  [rootrhel04 ~]# yum makecache 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。aa 29 MB/s | 7.2 MB 00:00 bb 8.5 MB/s | 2.4 MB 00:00 上次元数据过期检查0:00:01 前执行于 2023年12月11日 星期一 21时22分39秒。 元数据缓存已建立。 [rootrhel04 ~]# 这步不是必需的即使不重新创建缓存数据当我们下次使用yum时也会自动创建。  查询  想查询yum源中是否存在某个包可以通过 yum search或 yum list来查询。例如要查询lrzsz这个包,命令如下。  [rootrhel04 ~]# yum search lrzsz 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:01:24 前执行于 2023年12月11日 星期一 21时22分39秒。名称 精准匹配lrzsz lrzsz.x86_64 : The lrz and lsz modem communications programs [rootrhel04 ~]# 对于yum search 来说可以在yum源中查找包名中含有lrzsz的包如果输入的是 yum search lrzs它也是能查找到的命令如下。  [rootrhel04 ~]# yum search lrzs 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:02:02 前执行于 2023年12月11日 星期一 21时22分39秒。名称 匹配lrzs lrzsz.x86_64 : The lrz and lsz modem communications programs [rootrhel04 ~]# 也就是yum search后面跟的包名可以不是完整的包名但是这个命令查询的结果无法判断这个包在系统上是否安装。可以使用yum list命令查看包是否已经安装命令如下。  [rootrhel04 ~]# yum list lrzsz 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:02:39 前执行于 2023年12月11日 星期一 21时22分39秒。 可安装的软件包 lrzsz.x86_64 0.12.20-43.el8 bb [rootrhel04 ~]# 这里显示“可安装的”说明在系统中并没有安装最后的bb说明lrzsz是在bb这个源中 的。 对于yum list来说后面必须跟上完整的包名如果跟的不是完整的包名则是查询不出来的如下所示。  [rootrhel04 ~]# yum list lrzs 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:03:36 前执行于 2023年12月11日 星期一 21时22分39秒。 错误没有匹配的软件包可以列出 [rootrhel04 ~]# 所以在使用yum list命令时可以结合通配符一起使用命令如下。  [rootrhel04 ~]# yum list lrzs\* 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:04:05 前执行于 2023年12月11日 星期一 21时22分39秒。 可安装的软件包 lrzsz.x86_64 0.12.20-43.el8 bb [rootrhel04 ~]# 这里的意思是在yum源中查找以lrzs开头的包*前面加上\的目的是防止 bash把*解析 了希望到yum源中去解析而不是在bash中解析。到底使用yum search还是yum list就要 看个人习惯了。  安装与卸载软件包  安装软件包用“yum install 包名”命令现在安装 lrzsz命令如下。  [rootrhel04 ~]# yum -y install lrzsz 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:05:02 前执行于 2023年12月11日 星期一 21时22分39秒。 依赖关系解决。 软件包 架构 版本 仓库 大小安装:lrzsz x86_64 0.12.20-43.el8 bb 84 k事务概要安装 1 软件包总下载84 k 安装大小187 k 下载软件包 lrzsz-0.12.20-43.el8.x86_64.rpm 1.3 MB/s | 84 kB 00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------- 总计 1.3 MB/s | 84 kB 00:00 运行事务检查 事务检查成功。 运行事务测试 事务测试成功。 运行事务准备中 : 1/1 安装 : lrzsz-0.12.20-43.el8.x86_64 1/1 运行脚本: lrzsz-0.12.20-43.el8.x86_64 1/1 验证 : lrzsz-0.12.20-43.el8.x86_64 1/1 已更新安装的产品。已安装:lrzsz-0.12.20-43.el8.x86_64 完毕 [rootrhel04 ~]# 这样软件包就算是安装上去了,查看,命令如下,  [rootrhel04 ~]# yum list lrzsz 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:05:36 前执行于 2023年12月11日 星期一 21时22分39秒。 已安装的软件包 lrzsz.x86_64 0.12.20-43.el8 bb [rootrhel04 ~]# 这里已显示“已安装”。 不管是安装还是卸载每次安装或卸载时都会询问如果不想被询问,可以加上y选 项y加在下面1、2、3的位置都可以。  yum 1 install 2 包名 3  卸载软件包用“yum remove 包名”命令现在把 Irzsz卸载掉命令如下。  [rootrhel04 ~]# yum -y remove lrzsz 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。依赖关系解决。 软件包 架构 版本 仓库 大小移除:lrzsz x86_64 0.12.20-43.el8 bb 187 k事务概要移除 1 软件包将会释放空间187 k 运行事务检查 事务检查成功。 运行事务测试 事务测试成功。 运行事务准备中 : 1/1 删除 : lrzsz-0.12.20-43.el8.x86_64 1/1 运行脚本: lrzsz-0.12.20-43.el8.x86_64 1/1 验证 : lrzsz-0.12.20-43.el8.x86_64 1/1 已更新安装的产品。已移除:lrzsz-0.12.20-43.el8.x86_64 完毕 [rootrhel04 ~]# 这样就把lrzsz卸载了。下面查看系统中是否还有Irzsz命令如下。  [rootrhel04 ~]# rpm -qa | grep lrzsz [rootrhel04 ~]# 如果要更新系统中的某个软件包则用“yum update包名y”命令。如果要更新系统中所有的软件包,则直接使用yum udpate -y命令即可。  查询包的信息用“yum info包名”命令命令如下。 [rootrhel04 ~]# yum info lrzsz 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:08:00 前执行于 2023年12月11日 星期一 21时22分39秒。 可安装的软件包 名称 : lrzsz 版本 : 0.12.20 发布 : 43.el8 架构 : x86_64 大小 : 84 k 源 : lrzsz-0.12.20-43.el8.src.rpm 仓库 : bb 概况 : The lrz and lsz modem communications programs URL : http://www.ohse.de/uwe/software/lrzsz.html 协议 : GPLv2 描述 : Lrzsz (consisting of lrz and lsz) is a cosmetically modified: zmodem/ymodem/xmodem package built from the public-domain version of: the rzsz package. Lrzsz was created to provide a working GNU: copylefted Zmodem solution for Linux systems.[rootrhel04 ~]# 下载  使用yum 安装软件包时先把要安装的软件包及所依赖的包都下载到本地缓存中然后再一起安装。如果只想把这些包下载下来并不安装,可以使用--downloadonly和-- downloaddir/dir选项其中--downloadonly 只让yum把软件包下载下来并不执行安装操作下载到哪个目录由--downloaddir来指定。  现在想把 httpd及其依赖的包全部下载到/xx目录首先创建/xx目录命令如下。 [rootrhel04 ~]# mkdir /xx [rootrhel04 ~]# 然后开始下载指定的包命令如下。  [rootrhel04 ~]# yum -y install httpd --downloadonly --downloaddir/xx 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:09:54 前执行于 2023年12月11日 星期一 21时22分39秒。 依赖关系解决。 软件包 架构 版本 仓库 大小安装:httpd x86_64 2.4.37-41.moduleel8.5.011772c8e0c271 aa 1.4 M 安装依赖关系:apr x86_64 1.6.3-12.el8 aa 130 kapr-util x86_64 1.6.1-6.el8 aa 105 khttpd-filesystem noarch 2.4.37-41.moduleel8.5.011772c8e0c271 aa 39 khttpd-tools x86_64 2.4.37-41.moduleel8.5.011772c8e0c271 aa 106 kmod_http2 x86_64 1.15.7-3.moduleel8.4.08625d397f3da aa 154 kredhat-logos-httpd noarch 84.5-1.el8 bb 29 k 安装弱的依赖:apr-util-bdb x86_64 1.6.1-6.el8 aa 25 kapr-util-openssl x86_64 1.6.1-6.el8 aa 27 k 启用模块流:httpd 2.4 事务概要安装 9 软件包总下载2.0 M 安装大小5.4 M YUM将仅会从事务下载软件包。 下载软件包 (1/9): apr-util-1.6.1-6.el8.x86_64.rpm 1.6 MB/s | 105 kB 00:00 (2/9): apr-util-bdb-1.6.1-6.el8.x86_64.rpm 351 kB/s | 25 kB 00:00 (3/9): apr-1.6.3-12.el8.x86_64.rpm 1.7 MB/s | 130 kB 00:00 (4/9): apr-util-openssl-1.6.1-6.el8.x86_64.rpm 2.3 MB/s | 27 kB 00:00 (5/9): httpd-filesystem-2.4.37-41.moduleel8.5.011772c8e0c271.noarch.rpm 1.3 MB/s | 39 kB 00:00 (6/9): httpd-tools-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64.rpm 3.8 MB/s | 106 kB 00:00 (7/9): mod_http2-1.15.7-3.moduleel8.4.08625d397f3da.x86_64.rpm 10 MB/s | 154 kB 00:00 (8/9): redhat-logos-httpd-84.5-1.el8.noarch.rpm 2.1 MB/s | 29 kB 00:00 (9/9): httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64.rpm 24 MB/s | 1.4 MB 00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------- 总计 15 MB/s | 2.0 MB 00:00 完毕 下载的软件包保存在缓存中直到下次成功执行事务。 您可以通过执行 yum clean packages 删除软件包缓存。 [rootrhel04 ~]# 查看一下/xx中的内容命令如下。 [rootrhel04 ~]# ls /xx apr-1.6.3-12.el8.x86_64.rpm httpd-filesystem-2.4.37-41.moduleel8.5.011772c8e0c271.noarch.rpm apr-util-1.6.1-6.el8.x86_64.rpm httpd-tools-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64.rpm apr-util-bdb-1.6.1-6.el8.x86_64.rpm mod_http2-1.15.7-3.moduleel8.4.08625d397f3da.x86_64.rpm apr-util-openssl-1.6.1-6.el8.x86_64.rpm redhat-logos-httpd-84.5-1.el8.noarch.rpm httpd-2.4.37-41.moduleel8.5.011772c8e0c271.x86_64.rpm [rootrhel04 ~]# 可以看到,已经把httpd及其依赖的包全部下载下来了。  查询缺失命令  有时想执行某个命令时却发现系统中并没有此命令如下所示。  [rootrhel04 ~]# smbclient -L //192.168.23.34 bash: smbclient: 未找到命令... 安装软件包“samba-client”以提供命令“smbclient” [N/y] n[rootrhel04 ~]# 这里会检测到smbclient命令是由安装包 samba-client安装的会询问要不要安装它如果不安装则输入“n”并按【Enter】键这里并没有让它自动安装。  没有这个命令肯定是因为某个包没有安装的缘故那么怎么知道这个命令是哪个包安装出来的呢?可以用yum whatprovides */smbclient命令来查询意思就是往yum源中大吼一嗓 子谁能提供smbclient这个命令?  这里*的意思是路径的通配符即不管smbclient在哪个目录下命令如下。  [rootrhel04 ~]# yum whatprovides */smbclient 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:13:23 前执行于 2023年12月11日 星期一 21时22分39秒。 bash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash 仓库 System 匹配来源 文件名 /usr/share/bash-completion/completions/smbclientbash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash 仓库 bb 匹配来源 文件名 /usr/share/bash-completion/completions/smbclientsamba-client-4.14.5-2.el8.x86_64 : Samba client programs 仓库 bb 匹配来源 文件名 /usr/bin/smbclient[rootrhel04 ~]# 因为可执行命令一般放在/bin或/usr/bin下所以可以判断出来要安装的软件包是 samba-client-4.13.3-3.el8.x86_64。我们现在使用yum install samba-client -y命令把它安装上去之后然后再次执行smbclient命令命令如下。  [rootrhel04 ~]# yum -y install samba-client 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:14:31 前执行于 2023年12月11日 星期一 21时22分39秒。 依赖关系解决。 软件包 架构 版本 仓库 大小安装:samba-client x86_64 4.14.5-2.el8 bb 701 k事务概要安装 1 软件包总下载701 k 安装大小2.3 M 下载软件包 samba-client-4.14.5-2.el8.x86_64.rpm 23 MB/s | 701 kB 00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------- 总计 19 MB/s | 701 kB 00:00 运行事务检查 事务检查成功。 运行事务测试 事务测试成功。 运行事务准备中 : 1/1 安装 : samba-client-4.14.5-2.el8.x86_64 1/1 运行脚本: samba-client-4.14.5-2.el8.x86_64 1/1 验证 : samba-client-4.14.5-2.el8.x86_64 1/1 已更新安装的产品。已安装:samba-client-4.14.5-2.el8.x86_64 完毕 [rootrhel04 ~]# [rootrhel04 ~]# smbclient -L //192.168.23.34 do_connect: Connection to 192.168.23.34 failed (Error NT_STATUS_CONNECTION_REFUSED)现在是已经可以执行的了. 组的使用  前面安装软件包时都是一个个安装的假设现在想在服务器上实现某个“功能”这个“功能”需要很多个包,但是不清楚需要安装哪些包怎么办?可以利用yum中的group功 能用yum grouplist命令查询系统中一共有多少组命令如下。  [rootrhel04 ~]# yum grouplist 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:16:20 前执行于 2023年12月11日 星期一 21时22分39秒。 可用环境组服务器最小安装工作站虚拟化主机定制操作系统 已安装的环境组带 GUI 的服务器 已安装组容器管理开发工具无头系统管理 可用组.NET 核心开发RPM 开发工具图形管理工具传统 UNIX 兼容性网络服务器科学记数法支持安全性工具智能卡支持系统工具 [rootrhel04 ~]# 这里显示的可用组是系统没有安装或组中的包没有安装全已安装组说明这个组是已经安装过的。如果要查看某个组的信息可以用“yum groupinfo组名”命令。例如现在要查看虚拟化主机这个组的信息,命令如下。  [rootrhel04 ~]# yum groupinfo 虚拟化主机 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:17:22 前执行于 2023年12月11日 星期一 21时22分39秒。 环境组虚拟化主机描述最小虚拟化主机。必选软件包组BaseCoreStandardVirtualization HypervisorVirtualization Tools可选软件包组Debugging ToolsNetwork File System ClientRemote Management for LinuxVirtualization Platform [rootrhel04 ~]# 可以通过“yum groupinstall 组名”来安装某个组。例如要安装虚拟化功能就把“虚拟化主机”这个组安装上去命令如下。  [rootrhel04 ~]# yum -y groupinstall 虚拟化主机 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:18:48 前执行于 2023年12月11日 星期一 21时22分39秒。 依赖关系解决。 软件包 架构 版本 仓库 大小安装组/模块包:libguestfs x86_64 1:1.40.2-28.moduleel8.5.01071767be7ac4 aa 2.7 Mlibvirt x86_64 6.0.0-37.moduleel8.5.01216240884dd2 aa 61 kvirtio-win noarch 1.9.19-1.el8 aa 180 M 安装依赖关系:autogen-libopts x86_64 5.18.12-8.el8 aa 75 kbind-export-libs x86_64 32:9.11.26-6.el8 bb 1.1 Mdhcp-client x86_64 12:4.3.6-45.el8 bb 318 kdhcp-common noarch 12:4.3.6-45.el8 bb 207 kdhcp-libs x86_64 12:4.3.6-45.el8 bb 148 kgnutls-dane x86_64 3.6.16-4.el8 aa 52 kgnutls-utils x86_64 3.6.16-4.el8 aa 348 khivex x86_64 1.3.18-21.moduleel8.5.010709b3edb581 aa 113 kipcalc x86_64 0.2.4-4.el8 bb 38 klibvirt-bash-completion x86_64 6.0.0-37.moduleel8.5.01216240884dd2 aa 61 klibvirt-client x86_64 6.0.0-37.moduleel8.5.01216240884dd2 aa 368 klibvirt-daemon-config-nwfilter x86_64 6.0.0-37.moduleel8.5.01216240884dd2 aa 67 kscrub x86_64 2.5.2-16.el8 aa 45 ksupermin x86_64 5.1.19-10.moduleel8.3.06423e4cb6418 aa 709 ksyslinux x86_64 6.04-5.el8 bb 578 ksyslinux-extlinux x86_64 6.04-5.el8 bb 140 ksyslinux-extlinux-nonlinux noarch 6.04-5.el8 bb 386 ksyslinux-nonlinux noarch 6.04-5.el8 bb 554 k 安装环境组:Virtualization Host 安装组:Base Core Standard Virtualization Hypervisor Virtualization Tools 事务概要安装 21 软件包总下载188 M 安装大小799 M 下载软件包 (1/21): autogen-libopts-5.18.12-8.el8.x86_64.rpm 843 kB/s | 75 kB 00:00 (2/21): gnutls-dane-3.6.16-4.el8.x86_64.rpm 547 kB/s | 52 kB 00:00 (3/21): gnutls-utils-3.6.16-4.el8.x86_64.rpm 2.3 MB/s | 348 kB 00:00 (4/21): hivex-1.3.18-21.moduleel8.5.010709b3edb581.x86_64.rpm 1.2 MB/s | 113 kB 00:00 (5/21): libvirt-6.0.0-37.moduleel8.5.01216240884dd2.x86_64.rpm 977 kB/s | 61 kB 00:00 (6/21): libvirt-bash-completion-6.0.0-37.moduleel8.5.01216240884dd2.x86_64.rpm 1.7 MB/s | 61 kB 00:00 (7/21): libvirt-daemon-config-nwfilter-6.0.0-37.moduleel8.5.01216240884dd2.x86_64.rpm 939 kB/s | 67 kB 00:00 (8/21): scrub-2.5.2-16.el8.x86_64.rpm 518 kB/s | 45 kB 00:00 (9/21): libvirt-client-6.0.0-37.moduleel8.5.01216240884dd2.x86_64.rpm 2.1 MB/s | 368 kB 00:00 (10/21): libguestfs-1.40.2-28.moduleel8.5.01071767be7ac4.x86_64.rpm 7.3 MB/s | 2.7 MB 00:00 (11/21): supermin-5.1.19-10.moduleel8.3.06423e4cb6418.x86_64.rpm 4.7 MB/s | 709 kB 00:00 (12/21): dhcp-client-4.3.6-45.el8.x86_64.rpm 7.2 MB/s | 318 kB 00:00 (13/21): bind-export-libs-9.11.26-6.el8.x86_64.rpm 6.7 MB/s | 1.1 MB 00:00 (14/21): dhcp-common-4.3.6-45.el8.noarch.rpm 2.6 MB/s | 207 kB 00:00 (15/21): dhcp-libs-4.3.6-45.el8.x86_64.rpm 4.8 MB/s | 148 kB 00:00 (16/21): ipcalc-0.2.4-4.el8.x86_64.rpm 1.5 MB/s | 38 kB 00:00 (17/21): syslinux-extlinux-6.04-5.el8.x86_64.rpm 3.3 MB/s | 140 kB 00:00 (18/21): syslinux-6.04-5.el8.x86_64.rpm 8.0 MB/s | 578 kB 00:00 (19/21): syslinux-extlinux-nonlinux-6.04-5.el8.noarch.rpm 4.2 MB/s | 386 kB 00:00 (20/21): syslinux-nonlinux-6.04-5.el8.noarch.rpm 6.1 MB/s | 554 kB 00:00 (21/21): virtio-win-1.9.19-1.el8.noarch.rpm 43 MB/s | 180 MB 00:04 ------------------------------------------------------------------------------------------------------------------------------------------------------------- 总计 41 MB/s | 188 MB 00:04 运行事务检查 事务检查成功。 运行事务测试 事务测试成功。 运行事务准备中 : 1/1 安装 : syslinux-nonlinux-6.04-5.el8.noarch 1/21 安装 : syslinux-6.04-5.el8.x86_64 2/21 安装 : syslinux-extlinux-nonlinux-6.04-5.el8.noarch 3/21 安装 : syslinux-extlinux-6.04-5.el8.x86_64 4/21 运行脚本: syslinux-extlinux-6.04-5.el8.x86_64 4/21 安装 : ipcalc-0.2.4-4.el8.x86_64 5/21 安装 : dhcp-libs-12:4.3.6-45.el8.x86_64 6/21 安装 : dhcp-common-12:4.3.6-45.el8.noarch 7/21 安装 : bind-export-libs-32:9.11.26-6.el8.x86_64 8/21 运行脚本: bind-export-libs-32:9.11.26-6.el8.x86_64 8/21 安装 : dhcp-client-12:4.3.6-45.el8.x86_64 9/21 安装 : supermin-5.1.19-10.moduleel8.3.06423e4cb6418.x86_64 10/21 安装 : scrub-2.5.2-16.el8.x86_64 11/21 安装 : libvirt-daemon-config-nwfilter-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 12/21 运行脚本: libvirt-daemon-config-nwfilter-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 12/21 安装 : libvirt-bash-completion-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 13/21 安装 : hivex-1.3.18-21.moduleel8.5.010709b3edb581.x86_64 14/21 安装 : gnutls-dane-3.6.16-4.el8.x86_64 15/21 安装 : autogen-libopts-5.18.12-8.el8.x86_64 16/21 安装 : gnutls-utils-3.6.16-4.el8.x86_64 17/21 安装 : libvirt-client-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 18/21 运行脚本: libvirt-client-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 18/21 安装 : libvirt-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 19/21 安装 : libguestfs-1:1.40.2-28.moduleel8.5.01071767be7ac4.x86_64 20/21 运行脚本: libguestfs-1:1.40.2-28.moduleel8.5.01071767be7ac4.x86_64 20/21 安装 : virtio-win-1.9.19-1.el8.noarch 21/21 运行脚本: libvirt-daemon-config-nwfilter-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 21/21 运行脚本: virtio-win-1.9.19-1.el8.noarch 21/21 验证 : autogen-libopts-5.18.12-8.el8.x86_64 1/21 验证 : gnutls-dane-3.6.16-4.el8.x86_64 2/21 验证 : gnutls-utils-3.6.16-4.el8.x86_64 3/21 验证 : hivex-1.3.18-21.moduleel8.5.010709b3edb581.x86_64 4/21 验证 : libguestfs-1:1.40.2-28.moduleel8.5.01071767be7ac4.x86_64 5/21 验证 : libvirt-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 6/21 验证 : libvirt-bash-completion-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 7/21 验证 : libvirt-client-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 8/21 验证 : libvirt-daemon-config-nwfilter-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 9/21 验证 : scrub-2.5.2-16.el8.x86_64 10/21 验证 : supermin-5.1.19-10.moduleel8.3.06423e4cb6418.x86_64 11/21 验证 : virtio-win-1.9.19-1.el8.noarch 12/21 验证 : bind-export-libs-32:9.11.26-6.el8.x86_64 13/21 验证 : dhcp-client-12:4.3.6-45.el8.x86_64 14/21 验证 : dhcp-common-12:4.3.6-45.el8.noarch 15/21 验证 : dhcp-libs-12:4.3.6-45.el8.x86_64 16/21 验证 : ipcalc-0.2.4-4.el8.x86_64 17/21 验证 : syslinux-6.04-5.el8.x86_64 18/21 验证 : syslinux-extlinux-6.04-5.el8.x86_64 19/21 验证 : syslinux-extlinux-nonlinux-6.04-5.el8.noarch 20/21 验证 : syslinux-nonlinux-6.04-5.el8.noarch 21/21 已更新安装的产品。已安装:autogen-libopts-5.18.12-8.el8.x86_64 bind-export-libs-32:9.11.26-6.el8.x86_64 dhcp-client-12:4.3.6-45.el8.x86_64 dhcp-common-12:4.3.6-45.el8.noarch dhcp-libs-12:4.3.6-45.el8.x86_64 gnutls-dane-3.6.16-4.el8.x86_64 gnutls-utils-3.6.16-4.el8.x86_64 hivex-1.3.18-21.moduleel8.5.010709b3edb581.x86_64 ipcalc-0.2.4-4.el8.x86_64 libguestfs-1:1.40.2-28.moduleel8.5.01071767be7ac4.x86_64 libvirt-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 libvirt-bash-completion-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 libvirt-client-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 libvirt-daemon-config-nwfilter-6.0.0-37.moduleel8.5.01216240884dd2.x86_64 scrub-2.5.2-16.el8.x86_64 supermin-5.1.19-10.moduleel8.3.06423e4cb6418.x86_64 syslinux-6.04-5.el8.x86_64 syslinux-extlinux-6.04-5.el8.x86_64 syslinux-extlinux-nonlinux-6.04-5.el8.noarch syslinux-nonlinux-6.04-5.el8.noarch virtio-win-1.9.19-1.el8.noarch 完毕 [rootrhel04 ~]# 这样就把需要的组安装完成了。如果卸载用“yum groupremove 组名”命令即可。  使用第三方yum源  对于rhel04来说通过ftp可以访问rhel03上光盘中的包。但是有许多包在光盘中并没 有例如要安装ansible命令如下。  [rootrhel04 ~]# yum list ansible 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。上次元数据过期检查0:21:05 前执行于 2023年12月11日 星期一 21时22分39秒。 错误没有匹配的软件包可以列出 [rootrhel04 ~]# 可以看到光盘中并没有ansible这个包所以此时要使用第三方的yum源。对于CentOS 或RHEL来说最常用的源就是epel了下面演示如何给server2添加 epel源。  先安装epel安装包命令如下。  [rootrhel04 ~]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm安装好之后会生成一系列的repo文件如下所示。  [rootrhel04 ~]# ls /etc/yum.repos.d/ aa.repo epel-modular.repo epel.repo epel-testing-modular.repo epel-testing.repo redhat.repo [rootrhel04 ~]# 把这些以 epel开头的repo文件中的地址换成阿里云的地址命令如下。 [rootrhel04 ~]# sed -i s|^#baseurlhttps://download.example/pub|baseurlhttps://mirrors.aliyun.com| /etc/yum.repos.d/epel* [rootrhel04 ~]# sed -i s|^metalink|#metalink| /etc/yum.repos.d/epel* [rootrhel04 ~]# 这样rhel04就可以使用epel源了。  上面的操作步骤可以到阿里云官方镜像站https://developer.aliyun.com/mirror/单击 epel之后可以看到具体步骤。  [rootrhel04 ~]# yum list ansible 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。Extra Packages for Enterprise Linux 8 - x86_64 1.4 MB/s | 16 MB 00:11 上次元数据过期检查0:00:11 前执行于 2023年12月11日 星期一 21时48分39秒。 可安装的软件包 ansible.noarch 8.3.0-1.el8 epel [rootrhel04 ~]# 可以看到,此时rhel04所使用的源中已经有ansible了。
http://www.zqtcl.cn/news/674591/

相关文章:

  • 沧州网站建设微艾薇怎样给企业做网站
  • 如何做淘宝客的网站个人网站设计与制作代码
  • 信用门户网站建设观摩惠州专业做网站
  • wordpress打开网站前广告佛山百度推广seo服务
  • 松北建设局网站vps 用ip可以访问网站么
  • 网站图片内容免费开源crm
  • wordpress调用分类栏目wordpress文章优化
  • 建站公司上海企业官网模板下载
  • 网站建设推广话术wordpress 不显示缩略图
  • 企业电子商务网站建设和一般百拓公司做网站怎么样
  • 吉林网站建设司上海什么做网站的公司比较好
  • 吉安市建设规划局网站jsp wordpress
  • 建设银行贵金属网站微信小程序注册后怎么使用
  • 如何做律师网站河南建网站 优帮云
  • 云阳如何做网站网站建设旅游
  • 推荐一个简单的网站制作单位网站服务的建设及维护
  • tp5网站文档归档怎么做网站 信用卡支付接口
  • phpcms 企业网站网站建设中单页代码
  • 坑梓网站建设方案网络编程技术及应用
  • 电子商务网站建设 价格新媒体运营需要具备哪些能力
  • 做生存分析的网站电商网站运营建设的目标
  • 佛山 做网站邮箱官方网站注册
  • 生成flash的网站源码表白二维码制作网站
  • 定做专业营销型网站网站开发应用
  • 万盛建设局官方网站如何用群晖nas做网站
  • 建设装饰网站郑州惠济区建设局网站
  • 网站做标题有用吗网站优化多少钱
  • 婚庆设备租赁网站源码如何进行网站的建设和维护
  • 青岛做网站公wordpress文章付费阅读
  • 小灯具网站建设方案360优化大师