【linux】yum命令|替换yum源|替换apt源|EPEL/ELRepo

目录

常见的yum命令

替换yum源

相关概念和知识

什么是yum源?

什么是换源?

替换yum源主要步骤?

替换yum源例子

1 第一步找可用的源地址

3 更新cache

yum源定义文件:.repo文件的说明

yum配置文件 

制作本地yum源(软件仓)

方法1:createrepo 命令用于创建yum源(软件仓库)

方法2:使用ISO镜像制作本地yum源

第一种:iso镜像制作本地yum源

第二种:iso镜像文件进行http共享yum源的制作

什么是EPEL/ELRepo

报错处理记录

ubuntu 源更新时的签名问题(The following signatures couldn‘t be verified)

yum “Status code: 404 for http:”错误


常见的yum命令

命令:

清理原先yum源
yum clean all
最后生成yum源缓存即可
yum makecache

#查看软件包
  yum list all                     ##列出yum源仓库里面的所有可用的安装包 
  yum list installed               ##列出所有已经安装的安装包  
  yum list available               ##列出没有安装的安装包
 #安装软件
  yum install softwarename         ##安装指定的软件
  yum reinstall softarename        ##重新安装指定的软件
  yum localinstall 第三方software   ##安装第三方文件并且会解决软件的依赖关系
  yum remove  softwarename         ##卸装指定的软件
 #查找软件的信息  
  yum info software                ##查看软的信息
  yum search keywords              ##根据关键字查找到相关安装包软件的信息
  yum whatprovides filename        ##查找包含指定文件的相关安装包
 #对于软件组
   yum groups list             ##列出软件组
   yum groups install         ##安装一个软件组
   yum group remove           ##卸载一个软件组
   yum groups info            ##查看一个软件组的信息


只下载不安装
#下载mellanox  仓库内的单个rpm:rdma-core-devel放到--downloaddir指定的目录
yum download --repo=mellanox   --downloaddir=/home/oo/  rdma-core-devel

#指定多个库
yum download --repo=intel_rdma,intel_rdma_fw   --downloaddir=./rpms/intel/ ${rpm}

#下载mellanox  仓整个仓库的rpm--downloaddir指定的目录
yum reposync --repo=mellanox   --downloaddir=./rpms/mellanox/

下载整个仓库:
yum reposync --repo=mellanox --downloaddir=./rpms/mellanox/
yum list available --repo=mellanox    #<--显示mellanox 仓库的程序包



获取rpm包包名:

Name=`rpm -q --qf=%{name}  clusterkit-1.8.428-1.58112.x86_64.rpm`


#安装整个仓库

安装:
yum repo-pkgs Network install

方法:  在.repo 文件中增加一个仓库定义,地址指向特定目录:

[lcx_pkgs]
name=lcx's rdma pkgs
baseurl= http://yum.cestc.cn/repo/cclinux/22.09.2/Network/x86_64/
gpgcheck=0
enabled=1

安装的时候,加参数  --repo 指定要安装那个仓库里面的包
yum install ibdump --repo lcx_pkgs

替换yum源

相关概念和知识

什么是yum源?

yum源就是软件仓库的地址,写在.repo文件里面,告诉yum去哪里寻找将要下载的软件。

[appstream]#<---仓库2,仓库id设置为appstream
name=CCLinux $releasever - AppStream #<---仓库2的名字
baseurl=http://yum.lcx.cn/repo/cclinux/lcx/AppStream/x86_64/os/ #<--仓库地址
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cclinuxofficial
gpgcheck=0
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

什么是换源?

源就是包的仓库,换源就是原先系统里面的.repo文件里面记录的软件仓库的地址不好用(是国外的地址,或者已经失效的地址),要给她换个别的地址。

替换yum源主要步骤?

1,替换.repo文件(或新建一个文件)或替换.repo文件里面的仓库地址

2,清理缓存

清理原先yum源

yum clean all

最后生成yum源缓存即可

yum makecache

清除缓存命令
yum clean packages:清除缓存目录下的软件包
yum clean headers:清除缓存目录下的headers
yum clean oldheaders:清除缓存目录下旧的headers
yum clean, yum clean all(= yum clean packages; yum clean oldheaders):清除缓存目录下的软件包及旧的header

替换yum源例子

1 第一步找可用的源地址

替换yum源就是更换可用的更好用的仓库地址,找可用仓库的地址的方法:

提供yum源的网站:

阿里源 https://mirrors.aliyun.com
清华大学https://mirror.tuna.tsinghua.edu.cn

网易源http://mirrors.163.com

浙江大学http://mirrors.zju.edu.cn

选上面一个站点,例如以网易源为例,访问后,操作系统列表:

我们的系统是centos,所有我点击centos

欢迎访问网易开源镜像站

镜像名上次更新时间使用帮助
archlinux/2023-03-19 11:44archlinux使用帮助
archlinux-cn/2023-03-19 11:48archlinux-cn使用帮助
archlinuxarm/2023-03-19 12:01-
centos/2023-03-19 09:29centos使用帮助
centos-vault/2023-03-14 13:33-
ceph/2023-03-19 09:24ceph使用帮助
circle/2023-03-19 02:06-
cpan/2023-03-19 12:08cpan使用帮助
cygwin/2023-03-18 23:53cygwin使用帮助
debian/2023-03-19 10:15debian使用帮助
debian-archive/

然后显示centos版本列表,我是centos7.9.2009,所以点进7.9.2009,点击os,再点击x86_64

centos-->centos7.9.2009-->os-->x86_64看到Packages这个文件夹,说明这个源(仓库)可以用,


../
EFI/                                               27-Oct-2020 00:25       -
LiveOS/                                            27-Oct-2020 00:25       -
Packages/                                          05-Nov-2020 18:37       -
images/                                            27-Oct-2020 00:26       -
isolinux/                                          05-Nov-2020 18:23       -
repodata/                                          13-Nov-2020 00:20       -
CentOS_BuildTag                                    30-Oct-2020 05:14      14
EULA                                               30-Aug-2017 22:33     227
GPL                                                10-Dec-2015 06:35     18K
RPM-GPG-KEY-CentOS-7                               10-Dec-2015 06:35    1690
RPM-GPG-KEY-CentOS-Testing-7                       10-Dec-2015 06:35    1690

把此时地址栏的地址:http://mirrors.163.com/centos/7.9.2009/os/x86_64/  复制替换repo里面的地址 替换repo里面的地址或新建一个repo文件,例如:

在/etc/yum.repos.d/目录下,新建一个repo文件,命名为CentOS7.repo,如下配置:

[CentOS7-base]   #源的ID,必填
name=CentOS-$releasever-base  #源描述,可以不填,但是会有提示
baseurl=http://mirrors.163.com/centos/7.9.2009/os/x86_64/
gpgcheck=1                    #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=1                     #是否禁用此yum源,默认为
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


#如果开启yum源包校验,则需要导入RPM公钥,此处只是在系统没有导入rpm公钥时候进行安装
#这里相当于rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
所以,在配置yum源时候,最少只需要两行即可,[reponame]和baseurl:
 

3 更新cache

清理原先yum源

yum clean all

最后生成yum源缓存即可

yum makecache


 

yum源定义文件:.repo文件的说明

repo文件是yum 源( 软件仓库 )的 配置 文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容(记录了包的下载路径,相当于寻宝图,告诉yum去哪里寻找将要下载的软件)

cat /etc/yum.d/cclinux.repo   #<----rpm包仓库列表,仓库说明文件

[baseos] #<---仓库1,仓库id设置为baseos
name=CCLinux $releasever - BaseOS  #<---仓库1的名字
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #mirrorlist用于指定镜像服务器的地址列表
baseurl=http://yum.bandaoyu.cn/repo/cclinux/lcx/BaseOS/x86_64/os/  #<--指明软件下载的路径,其中url支持的协议有 http:// ftp:// file://三种
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cclinuxofficial  
gpgcheck=1           #<--#gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1   #<--启用或禁用软件仓库。0表不启用baseurl,为1表启用baseurl路径

[appstream]#<---仓库2,仓库id设置为appstream
name=CCLinux $releasever - AppStream #<---仓库2的名字
baseurl=http://yum.lcx.cn/repo/cclinux/lcx/AppStream/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cclinuxofficial
gpgcheck=0
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

……
[xxxx]#<---仓库n,仓库id设置为xxxx
name=CCLinux $releasever -xxxx #<---仓库3的名字
baseurl=http://yum.myfish.cn/repo/cclinux/lcx/AppStream/x86_64/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cclinuxofficial
gpgcheck=0
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1


还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。


例子:
设置本地源,mout 操作系统镜像到/mnt/cdrom  :
mount -t iso9660 mylinux-x86_64.iso  /mnt/cdrom

配置源:

vim /etc/yum.repos.d/myiso.repo
[Network]
name=Network
baseurl=file:/// mnt/cdrom/Network/
gpgcheck=0
enabled=1
 
[BaseOS]
name=BaseOS
baseurl=file:/// mnt/cdrom/BaseOS/
gpgcheck=0
enabled=1
 
[AppStream]
name=AppStream
baseurl=file:/// mnt/cdrom/AppStream/
gpgcheck=0
enabled=1


安装:
yum repo-pkgs Network install


方法:  在.repo 文件中增加一个仓库定义,地址指向特定目录:

[lcx_pkgs]
name=lcx's rdma pkgs
baseurl= http://yum.cestc.cn/repo/cclinux/22.09.2/Network/x86_64/
gpgcheck=0
enabled=1

安装的时候,加参数  --repo 指定要安装那个仓库里面的包
yum install ibdump --repo lcx_pkgs




更多说明:
https://www.cnblogs.com/nineep/p/6795692.html


vi /etc/yum.conf

[main]
  cachedir=/var/cache/yum
  #cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
  debuglevel=2
  #debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录
  logfile=/var/log/yum.log
  pkgpolicy=newest
  #pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。
  distroverpkg=centos-release
  #指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
  tolerant=1
  #tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。
  exactarch=1
  #exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
  retries=20
  #retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
  obsoletes=1
  gpgcheck=1
  #gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
  reposdir=/etc/yy.rm #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件
  #默认都会被include 进来 也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个 每个里面有多少个[name] 最后其实都被整合到 一个里面看就是了 重复的[name]后面的覆盖前面的
  exclude=xxx
  #exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
  keepcache=[1 or 0]
  #  设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存

  reposdir=[包含 .repo 文件的目录的绝对路径]
  #  该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。

  vi /etc/yum.repo.d/xx.repo

  这个字段其实也可以在yum.conf里面直接配置
[serverid]
  #其中serverid是用于区别各个不同的repository(仓库;贮藏室;博物馆;亲信),必须有一个独一无二的名称。 重复了 前面覆盖后面--还是反过来呢???用enabled 测试是后面覆盖前面


  name=Some name for this server
  #name,是对repository的描述,支持像$releasever $basearch这样的变量; name=Fedora Core $releasever - $basearch - Released Updates

  baseurl=url://path/to/repository/
  #baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
  baseurl=url://server1/path/to/repository/
  url://server2/path/to/repository/
  url://server3/path/to/repository/
  #其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:
  baseurl=url://server1/path/to/repository/
  baseurl=url://server2/path/to/repository/
  baseurl=url://server3/path/to/repository/
  其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。

  #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
  #上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。

  url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:
  gpgcheck=1
  exclude=gaim
  #其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,
  failovermethod=priority
  #failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。

  enabled=[1 or 0]
  #当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。
  #通过 yum 的 --enablerepo=[repo_name] 和 --disablerepo=[repo_name] 选项,或者通过 PackageKit 的"添加/删除软件"工具,也能够方便地启用和禁用指定的软件仓库

几个变量:
$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
$arch,cpu体系,如i686,athlon等
$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
对yum.conf设定完成,我们就可以好好体验yum带来的方便了。
https://www.cnblogs.com/nineep/p/6795692.html

yum配置文件 

vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
#cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel=2
#debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录
logfile=/var/log/yum.log
pkgpolicy=newest
#pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。
distroverpkg=centos-release
#指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
tolerant=1
#tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。
exactarch=1
#exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
retries=20
#retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
obsoletes=1
gpgcheck=1
#gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
reposdir=/etc/yy.rm #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件
#默认都会被include 进来 也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个 每个里面有多少个[name] 最后其实都被整合到 一个里面看就是了 重复的[name]后面的覆盖前面的
exclude=xxx
#exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
keepcache=[1 or 0]
#设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存

reposdir=[包含 .repo 文件的目录的绝对路径]
#该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。

制作本地yum源(软件仓)

制作本地仓的用途:离线安装单个软件自动解决依赖。

例如目录myrpms下有:

a.rpm b.rpm c.rpm d.rpm f.rpm ....等N多个离线安装包

yum install *.rpm 安装,可以自动解决依赖关系。但是会把所有的rpm都安装。

而yum install a.rpm   单独安装单个rpm包,会去yum源去找依赖(本目录中找),但是由于离线,所以找不到就会报错。

如果我们把myrpms目录制作成yum仓库,然后将该目录的地址配置给yum源文件,yum install a.rpm 需要依赖包时,就会去yum源设置的仓库去找,而我们配置了本目录为仓库,它就找到了本目录下的依赖包。

方法1:createrepo 命令用于创建yum源(软件仓库)

用createrepo去创建myrpms仓库元数据

#  createrepo  -v    /path/to/myrpms

# 将我们myrpms仓库的地址配置给yum源文件

vim /etc/yum.repos.d/myrpms.repo

############################

[myrpms]  #仓库名

name=myrpms local repositry  #仓库说明

#baseurl=file:path/to/myrpms

baseurl=/path/to/myrpms  #即repodata 所在的目录

enabled=1

gpgcheck=0

#############################

#  yum clean all

#  yum repolist

yum -y install a  --repo=myrpms  #指定使用我们的仓库安装软件解决依赖关系

#此时由于使用仓库安装软件所以a 就不需要带后缀了 (如果配置多个仓库,用逗号隔开--repo=myrpms,myrpms2)

当你增加或减少目录里面的rpm包,需要更新仓库(元数据)

例如:

rpm放入myrpms/

利用createrepo工具更新repo仓库

createrepo --update ./myrpms

/path/to/myrpms 即repodata 所在的目录

方法2:使用ISO镜像制作本地yum源

使用ISO镜像制作本地yum源也有2种方式

第一种:iso镜像制作本地yum源

1.挂载

##iso镜像里面含有软件包,可以作为软件仓库,为了让iso镜像文件能够被像文件一样被便利地读取利用,将iso文件挂载在一个空的文件里面

mkdir    /mount ##创建挂载点目录,用于挂载iso镜像文件

mount  iso镜像文件路径 /mount  

2.配置.repo文件,指向我们挂载的目录

vim /etc/yum.repos.d/myyum.repo

##编写自己的yum仓库指向文件我们挂载的镜像的目录里面的 软件所在的路径

[test]
name=myyumsource
baseurl=file:///mount        #<--指向软件所在目录
gpgcheck=0 ## 0表示不检查rpm数字证书,1为检查rpm数字证书

3.刷新

yum clean all ##清空本地/var/cache/yum容器清单列表旧数据。

yum repolist ##列出所有的可用的yum仓库,执行这个命令,会重读yum源设置志向文件,刷新本地容器清单列表。

yum repolist ##列出所有的可用的yum仓库,执行这个命令,会重读yum源设置志向文件,刷新本地容器清单列表。

4.测试

用挂载的iso制作的本地源安装http :

yum install httpd

 安装http服务成功,说明源制作成功了

第二种:iso镜像文件进行http共享yum源的制作

1.挂载http目录

mkdir /var/www/html/myshare ##在http服务的目录下面创建一个挂载点(http服务可以默认的服务目录)

mount /iso/iso文件名 /var/www/html/myshare

 
刷新服务 
systemctl restart httpd

第三种IPMI、CD等装iso镜像盘yum源的制作

这些加载ISO后,在系统里面就是/dev/cdrom 

1、在IMPI 页面加载IOS镜像
2、在操作系统里面挂着到/mnt下面
mount /dev/cdrom /mnt/cdrom
3、配置yum源文件,把源指向os里面的仓库

# 将我们myrpms仓库的地址配置给yum源文件
vim /etc/yum.repos.d/myrpms.repo

[myrpms] #仓库1名
name=myrpms local repositry #仓库说明
#baseurl=file:path/to/myrpms
baseurl=/mnt/cdrom/AppStream
enabled=1
gpgcheck=0

[myrpms2] #仓库2名
name=myrpms local repositry #仓库说明
#baseurl=file:path/to/myrpms
baseurl=/mnt/cdrom/BaseOS
enabled=1
gpgcheck=0
[root@localhost ~]#

执行

# yum clean all
# yum repolist
#要安装a软件,则
yum -y install a --disablerepo="*" --enablerepo="myrpms","myrpms2" #指定使用我们的仓库安装软件解决依赖关系
或者
yum -y install a --repo=myrpms,myrpms2

#此时由于使用仓库安装软件所以a 就不需要带后缀了

3.浏览器测试

打开浏览器,输入设置的主机的ip地址后面加上挂载的文件当看到文件出现则成功了。 

添加repo仓库指向文件,让系统在寻找yum源的时候可以找到设置的http分享的yum源。

vim /etc/yum.repos.d/myshare.repo 

[share]

name=mysharesource

baseurl=http://172.25.6.10/myshare

gpgcheck=0

end

刷新 
yum clean all 
yum repolist 出现了错误
 
由于本文里面我们本地yum源制作和http-yum分享源制作使用了同一个iso文件所以我们解挂载了本地源挂载iso,执行yum repolist 命令yum源找不到我们在仓库指向文件里面指定的原本挂载在/mount的内容。现在我们可以修改第一个文件的查找点,让它找/var/www/html/myshare 挂载点。 

yum repolist

 
这下本地的挂载也成功被读取了,没有出现报错。

由于这仅仅是设置的临时的挂载我们还可以设置开机自动挂载

cat >> /etc/fstab << end

挂载文件 挂载点 文件类型 挂载参数 备份 检测

/iso/***.iso /var/www/html/myshare iso9660 ro 0 0

end

如果手工修改了 /etc/fstab文件,一定要执行 sudo findmnt --verify 来检查一下。
因为 /etc/fstab 文件改错了导致系统重启起不来)

制作局域网yum源(软件仓)

Linux之制作局域网yum源_51CTO博客_linux yum源

服务端:

1,安装httpd   

假如我们用做yum仓库的服务器地址是:10.255.126.99

yum -y install httpd    #安装服务
systemctl start httpd    #启动服务
systemctl enable httpd    #设置服务开机启动
firewall-cmd --add-port=80/tcp    #在防火墙开端口
firewall-cmd --add-port=80/tcp --permanent    #在防火墙使端口永久生效

 

2.配置yum仓库

 

mkdir   /var/www/html/ourrepo #创建目录(我们需要一个目录来放置软件包)

cp *.rpm*  /var/www/html/ourrepo/    #rpm包放到里面

yum -y install createrepo    #安装服务

cd   /var/www/html/ourrepo/

createrepo   ./            #执行命令遍历里面的rpm生成一个repodata文件,这样yum工具就能读取rpm包了

这样一个简单的yum源就制作好。怎么使用见客户短说明

 

如果里面的rpm包有更新,如何更新yun源:

createrepo --update  /var/www/html/ourrepo/

浏览器直接输入http://10.255.126.99/ourrepo  就能看到包

 

客户端:

在要安装rpm包的机器上配置yum 仓库地址,

 

vim /etc/yum.d/ourrepo.repo

[ourrepo]

name=our repo

baseurl=http://10.255.126.99/ourrepo

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cclinuxofficial

gpgcheck=1

repo_gpgcheck=0

metadata_expire=6h

countme=1

enabled=1

保存,退出,执行更新:

yum clean all

 

然后就可以yum install 里面的rpm包了。注意不要带rpm后缀

 

yum install  ethtool

如果想改/var/www/html目录,可以修改 /etc/httpd/conf/httpd.conf 下面的配置,

vim /etc/httpd/conf/httpd.conf

1、找到 DocumentRoot "/var/www/html" 这一段 ,把/var/www/html 这个目录为/home/ourrepo

2、再找到 <Directory "/var/www/html">   ,把 /var/www/html改成/home/ourrepo

httpd -t    #配置校验,无报错可以执行下一步

systemctl restart httpd    #重启服务

什么是EPEL/ELRepo

(参考:CentOS7 yum源安装EPEL/ELRepo扩展仓库步骤详解https://blog.csdn.net/m0_46521476/article/details/107903174

EPEL, 即 Extra Packages for Enterprise Linux 的简称, 既额外软件包,里面包含了许多基本源里没有的软件。epel 文件就是记录额外软件包地址的文件,我们安装epel 文件,就可以yum安装额外软件包仓库里面的软件了。

yum -y install epel-release

验证 :安装完成后 /etc/yum.repos.d/ 下多了 epel 的 repo 文件:

epel.repo 和 epel-testing.repo

报错处理记录

ubuntu 源更新时的签名问题(The following signatures couldn‘t be verified)


W: GPG error: https://cloud.r-project.org//bin/linux/ubuntu xenial/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9
W: The repository 'https://cloud.r-project.org//bin/linux/ubuntu xenial/ InRelease' is not signed.
 
解决方法:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9
Executing: /tmp/tmp.2Iiy3xQcoO/gpg.1.sh --keyserver
keyserver.ubuntu.com
--recv-keys
51716619E084DAB9
gpg: requesting key E084DAB9 from hkp server keyserver.ubuntu.com
gpg: key E084DAB9: public key "Michael Rutter <marutter@gmail.com>" imported
gpg: Total number processed: 1
然后再执行 aptitude update 就行了。

原文链接:https://blog.csdn.net/CaspianSea/article/details/112000010

yum “Status code: 404 for http:”错误

2021-08-05 10:50:01

错误:

[root@localhost ~]# yum install redis
Failed to set locale, defaulting to C.UTF-8
CentOS-mycompany - Base                                                                                                                                            1.2 kB/s | 236  B     00:00    
Errors during downloading metadata for repository 'base':
  - Status code: 404 for http://rdmirrors.h3c.com/centos/8/os/x86_64/repodata/repomd.xml (IP: 10.153.3.130)
Error: Failed to download metadata for repo 'base': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
 

分析:

HTTP  404 就是找不到网页。

将下面的yum使用的搜索路径,逐层的输入浏览器分析是哪一层开始找不到:http://rdmirrors.h3c.com/centos/8/os/x86_64/repodata/repomd.xml

最终发现http://rdmirrors.h3c.com/centos/8/ 下没有os,原来从8 开始,目录结构改变了。

 CentOS-Base.repo里面 的Base

baseurl=http://rdmirrors.h3c.com/centos/$releasever/os/$basearch/

也就是

baseurl=http://rdmirrors.h3c.com/centos/8/os/x86_64/ 明显路径不对。所以需要修改

# CentOS-Base.repo

[base]
name=CentOS-mycompany - Base
baseurl=http://rdmirrors.h3c.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://rdmirrors.h3c.com/centos/RPM-GPG-KEY-CentOS-$releasever

#released updates
[updates]
name=CentOS-mycompany - Updates
baseurl=http://rdmirrors.h3c.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://rdmirrors.h3c.com/centos/RPM-GPG-KEY-CentOS-$releasever

#additional packages that may be useful
[extras]
name=CentOS-mycompany - Extras
baseurl=http://rdmirrors.h3c.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://rdmirrors.h3c.com/centos/RPM-GPG-KEY-CentOS-$releasever

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-mycompany - Plus
baseurl=http://rdmirrors.h3c.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://rdmirrors.h3c.com/centos/RPM-GPG-KEY-CentOS-$releasever
 

其他报404错误的,如[updates]、[extras]、[centosplus]也应该这样分析。

[extras]

baseurl=http://rdmirrors.h3c.com/centos/$releasever/extras/$basearch

根据

改为

baseurl=http://rdmirrors.h3c.com/centos/$releasever/extras/$basearch/os

[centosplus]
baseurl=http://rdmirrors.h3c.com/centos/$releasever/centosplus/$basearch/

根据

改为:

[centosplus]
baseurl=http://rdmirrors.h3c.com/centos/$releasever/centosplus/$basearch/os

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
要配置yum源,首先需要编写yum配置文件。可以使用以下命令创建一个新的yum配置文件: ``` \[root@node1 yum.repos.d\]# vi /etc/yum.repos.d/base.repo ``` 在该文件中,可以添加以下内容: ``` \[base\] name=base baseurl=http://10.0.0.10/centos gpgcheck=0 enabled=1 ``` 这样就配置了一个名为base的yum源,其baseurl指向http://10.0.0.10/centos。\[1\] 如果需要查看其他yum源的安装方法,可以参考搜狐和阿里云的官方文档。搜狐的yum源安装方法可以在以下链接中找到:http://mirrors.sohu.com/help/centos.html,而阿里云的yum源可以在https://developer.aliyun.com/mirror/上找到。\[2\] 在配置完yum源后,可以使用以下命令查看本地的yum源: ``` \[root@master cdrom\]# yum repolist ``` 这个命令会列出已加载的yum源和其状态。\[3\] #### 引用[.reference_title] - *1* *3* [Linux下局域网yum源配置](https://blog.csdn.net/oldboy1999/article/details/128253434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux yum 命令详解 配置](https://blog.csdn.net/agonie201218/article/details/120860056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值