Análisis detallado de yum y repo

Tabla de contenido

Uno, rpm, mmm, repositorio

2. Análisis detallado de archivos de repositorio

3. Comandos de uso común

4. Cambie epel.repo a la fuente Tsinghua

Uno, rpm, mmm, repositorio

RPM
RPM (Administrador de paquetes de Red-hat), es un administrador de paquetes desarrollado por primera vez por Red Hat, y actualmente es el administrador de paquetes predeterminado para la mayoría de las distribuciones de Linux . Los paquetes administrados por RPM terminan todos en .rpm, que almacena el paquete comprimido de instalación del software, así como alguna información adicional, como el resto de los paquetes dependientes y algunos scripts ejecutados durante la instalación, actualización y desinstalación.

Se ve muy bien Cuando desee instalar el software, descargue un archivo oficial .rpm y luego instálelo con RPM. Pero la realidad a menudo no es tan suave. Cuando se instala un paquete, a menudo depende de muchos otros paquetes.Si estos paquetes dependientes no se instalan, causará muchos problemas inesperados. Una de las desventajas de RPM es que puede detectar si estos paquetes dependientes están instalados, pero si hay paquetes que no están instalados, no los instalará automáticamente.

Por lo tanto, se necesita una nueva herramienta para compensar esta deficiencia, y esta nueva herramienta es Yum en Centos.

Yum
Yum (Yellowdog Updater Modified), también una herramienta de administración de paquetes, solo se aplica a las distribuciones de Red Hat y Centos. En comparación con RPM, la ventaja de Yum es que puede detectar automáticamente dependencias e instalar automáticamente dependencias que no existen.

Entonces, Yum generalmente se usa para operaciones de paquetes, como ver, instalar, actualizar, eliminar, etc.

Pero hay otro problema. El paquete RPM solo contiene el nombre del paquete dependiente. ¿Cómo sabe Yum dónde descargar estos paquetes? Si hay un almacén con miles de paquetes para que Yum elija, este problema se resolverá fácilmente.

Sí, muchas empresas y grupos mantienen este tipo de almacenes, que se denominan repositorio o repo para abreviar.

Repo
Repo es como un gran almacén . Cada repositorio contiene muchos archivos .rpm, pero es imposible que un repositorio incluya todos los paquetes .rpm del mundo. A menudo, una colección de paquetes para un propósito específico se coloca en uno. En el repo, por ejemplo, cree un repositorio para el paquete básico requerido por centos, coloque un repositorio para el paquete con funciones adicionales, mysql mantiene su propio repositorio, docker mantiene su propio repositorio, etc. Por lo tanto, a menudo necesitamos configurar varias direcciones de repositorio en una máquina para que yum consulte y seleccione, y al instalar software nuevo, es posible que también necesitemos instalar su propio repositorio para usarlo.

Echemos un vistazo más de cerca a cómo configurar el repositorio localmente.

Explicación detallada de los archivos de repositorio
La ruta para almacenar archivos de repositorio en centos es /etc/yum.repos.d/, cada archivo termina en .repo y cada archivo puede contener información sobre uno o más repositorios.
 

2. Análisis detallado de archivos de repositorio

[root@k8s-master yum.repos.d]# cat /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[base]: esta es la identificación del repositorio, debe ser única en este archivo. Puede haber varios repositorios en un archivo de repositorio.

name=xxx - Esta es la información de descripción del repositorio, y se incluye una variable, que es 7 en mi caso

mirrorlist=xxx - Después de abrir esta URL, es una lista de direcciones. Yum irá a cada dirección por turno para intentar descargar el paquete que desea instalar. Si la descarga falla después de recorrer todas las direcciones, aparecerá un error. lanzado al usuario, y epel.repo contiene espejos.bfsu.edu.cn, espejos.tuna.tsinghua.edu.cn y otras fuentes.

gpgcheck=1 - gpgcheck es un método de verificación clave exclusivo de la imagen oficial, 1 significa verificar

gpgkey=xxx: la clave pública utilizada para gpgcheck almacenada localmente, puede verla visitando el enlace con un navegador

enable=1 - 1 significa habilitado, 0 significa obsoleto.

3. Comandos de uso común

#查看所有repo,展示所有repo源,包含enable和disable的。
yum repolist all
yum repolist | grep ****

#清除缓存,通常在卸载或更新服务时候会使用,防止重新安装老版本。
yum clean all  =  (= yum clean packages; yum clean oldheaders)

#将yum安装的包保存在缓存中,remove后且在断网情况下还能yum成功,但实际yum安装中,
会自动将文件保存在缓存中,所以这条命令其实没什么用,但最好还是在安装完成后使用该命令。
yum makcache

#升级所有包同时也升级软件和系统内核
yum -y update

#只升级所有包,不升级软件和系统内核
yum -y upgrade

#卸载服务或应用
yum remove -y ***

#列出任何可更新的软件清单
yum check-update

#安装任何更新软件
yum update ***

#仅安装指定的软件
yum install ***

#仅更新指定的软件
yum update ***

#列出任何可安裝的软件清单
yum list
yum list | grep ***

 Puede ver que el archivo de repositorio tiene tres fuentes de repositorio

#查看阿里云的CentOS-Base.repo
[root@k8s-master yum.repos.d]# cat CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

mmm repolis | grep CentOS

El número en el extremo derecho indica el número de archivos rpm en el repositorio

Establezca la propiedad enable del repositorio con id [extras] en 0

 mmm repolis | grep CentOS

Verifique nuevamente, los [extras] recién establecidos en 0 ya no se muestran.

4. Cambie epel.repo a la fuente Tsinghua

yum instalar epel-liberación

Actualmente, tuna ya se encuentra en la lista de espejos oficial de epel, por lo que no es necesario realizar ningún cambio, el mecanismo de la lista de espejos puede hacer que su servidor use el espejo de tuna cercano. Si desea obligar a su servidor a usar el espejo de atún, puede modificar /etc/yum.repos.d/epel.repo y comentar las líneas que comienzan con mirrorlist y metalink.

A continuación, elimine el comentario de la línea que comienza con baseurl en este archivo y reemplace http://download.fedoraproject.org/pub con https://mirrors.tuna.tsinghua.edu.cn.

antes del cambio

después del cambio

referencia:

La diferencia entre rpm, repo y yum y explicaciones detalladas (ejemplo para instalar y actualizar mysql en centos7)_centos yum repo_T-type person Xiaofu blog-CSDN blog

Supongo que te gusta

Origin blog.csdn.net/weixin_48878440/article/details/130646246
Recomendado
Clasificación