EPEL (Extra Packages for Enterprise Linux) je dodatni repozitorij paketov projekta Fedora za Red Hat Enterprise Linux in z njim združljive sisteme, torej za AlmaLinux in Rocky Linux. Vsebuje programe, ki jih v lastnih repozitorijih distribucije ni, na primer htop, btop, ncdu, fail2ban ali certbot. Paketi EPEL ne prepisujejo lastnih paketov sistema, le dopolnjujejo jih, zato ga je na strežniku običajno mogoče vklopiti brez težav.
Korake smo preizkusili v sistemih AlmaLinux 10.2 in 9.8. Ukaze zaganjaj kot uporabnik root ali s sudo (glej: Uporaba ukaza sudo s primeri).
1. Namestitev EPEL
AlmaLinux nastavitveni paket EPEL dobavlja v lastnem repozitoriju extras, zato URL-ja ni treba navesti:
sudo dnf install epel-release
Na koncu namestitve paket izpiše:
Many EPEL packages require the CodeReady Builder (CRB) repository.
It is recommended that you run /usr/bin/crb enable to enable the CRB repository.
Če repozitorij extras iz nekega razloga ni na voljo (na primer na okrnjeni sliki), lahko epel-release namestiš tudi neposredno s strani Fedore:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm # AlmaLinux 10
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm # AlmaLinux 9
V preizkusu je to prineslo novejšo izdajo paketa (epel-release-10-8, v repozitoriju extras je bila 10-6); nastavitev repozitorija je enaka, posodobitve pa nato upravlja dnf.
2. Vklop repozitorija CRB
CRB (CodeReady Builder) je eden lastnih repozitorijev AlmaLinuxa, z razvojnimi knjižnicami. Veliko paketov EPEL temelji na njih, zato ga je treba vklopiti skupaj z EPEL. Za to epel-release namesti tudi majhen pomožni program:
sudo crb enable
Enabling CRB repo
CRB repo is enabled and named: crb
Njegovo stanje pokaže sudo crb status. Ukaz crb zahteva pravice root, brez sudo vrne napako „Permission denied”.
V preizkusu je bil na cloud image AlmaLinux 10 CRB že privzeto vklopljen, na AlmaLinux 9 pa ne. crb enable je v obeh primerih varno zagnati: če je repozitorij že aktiven, ne spremeni ničesar. Isto dosežeš tudi z ukazom dnf config-manager --set-enabled crb.
3. Preverjanje
dnf repolist
Na seznamu se morata prikazati repozitorija epel in crb. V AlmaLinux 9 se doda tudi repozitorij z imenom epel-cisco-openh264; ta vsebuje video kodek OpenH264, ki ga je prevedel Cisco, na strežniku z njim ni dela.
Velikost repozitorija pokaže dnf repolist -v epel. V času preizkusa je EPEL 10 vseboval približno 23 900, EPEL 9 pa približno 26 500 paketov.
4. Namestitev paketa iz EPEL
Po vklopu EPEL pakete nameščaš enako kot sistemske:
sudo dnf install htop ncdu btop
Ob namestitvi prvega paketa EPEL dnf vpraša, ali naj uvozi podpisni ključ EPEL (v AlmaLinux 9: Userid : "Fedora (epel9) <epel@fedoraproject.org>", ključ pride iz datoteke /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9 na računalniku); potrdi z y. V času preizkusa so bile za AlmaLinux 10 na voljo na primer te različice: htop 3.3.0, btop 1.4.7, ncdu 1.22, fail2ban 1.1.0, certbot 4.2.0 in pripadajoči python3-certbot-nginx.
O uporabnih paketih EPEL govori več naših člankov: Namestitev in uporaba htop, Namestitev in nastavitev Fail2ban, Pridobitev potrdila Let’s Encrypt s Certbotom.
Kateri paket je prišel iz EPEL?
dnf repository-packages epel list --installed
Isto krajše: dnf list --installed | grep @epel. Zadnji stolpec izpisa (@epel) pokaže vir:
btop.aarch64 1.4.7-1.el10_2 @epel
htop.aarch64 3.3.0-5.el10_0 @epel
ncdu.aarch64 1.22-1.el10_1 @epel
Za razpoložljiv paket dnf info htop navede, iz katerega repozitorija bi prišel (Repository : epel). Več imen paketov hkrati preveriš takole:
dnf repoquery --repo epel --available eza btop nvtop
Prikažejo se le tisti, ki so v EPEL: v preizkusu sta bila btop in nvtop, eza pa ne.
Paketi v preizkušanju
Repozitorij epel-testing vsebuje posodobitve, namenjene v EPEL, ki so še v preizkušanju, in je privzeto izklopljen. Na produkcijskem strežniku ga ne vklopi trajno; če potrebuješ popravek napake, ga lahko uporabiš za en ukaz:
sudo dnf --enablerepo=epel-testing upgrade htop
Izklop EPEL
Če ga želiš izključiti le začasno (na primer za raziskavo navzkrižja paketov), repozitorij izklopi in ga po potrebi omogoči za posamezen ukaz:
sudo dnf config-manager --set-disabled epel
sudo dnf --enablerepo=epel install nvtop
sudo dnf config-manager --set-enabled epel
V izklopljenem stanju tudi paketi EPEL ne dobivajo posodobitev. Trajna odstranitev:
sudo dnf remove epel-release
To izbriše le nastavitev repozitorija. Programi, nameščeni iz EPEL, ostanejo na računalniku in delujejo, od tedaj pa ne dobivajo posodobitev, kar je z varnostnega vidika tveganje. Če jih ne potrebuješ, jih najprej odstrani, seznam da ukaz iz prejšnjega razdelka.
Posodobitve
Paketi EPEL se posodabljajo skupaj z drugimi paketi sistema z ukazom dnf upgrade, nanje pa se razteza tudi samodejno posodabljanje (glej: Posodabljanje sistema: dnf, apt in samodejne posodobitve).
EPEL vzdržujejo prostovoljci Fedore in ne spada med podprte pakete AlmaLinuxa. Posodobitev paketa EPEL lahko, sicer redko, spremeni njegovo vedenje, zato pri pomembni storitvi po posodobitvi preveri delovanje. Če bi vzdrževanje strežnika raje zaupal nam, priporočamo našo storitev upravljanega VPS; za lastno upravljanje je mogoče naše KVM VPS namestiti tudi z AlmaLinuxom.
Rocky Linux in Red Hat Enterprise Linux
V Rocky Linuxu so ukazi enaki. V Red Hat Enterprise Linuxu epel-release ni v repozitorijih Red Hat: tam ga je treba namestiti s strani Fedore, z URL-jem, CRB pa vklopiš z ukazom subscription-manager repos.
Če bi v naslednjem koraku rad namestil novejši PHP ali Redis, repozitorij Remi temelji na EPEL.