Reinstalare pachete si sistem backup in Ubuntu

E prea mult spus sistem backup, e mai mult un fel de salvare a listei cu programe instalate pentru a fi reinstalate după un fresh install sau pentru a fi instalate pe alt sistem. Dar să trecem la treabă! 
Este o metodă pe care o aplic eu la reinstalarea sistemului. Știm toți ce înseamnă să stai să cauți toate programele pe care le-ai avut înainte de reinstalare, cu toate ppa-urile și alte alea. Asta mă scoate din sărite cel mai tare, că am 'jde mii de programe puse în Ubuntu, din câteva ppa-uri plus alea din arhivele oficiale. Așa că am găsit o soluție de slavare și reinstalare alor. Dar cum asta implica mai multe comenzi, am făcut două scripturi (deși sunt super-începător în asta,dar...) ca să mă ajute. Cum funcționează? Simplu.
1. Primul script îl rulez pe sistemul de pe care vreau să salvez lista de programe și toate sursele de unde le-am instalat (scriptul este între liniile punctate sau poate fi luat de aici):
------------------------------------------------------------------------------------------------------------
#!/bin/bash
echo  "SCRIPT DE SALVARE A PACHETELOR INSTALATE PE O DISTRIBUTIE UBUNTU/BAZATA PE UBUNTU
 autor: wladypauly => http://ubuntuinromania.blogspot.com
dupa indicatiile si indrumarile de pe forumul Ubuntu Romania => http://forum.ubuntu.ro/index.php"
#pasul 1
echo
echo
echo  "Cititi cu atentie explicatiile care urmeaza!! Asigurati-va ca stiti ce face acest script!
NU sunt responsabil de eventualele erori! Rulati scriptul pe propria raspundere"
echo
echo
echo  "Vreti sa continuati?(Y/N)"
read a
if [ $a = "n" ] ; then
echo -e "La revedere!"
exit
fi
if [ $a = "y" ] ; then
echo "Se sterge folderul backup vechi din /Home
ATENTIE!!! NU TREBUIE SA AVETI UN ALT FOLDER NUMIT backup IN /HOME!!!
DACA AVETI UN ASTFEL DE FOLDER, RENUNTATI LA ACEASTA OPERATIUNE SI REDENUMITI SAU MUTATI FOLDERUL RESPECTIV
ALTFEL VA FI STERS LA COMANDA URMATOARE!!!"
echo  "Vreti sa continuati?(Y/N)"
read a
if [ $a = "n" ] ; then
echo -e "Operatiune anulata. Pentru a relua operatiunea, rulati scriptul din nou. La revedere!"
exit
fi
if [ $a = "y" ] ; then
sudo rm -rf ~/backup
echo
fi
echo  "Se creeaza un folder denumit backup in /home pentru a salva datele necesare restaurarii"
echo
mkdir ~/backup
echo
echo  "Folderul a fost creat"
fi
echo
echo "Se copiaza datelor necesare restaurarii. Aceste date sunt de fapt listele cu arhive/repositories.
Daca ati adaugat arhive/repositories si din alte surse, acestea vor fi salvate la un loc cu cele oficiale, care vin cu CD-ul de instalare.
Vreti sa continuati? (Y/N)"
read a
if [ $a = "n" ] ; then
echo  "Operatiune anulata. Pentru a relua operatiunea, rulati scriptul din nou. La revedere!"
exit
fi
if [ $a = "y" ] ; then
cp /etc/apt/sources.list ~/backup
cp -R /etc/apt/sources.list.d ~/backup
echo
echo
fi
#pasul 3
echo  "Datele au fost copiate. Urmeaza salvarea listei cu programe instalate.
Vreti sa continuati? (Y/N)"
read a
if [ $a = "n" ] ; then
echo  "Operatiune anulata. Pentru a relua operatiunea, rulati scriptul din nou. La revedere!"
exit
fi
if [ $a = "y" ] ; then
sudo dpkg --get-selections > ~/backup/pachetesalvate.txt
echo  "s-a creat un fisier numit pacheteslavate.txt in folderul backup.
In acest moment trebuie rulat scriptul restore.sh, pe care l-ati descarcat de pe site.Spor!"
exit
fi
--------------------------------------------------------------------------
Ce face el exact? Face un folder backup în Home (dacă este un astfel de folder ÎL ȘTERGE) unde pune sursele de unde se instalează programe împreună cu o listă cu toate programele instalate în sistem).Aceste programe vor fi reinstalate pe noul sistem cu condiția ca acestea să fi fost instalate dintr-un ppa sau din Ubuntu Software Center/Synaptic/Muon. Dacă au fost descărcate individual și instalate, nu vor fi reinstalate!
2. Folderul backup trebuie copiat în Home pe sistemul nou instalat, după care rulez scriptul următor (descărcați de aici):
-------------------------------------------------------------------------
#!/bin/bash
echo "SCRIPT PENTRU REINSTALAT PACHETELE DE PE O DISTRIBUTIE UBUNTU
autor: wladypauly => http://ubuntuinromania.blogspot.com"
echo
echo "Acest script TREBUIE RULAT PE PC-ul PE CARE VREM SA INSTALAM PROGRAMELE! SCRIPTUL TREBUIE RULAT DIN FOLDERUL backup CREAT CU SCRIPTUL backup.sh!"
echo
echo "Ce face scriptul?"
echo
echo "1. Copiaza datele din folderul backup in /etc/apt. Datele din /etc/apt - lista de repositories/surse - vor fi inlocuite!!"
echo
echo "2. Se actualizeaza listele de programe si se instaleaza in sistem toate programele din fisierul pachetesalvate.txt."
echo
echo "Daca vi se cere parola, ea trebuie introdusa.
ATENTIE! Parola nu este afisata, dar va aparea o eroare daca nu este introdusa corect.
Daca este cazul, confirmati cu y (tasta Y) o actiune."
echo "Sunteti sigur ca vrei sa continuati? (Y/N)"
read a
if [ $a = "n" ] ; then
echo  "Operatiune anulata. La revedere!"
exit
fi
if [ $a = "y" ] ; then
cd ~/backup
cp -f sources.list /etc/apt/sources.list
cp -Rf sources.list.d /etc/apt
sudo dpkg --set-selections < pachetesalvate.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade
exit
fi
-------------------------------------------------------------------
PE scurt acest script citește folderul backup creat de primul script și reface pe sistemul nou sursele de pachete și instalează toate pachetele din lista creată de primul script. 
Scripturile afișează și niște informații, citiți-le!
Soluția asta am aplicat-o de câteva ori, atât pe desktop și pe laptop, cât și pe câteva mașini virtuale. Spor!
P.S ȘTIU că nu-s perfecte!

Comentarii

Postări populare de pe acest blog

Ion Pribeagu - un scriitor uitat

Crăciunul în mitologia română

Kdenlive „crapă” la importul unui clip