Guia definitiva: actualitzacions fora de línia de Linux per a Ubuntu Debian i CentOS RHEL
Table of Contents
Millors maneres de gestionar la instal·lació d’actualitzacions de Linux fora de línia per a Ubuntu/Debian i CentOS/RHEL
Les actualitzacions de Linux són essencials per mantenir la seguretat i l’estabilitat del vostre sistema. Tanmateix, en alguns escenaris, és possible que hàgiu de fer front a entorns fora de línia on la connectivitat a Internet és limitada o inexistent. En aquests casos, és crucial tenir una estratègia adequada per instal·lar actualitzacions fora de línia. Aquest article us guiarà a través de les millors maneres de gestionar la instal·lació d’actualitzacions de Linux per a Ubuntu/Debian i CentOS/RHEL en entorns fora de línia, centrant-vos específicament en l’ús d’un dipòsit o memòria cau local.
Configuració d’un dipòsit local
Una de les maneres més efectives de gestionar les actualitzacions fora de línia és configurar un dipòsit local. Un repositori local conté tots els paquets de programari i les actualitzacions necessàries, que us permeten actualitzar el vostre sistema sense connexió a Internet. A continuació s’explica com podeu configurar un dipòsit local tant per a distribucions basades en Debian com per a distribucions basades en Red Hat:
Per a Debian/Ubuntu
- Comenceu configurant una mirall del dipòsit de Debian en un servidor que tingui accés a Internet. Podeu utilitzar eines com
apt-mirror
ordebmirror
per crear un mirall local dels dipòsits oficials de Debian o Ubuntu.
Configuració d’un mirall del dipòsit de Debian amb apt-mirror:
# Install apt-mirror
sudo apt-get install apt-mirror
# Edit the apt-mirror configuration file
sudo nano /etc/apt/mirror.list
# Uncomment the deb line for the desired repository
# For example, uncomment the line for Ubuntu 20.04:
# deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
# Specify the mirror location
# Modify the base_path to your desired location
set base_path /path/to/mirror
# Save and close the file
# Run apt-mirror to start the mirroring process
sudo apt-mirror
# Wait for the mirroring process to complete
Configuració d’un mirall del dipòsit de Debian amb debmirror:
# Install debmirror
sudo apt-get install debmirror
# Create a directory to store the mirror
sudo mkdir /path/to/mirror
# Run debmirror to start the mirroring process
# Replace <RELEASE> with the Debian or Ubuntu release and <MIRROR_URL> with the official repository URL
# For example, to mirror Ubuntu 20.04:
sudo debmirror --arch=amd64 --verbose --method=http --dist=<RELEASE> --root=<MIRROR_URL> /path/to/mirror
# Wait for the mirroring process to complete
Instruccions del client Debian
- Configureu el vostre dipòsit local editant el **
/etc/apt/sources.list
fitxer al sistema fora de línia. Substituïu els URL del dipòsit predeterminat per l’URL del dipòsit local. Per exemple, si el vostre dipòsit local està allotjat ahttp://local-repo/ubuntu
actualitzar elsources.list
arxivar en conseqüència.
Exemple /etc/apt/sources.list
dossier:
deb http://local-repo/ubuntu focal main restricted universe multiverse
- Un cop actualitzada la configuració, podeu executar el **
apt update
comanda al sistema fora de línia per obtenir les llistes de paquets del dipòsit local.
sudo apt update
- Finalment, podeu utilitzar el **
apt upgrade
comanda per instal·lar les actualitzacions disponibles des del dipòsit local.
sudo apt upgrade
Per a CentOS/RHEL
Per configurar un dipòsit local per a CentOS/RHEL, heu d’utilitzar el
createrepo
eina. Aquesta eina crea les metadades necessàries per a un repositori local.Creeu un directori per emmagatzemar els fitxers del repositori en un servidor amb accés a Internet. Per exemple, podeu crear un directori anomenat **
local-repo
Copieu tots els fitxers i les actualitzacions del paquet RPM rellevants al **
local-repo
directori.
Configuració d’un dipòsit local amb createrepo:
# Install the createrepo tool
sudo yum install createrepo
# Create a directory to store the repository files
sudo mkdir /path/to/local-repo
# Move or copy the RPM package files and updates to the local-repo directory
# Run the createrepo command to generate the necessary repository metadata
sudo createrepo /path/to/local-repo
# Update the repository metadata whenever new packages are added or removed
sudo createrepo --update /path/to/local-repo
Un cop generades les metadades del repositori, podeu transferir-les senceres
local-repo
directori al sistema fora de línia mitjançant una unitat USB o qualsevol altre mitjà.Al sistema fora de línia, creeu-ne un
.repo
fitxer al/etc/yum.repos.d/
directori. Proporcioneu els detalls de configuració necessaris, com arabaseurl
apuntant al directori del dipòsit local.
Per exemple, creeu un fitxer anomenat local.repo
en el /etc/yum.repos.d/
directori i afegiu el contingut següent:
sudo nano /etc/yum.repos.d/local.repo
[local]
name=Local Repository
baseurl=file:///path/to/local-repo
enabled=1
gpgcheck=0
Deseu el fitxer i sortiu de l’editor.
Després de configurar el dipòsit, podeu utilitzar l’ordre yum update per instal·lar actualitzacions des del dipòsit local.
sudo yum update
Aquesta ordre actualitzarà els paquets del sistema utilitzant els paquets del repositori local.
Recordeu actualitzar el repositori local executant el fitxer createrepo
comanda sempre que s’afegeixin o s’eliminin paquets nous del repositori.
Tingueu en compte que haureu de substituir /path/to/local-repo
amb el camí real al directori on heu emmagatzemat els fitxers del dipòsit.
Configuració d’una memòria cau local
Un altre enfocament per gestionar les actualitzacions fora de línia és configurar una memòria cau local. Una memòria cau local emmagatzema els paquets i les actualitzacions descarregats, cosa que us permet distribuir-los entre diversos sistemes sense necessitat de descàrregues individuals. Hauríeu de configurar aquesta memòria cau en un sistema en línia i, a continuació, moureu el directori a un sistema que estigui fora de línia per permetre que altres sistemes accedeixin als paquets. A continuació s’explica com podeu configurar una memòria cau local tant per a distribucions basades en Debian com per a Red Hat:
Per a Debian/Ubuntu
Instal·leu i configureu
apt-cacher-ng
un servidor intermediari de memòria cau per a paquets Debian/Ubuntu. Podeu instal·lar-lo executant l’ordre **sudo apt-get install apt-cacher-ng
Un cop instal·lat, editeu el **
/etc/apt-cacher-ng/acng.conf
fitxer per configurar el comportament de la memòria cau. Assegureu-vos que el **PassThroughPattern
El paràmetre inclou els URL del repositori necessaris.
sudo nano /etc/apt-cacher-ng/acng.conf
Descomenteu o afegiu els URL del repositori necessaris al paràmetre PassThroughPattern. Per exemple, per incloure els repositoris d’Ubuntu, afegiu o descomenteu la línia següent:
PassThroughPattern: (security|archive).ubuntu.com/ubuntu
Deseu el fitxer i sortiu de l’editor.
- Inicieu el
apt-cacher-ng
servei mitjançant l’ordre **sudo systemctl start apt-cacher-ng
sudo systemctl start apt-cacher-ng
- Als sistemes fora de línia, configureu el **
/etc/apt/apt.conf.d/02proxy
fitxer per apuntar a la memòria cau local. Utilitzeu la línia següent: **Acquire::http::Proxy "http://<cache-server-ip>:3142";
sudo nano /etc/apt/apt.conf.d/02proxy
Afegiu la línia següent al fitxer, substituint per l’adreça IP del servidor de memòria cau:
Acquire::http::Proxy "http://<cache-server-ip>:3142";
Deseu el fitxer i sortiu de l’editor
- Ara, quan executeu el **
apt update
i **apt upgrade
ordres als sistemes fora de línia, recuperaran els paquets de la memòria cau local.
sudo apt update
sudo apt upgrade
Aquestes ordres obtindran i instal·laran les actualitzacions de la memòria cau local, reduint la necessitat d’accés a Internet als sistemes fora de línia.
Tingueu en compte que haureu de substituir **<cache-server-ip>
amb l’adreça IP real de la màquina on està instal·lat apt-cacher-ng.
Per a CentOS/RHEL
Per a CentOS/RHEL, podeu utilitzar
yum-cron
per configurar una memòria cau local. Instal·leu-lo executant l’ordre **sudo yum install yum-cron
Editeu el **
/etc/yum/yum-cron.conf
fitxer i configureu el **download_only
paràmetre a **yes
Això garanteix que els paquets només es baixin i no s’instal·lin automàticament.
sudo nano /etc/yum/yum-cron.conf
- Inicieu el
yum-cron
servei mitjançant l’ordre **sudo systemctl start yum-cron
sudo systemctl start yum-cron
- Als sistemes fora de línia, creeu un directori local per emmagatzemar els paquets baixats, per exemple, **
/var/cache/yum
sudo mkdir /var/cache/yum
- Copieu els paquets descarregats del sistema en línia al directori de memòria cau local.
sudo cp -R /var/cache/yum /path/to/local/cache
Substitueix /path/to/local/cache
amb el camí al directori de la memòria cau local al sistema fora de línia.
- Als sistemes fora de línia, creeu un ** nou
.repo
fitxer al **/etc/yum.repos.d/
directori, apuntant al directori de la memòria cau local.
sudo nano /etc/yum.repos.d/local.repo
Afegiu el contingut següent al fitxer, substituint <local-cache-path>
amb el camí al directori de la memòria cau local:
[local]
name=Local Cache
baseurl=file:///path/to/local/cache
enabled=1
gpgcheck=0
Deseu el fitxer i sortiu de l’editor.
- Finalment, podeu utilitzar el **
yum update
comanda als sistemes fora de línia per instal·lar actualitzacions des de la memòria cau local.
sudo yum update
Aquesta ordre actualitzarà els paquets als sistemes fora de línia utilitzant els paquets de la memòria cau local.
Tingueu en compte que haureu de substituir **<local-cache-path>
amb el camí real al directori de memòria cau local al sistema fora de línia.
Conclusió
Gestionar les actualitzacions de Linux en entorns fora de línia pot ser un repte, però amb l’enfocament adequat, podeu assegurar-vos que els vostres sistemes es mantinguin actualitzats i segurs. En aquest article, vam parlar de les millors maneres de gestionar la instal·lació d’actualitzacions fora de línia per a Ubuntu/Debian i CentOS/RHEL. Vam explorar la configuració d’un dipòsit local i la configuració d’una memòria cau local, proporcionant instruccions pas a pas per a distribucions basades en Debian i Red Hat.
Seguint aquests mètodes, podeu mantenir la seguretat i l’estabilitat dels vostres sistemes Linux, fins i tot en entorns fora de línia. Recordeu actualitzar periòdicament el vostre dipòsit o memòria cau local per incloure les últimes actualitzacions.
Referències
- apt-mirror Documentation
- debmirror Documentation
- createrepo Documentation
- apt-cacher-ng Documentation
- yum-cron Documentation