Situatie
Rocky Linux mentine pachetele de web-stack conservative, ceea ce este exact ce au nevoie multe servere pana cand o aplicatie solicita o ramura PHP mai noua, un server Redis curent sau extensii de cache care corespund unui stream PHP mai nou. Pentru a instala repository-ul Remi RPM pe Rocky Linux, adaugati EPEL plus repository-ul de dependente CRB sau PowerTools corespunzator, apoi instalati pachetul de lansare Remi pentru versiunea majora a Rocky Linux 10, 9 sau 8.
Repository-ul Remi este deosebit de util pentru module streams PHP 8.5, 8.4 si 8.3, inclusiv pachete de extensii precum php-pecl-redis6. Stream-urile mai vechi exista in continuare pentru migrari, dar suportul upstream PHP a incetat pentru mai multe dintre ele, deci mentineti ramurile legacy temporar, cu exceptia cazului in care furnizorul aplicatiei le impune.
Solutie
Pasi de urmat
Instalarea repository-ului Remi RPM pe Rocky Linux
Actualizarea Rocky Linux inainte de adaugarea Remi RPM
Reimprospatati metadatele pachetelor si aplicati actualizarile disponibile inainte de a adauga un repository third-party:
sudo dnf upgrade --refreshComenzile care incep cu sudo necesita un cont de administrator. DNF afiseaza tranzactia de pachete inainte de a modifica sistemul, deci revizuiti lista de actualizari inainte de a confirma.
Alegerea pachetului Remi RPM pentru Rocky Linux
Remi publica RPM-uri stabile de lansare pentru versiuni majore in directorul sau de repository Enterprise Linux, deci folositi permalink-ul remi-release-10.rpm, remi-release-9.rpm sau remi-release-8.rpm in loc sa codificati un fisier de lansare minora precum remi-release-9.7.rpm. Permalink-ul urmareste cel mai recent pachet Remi suportat pentru acea ramura Enterprise Linux.
| Versiune Rocky Linux | Repository dependente | Sursa EPEL | RPM lansare Remi |
|---|---|---|---|
| Rocky Linux 10 | crb | Rocky Extras | remi-release-10.rpm |
| Rocky Linux 9 | crb | Rocky Extras | remi-release-9.rpm |
| Rocky Linux 8 | powertools | Rocky Extras | remi-release-8.rpm |
Instalarea automata a EPEL si Remi RPM
Folositi detectia de versiune pentru a activa repository-ul de dependente corect, a instala EPEL din Rocky Extras si a adauga RPM-ul de lansare Remi corespunzator:
source /etc/os-release
rocky_major="${VERSION_ID%%.*}"
case "$rocky_major" in
10 | 9)
dependency_repo=crb
;;
8)
dependency_repo=powertools
;;
*)
dependency_repo=
echo "Versiune Rocky Linux nesuportata: $VERSION_ID"
;;
esac
if [[ -n "$dependency_repo" ]]; then
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled "$dependency_repo"
sudo dnf install -y epel-release
sudo dnf install -y "https://rpms.remirepo.net/enterprise/remi-release-${rocky_major}.rpm"
fi
Pachetul dnf-plugins-core furnizeaza dnf config-manager, care activeaza CRB sau PowerTools. EPEL este necesar deoarece unele pachete Remi depind de biblioteci din afara repository-urilor de baza Rocky.
Verificarea repository-ului Remi RPM pe Rocky Linux
Confirmati ca pachetul de lansare Remi este instalat si ca repository-urile Remi obisnuite sunt activate:
rpm -q remi-releasednf repolist --enabled | grep -E '^remi-(modular|safe)[[:space:]]'
Output relevant pe Rocky Linux 10:
remi-release-10.1-3.el10.remi.noarch
remi-modular Remi's Modular repository for Enterprise Linux 10 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 10 - x86_64
Inspectati fisierele de repository si fisierul de cheie de semnare specific ramurii instalat de remi-release:
source /etc/os-releaserocky_major="${VERSION_ID%%.*}"
rpm -ql remi-release | grep -E "/(RPM-GPG-KEY-remi\.el${rocky_major}|remi-(modular|safe)\.repo)$"
Output relevant pe Rocky Linux 10:
/etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el10/etc/yum.repos.d/remi-modular.repo
/etc/yum.repos.d/remi-safe.repo
Versiunea exacta a pachetului Remi se schimba pe masura ce lansarile minore Rocky avanseaza, dar repository-urile activate trebuie sa includa remi-modular si remi-safe. Remi publica amprentele cheilor de semnare in fisierul sau KEYS.txt, util cand DNF solicita importarea unei chei Remi la prima tranzactie de pachet semnat.
Activarea modulelor PHP Remi pe Rocky Linux
Listarea stream-urilor PHP disponibile din Remi
Listati module streams PHP dupa ce repository-ul Remi RPM este activat:
dnf module list phpOutput relevant pe Rocky Linux 10:
WARNING: modularity is deprecated, and functionality will be removed in a future release of DNF5.Remi's Modular repository for Enterprise Linux 10 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
php remi-8.4 common [d], devel, minimal PHP scripting language
php remi-8.5 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Alegerea unei versiuni PHP Remi
Folositi o ramura PHP care corespunde matricei de suport a aplicatiei. Remi expune stream-uri mai vechi pentru migrare, dar noile implementari trebuie sa ramana pe o ramura pe care upstream PHP o suporta inca.
| Ramura PHP | Stream Remi | Status suport | Potrivit pentru |
|---|---|---|---|
| PHP 8.5 | php:remi-8.5 | Suport activ pana pe 31 dec 2027; suport securitate pana pe 31 dec 2029 | Proiecte noi care pot tinti cea mai noua ramura PHP stabila |
| PHP 8.4 | php:remi-8.4 | Suport activ pana pe 31 dec 2026; suport securitate pana pe 31 dec 2028 | Workload-uri de productie care necesita o ramura curenta cu compatibilitate extinsa de extensii |
| PHP 8.3 | php:remi-8.3 | Suport securitate pana pe 31 dec 2027 | Aplicatii fixate pe PHP 8.3 sau framework-uri care nu au migrat la ramuri mai noi |
| PHP 8.2 | php:remi-8.2 | Suport securitate pana pe 31 dec 2026 | Lucrari de compatibilitate pe termen scurt in timp ce planificati un upgrade |
Activarea PHP 8.5 din Remi RPM
Resetati orice stream PHP anterior inainte de a activa PHP 8.5 din Remi:
sudo dnf module reset php -ysudo dnf module enable php:remi-8.5 -y
Pentru alta ramura intretinuta, inlocuiti remi-8.5 cu remi-8.4, remi-8.3 sau remi-8.2. Activati un singur module stream PHP odata.
Verificati marcajul enabled de langa stream-ul selectat:
dnf module list php | grep 'remi-8.5'php remi-8.5 [e] common [d], devel, minimal PHP scripting languageInstalarea PHP si PHP-FPM din Remi
Instalati pachetul PHP de baza, instrumentele de linie de comanda si serviciul PHP-FPM din stream-ul Remi activat:
sudo dnf install -y php php-cli php-fpmVerificati ramura PHP instalata:
php --versionExemplu de output pentru PHP 8.5 pe Rocky Linux 10:
PHP 8.5.6 (cli) (built: May 5 2026 21:19:36) (NTS gcc x86_64)Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine
Zend Engine v4.5.6, Copyright (c) Zend Technologies
with Zend OPcache v8.5.6, Copyright (c), by Zend Technologies
Daca stiva web foloseste PHP-FPM, activati si porniti serviciul:
sudo systemctl enable --now php-fpmConfirmati ca serviciul este activ:
systemctl is-active php-fpmactive
Instalarea extensiilor PHP Redis sau Memcached din Remi
Pentru stream-urile PHP Remi, instalati extensia PHP ca php-pecl-redis6, nu php-redis:
sudo dnf install -y php-pecl-redis6php -m | grep -i '^redis$'
redis
Daca aplicatia foloseste Memcached prin PHP, instalati extensia PECL corespunzatoare:
sudo dnf install -y php-pecl-memcachedphp -m | grep -i '^memcached$'
Utilizarea stream-urilor Redis si Memcached din Remi RPM
Instalarea serverului Redis din Remi
Remi furnizeaza module streams Redis pentru Rocky Linux 8, 9 si 10. Verificati mai intai stream-urile disponibile:
dnf module list redis
Rocky Linux 10 expune in prezent stream-urile Redis 7.2, 8.0, 8.2, 8.4 si 8.6 prin Remi. Activati stream-ul pe care il suporta aplicatia; acest set de comenzi foloseste Redis 8.6.
Pe Rocky Linux 10, verificati pachetul Valkey implicit inainte de a-l inlocui cu Redis din Remi:
rpm -q valkey >/dev/null 2>&1 && echo "Valkey este instalat" || echo "Valkey nu este instalat"sudo dnf module reset redis -y
sudo dnf module enable redis:remi-8.6 -y
sudo dnf install -y redis
Verificati versiunea clientului Redis:
redis-cli --version
Sirul de versiune trebuie sa inceapa cu redis-cli 8.6 cand ati selectat stream-ul Redis 8.6. Porniti serviciul cand acest host va rula Redis local:
sudo systemctl enable --now redis
systemctl is-active redis
active
Instalarea serverului Memcached din Remi
Remi expune un module stream Memcached pe Rocky Linux 10 si 9. Metadatele Remi curente pentru Rocky Linux 8 nu expun un modul Memcached, deci pastrati pachetul Rocky implicit acolo cu exceptia cazului in care aveti o cerinta separata de sursa de pachete.
dnf module list memcached
Pe Rocky Linux 10 sau 9, activati stream-ul Remi si instalati Memcached:
sudo dnf module reset memcached -y
sudo dnf module enable memcached:remi -y
sudo dnf install -y memcached
Verificati versiunea instalata:
memcached -h | head -n 1Output-ul trebuie sa inceapa cu memcached urmat de versiunea instalata. Porniti serviciul cand acest host va rula Memcached local:
sudo systemctl enable --now memcached
systemctl is-active memcached
activeActualizarea sau eliminarea repository-ului Remi RPM
Actualizarea pachetelor din Remi
Pachetele Remi se actualizeaza prin tranzactii DNF obisnuite alaturi de restul sistemului:
sudo dnf upgrade --refreshDNF va afisa daca pachetele provin din remi-modular sau remi-safe inainte de a confirma tranzactia.
Eliminarea pachetelor si module stream-urilor Remi
Eliminati doar pachetele instalate din Remi. Acest helper verifica pachetele PHP, Redis si Memcached folosite anterior, apoi elimina doar pachetele corespunzatoare instalate curent:
remi_examples=(php php-cli php-fpm php-common php-pecl-redis6 php-pecl-memcached redis memcached)installed_packages=()
for package in "${remi_examples[@]}"; do
if rpm -q "$package" >/dev/null 2>&1; then
installed_packages+=("$package")
fi
done
if ((${#installed_packages[@]})); then
sudo dnf remove "${installed_packages[@]}"
else
echo "Nu sunt instalate pachete Remi de exemplu"
fi
Resetati orice module stream Remi pe care l-ati activat:
sudo dnf module reset php -ysudo dnf module reset redis -y
Daca ati activat modulul Memcached pe Rocky Linux 10 sau 9, resetati-l si pe acela:
sudo dnf module reset memcached -yDupa eliminarea pachetelor, rulati pasul de curatare DNF interactiv daca doriti sa revizuiti dependentele neutilizate:
sudo dnf autoremoveEliminarea pachetului de repository Remi
Eliminati pachetul de configurare a repository-ului dupa ce pachetele si module stream-urile Remi au fost curatate:
sudo dnf remove remi-releaseVerificati ca nu mai ramane niciun repository Remi activat:
dnf repolist --enabled | grep -E '^remi-' || echo "Repository-urile Remi nu sunt activate"Remi repositories are not enabled
Confirmati si ca fisierele de repository au fost eliminate:
find /etc/yum.repos.d -maxdepth 1 -name 'remi*.repo' -print | grep . || echo "Fisierele repository Remi au fost eliminate"Remi repository files are remove
Daca ati instalat pachete semnate din Remi, DNF poate lasa cheia de semnare RPM Remi importata in baza de date RPM. Verificati dupa eliminarea pachetelor Remi:
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SUMMARY}\n' | grep -i "Remi's RPM repository" || echo "Cheia RPM Remi nu este importata"Daca o cheie Remi ramane si doriti o curatare completa a increderii, eliminati numele exact al pachetului gpg-pubkey-... afisat de acea comanda. Nu stergeti cheile RPM dupa un tipar larg deoarece alte repository-uri pot folosi chei diferite in aceeasi baza de date RPM.
Depanare probleme repository Remi RPM
Repository-ul Remi nu apare in lista
Daca DNF nu gaseste stream-urile Remi, confirmati mai intai pachetul de lansare si repository-urile activate:
rpm -q remi-releasednf repolist --enabled | grep -E '^remi-(modular|safe)[[:space:]]'
Daca remi-release lipseste, reexecutati blocul de instalare cu detectie de versiune care instaleaza remi-release-${rocky_major}.rpm. Daca pachetul exista dar repository-urile sunt dezactivate, reactivati-le:
sudo dnf config-manager --set-enabled remi-safesudo dnf config-manager --set-enabled remi-modular
CRB sau PowerTools nu este activat
Erorile de dependente lipsa indica deseori ca CRB sau PowerTools este dezactivat. Verificati lista de repository-uri activate:
dnf repolist --enabled | grep -E '^(crb|powertools)[[:space:]]'Activati repository-ul care corespunde versiunii Rocky Linux:
sudo dnf config-manager --set-enabled crb # Rocky Linux 10 sau 9sudo dnf config-manager --set-enabled powertools # Rocky Linux 8
Activarea modulului PHP esueaza deoarece alt stream este activ
DNF blocheaza comutarea stream-urilor de modul cand alt stream PHP este deja activat. Eroarea poate arata astfel:
It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.Verificati stream-ul activ:
dnf module list php | grep '\[e\]'Daca nu aveti nevoie de pachetele PHP existente, eliminati-le, resetati stream-ul si activati ramura Remi dorita:
sudo dnf remove php php-cli php-fpm php-commonsudo dnf module reset php -y
sudo dnf module enable php:remi-8.5 -y
DNF nu gaseste php-redis
Pachetul extensie PHP Redis din Remi se numeste php-pecl-redis6. Instalati-l dupa activarea module stream-ului PHP corespunzator:
sudo dnf install -y php-pecl-redis6php -m | grep -i '^redis$'redis
Leave A Comment?