Configurarea
comenzii sudo dnf update
în Fedora
Pentru actualizarea distribuției Fedora sau pentru orice altă distribuție îmi place să folosesc terminalul și utilizarea comenzii de actualizare pentru că se face mult mai repede decât în mediul grafic. Dar nu îmi place să folosesc o comandă prea lungă, care oricum este destul de lungă pentru orice distribuție Linux.
De exemplu comenzile de actualizare ale Fedora, Ubuntu și Arch Linux sunt:
[Fedora] sudo dnf upgrade
[Ubuntu] sudo apt update și urmat de sudo dnf upgrade
[Arch Linux] sudo pacman -Syu
Din punctul meu de vedere aceste comenzi sunt prea lungi și mi-ar
plăcea să văd o comanda de genul: update
și atât, nimic mai
mult. Din păcate nu se poate face acest lucru doar dacă facem personal
unele modificări prin sistem.
Comanda de actualizare a Fedora pe care o folosesc este mult mai lungă decât cea de mai sus, și aceasta este:
flatpak update && sudo dnf upgrade --refresh
Pentru a nu mai scrie o comandă așa de lungă trebuie să creez un
alias
în fișierul .bachrc
de fiecare dată când
reinstalez/instalez distribuția. Astfel am ajuns să fac un script cu
ajutorul AI-ului ChatGPT pentru că nu mă pricep să fac astfel de
scripturi.
Configurarea alias-ului și a permisiunilor sudo în Fedora
În rândurile care urmează voi descrie cum se adaugă un alias
pentru actualizarea sistemului folosind flatpak
și
dnf
și cum am configurat sudo
pentru a nu mai
cere parola la rularea comenzilor de actualizare.
Din punct de vedere al securități știu că nu este bine pentru a rula
comanda sudo
fără a mai cere parola, dar cum laptopul nu
părăsește casa nu prea îmi fac griji din acest punct de vedere.
Pasul 1: Adăugare alias în
.bashrc
Pentru a adăuga un alias am modifica fișierul
~/.bashrc
.
Am deschis fișierul
~/.bashrc
într-un editor de text. De exemplu, cunano
:nano ~/.bashrc
În loc de nano puteți folosi orice editor de text preferat.
Am adăugat următoarea linie la sfârșitul fișierului:
alias update=‘flatpak update –noninteractive && sudo dnf upgrade –refresh -y’
Am salvat și închis editorul (
Ctrl+O
pentru a salva înnano
, apoiCtrl+X
pentru a ieși).Am reîncarcă fișierul
~/.bashrc
pentru a aplica modificările:source ~/.bashrc
Și asta este tot pentru configurarea unui alias
în
fișierul .bashrc
.
Pasul 2:
Configurare sudo
pentru a nu mai cere parola
Pentru a evita solicitarea parolei atunci când folosesc
sudo
pentru a actualiza sistemul, a trebuit să modific
fișierul sudoers
.
Am deschis fișierul
sudoers
folosind comandavisudo
:sudo visudo
Am adăugat următoarea linie la sfârșitul fișierului pentru a îmi permite să ruleze
dnf
fără parolă. Trebuie înlocuitusername
cu numele tău de utilizator:username ALL=(ALL) NOPASSWD: /usr/bin/dnf
Am salvat și închis editorul
visudo
.
Am terminat și cu configurarea lui sudo
. Pe urmă am
trecut la ChatGPT și i-am cerut să facă scriptul de mai jos care face
toate modificările de mai sus automat ca pe viitor să nu mai fiu nevoit
să fac toate aceste lucruri manual. Este mult mai ușor cu rularea unui
script.
Pasul 3: Script pentru automatizarea configurărilor
Pentru a automatiza procesul de adăugare a alias-ului și configurarea
sudoers
, i-am cerut lui ChatGPT să creeze un script
simplu.
În rândurile care urmează nu este discuția mea cu ChatGPT, sunt pași pentru crearea scriptului și tot ce trebuie să faceți este să urmați ce scrie mai jos și să copiați codul scriptului la voi în fișier.
Crearea script-ului
setup_update.sh
Creează un fișier numit setup_update.sh
și adaugă
următorul conținut:
#!/bin/bash
# Numele utilizatorului curent
USER=$(whoami)
# Adaugă alias-ul în ~/.bashrc dacă nu există deja
if ! grep -q "alias update='flatpak update --noninteractive && sudo dnf upgrade --refresh -y'" ~/.bashrc; then
echo "alias update='flatpak update --noninteractive && sudo dnf upgrade --refresh -y'" >> ~/.bashrc
echo "Alias-ul 'update' a fost adăugat în ~/.bashrc"
else
echo "Alias-ul 'update' există deja în ~/.bashrc"
fi
# Creează o regulă sudoers specifică utilizatorului curent
SUDOERS_RULE="$USER ALL=(ALL) NOPASSWD: /usr/bin/dnf"
# Verifică dacă regula există deja
if sudo grep -q "^$SUDOERS_RULE" /etc/sudoers; then
echo "Regula pentru 'dnf' fără parolă există deja în sudoers"
else
# Adaugă regula direct în sudoers folosind visudo
echo "$SUDOERS_RULE" | sudo EDITOR='tee -a' visudo
if [ $? -eq 0 ]; then
echo "Regula pentru 'dnf' fără parolă a fost adăugată"
else
echo "Eroare la adăugarea regulii în sudoers. Modificările nu au fost aplicate."
fi
fi
# Reîncarcă ~/.bashrc
source ~/.bashrc
echo "~/.bashrc a fost reîncărcat"
Sau puteți să descărcați scriptul de pe GitLab, de aici. Pe GitLab se găsesc și instrucțiuni de descărcare și folosire.
Acum urmează instrucțiunile de utilizare pentru cei care nu știu să folosească un script în Linux. Urmați pași de mai jos.
Instrucțiuni pentru rulare:
Creează fișierul
setup_update.sh
și adaugă conținutul de mai sus.Asigură-te că scriptul este executabil. Pentru asta trebuie rulată comanda următoare - terminal-ul trebuie deschis acolo unde este scriptul, altfel nu va merge.
chmod +x setup_update.sh
Pentru a rula scriptul se folosește comanda de mai jos. La un moment dat vi se cere parola - tastați parola și scriptul va rula automat.
./setup_update.sh
Concluzie
Dacă ai urmat pași de mai sus și ai făcut totul corect nu o sa fie
probleme și pentru viitoarea actualizare a sistemului din terminal,
comanda de actualizare este update
fără nici o parolă.