Kaip į diegti tas pačias programas, kurios buvo anksčiau?

Tikriausiai žinote, kad labai patogu laikyti / ir /home katalogus atskiruose skirsniuose, kad vėliau iš naujo įdiegus Linux sistemą, viskas išliktų kaip buvę.

Dažniausiai visi naudotojo duomenys laikomi namų (/home) kataloge. Tačiau, dažnai būna daug programų, kurias įdiegėte ir norėtumėte vėl turėti tą patį.

Susigrąžinti visas anksčiau įdiegtas programas labai paprasta, reikia vos kelių komandų.

Šios instrukcijos tinka visoms Linux distribucijoms, kurios naudoja apt-get paketų sistemą. Tačiau analogiškai galima daryti ir su kitomis distribucijomis...

Prieš diegdami Linux, pasidarykite įdiegtų paketų sąrašą ir išsaugokite jį į failą dpkg-list.old. Šį failą išsisaugokite, kad vėliau galėtumėte atstatyti visas įdiegtas programas.

  1. $ dpkg -l | awk '/^ii/ { print $2 }' > dpkg-list.old

Šviežiai įdiegus Linux, susiraskite iš anksto padarytą dpkg-list.old failą ir įveskite šias dvi komandas, kurių dėka, bus iš karto įdiegta tai, ką turėjote anksčiau.

  1. $ dpkg -l | awk '/^ii/ { print $2 }' > dpkg-list.new
  2. $ diff dpkg-list.old dpkg-list.new | awk '/^</ { print $2 }' | xargs sudo apt-get install

Pastaba: nepamirškite išsisaugoti ir /etc/apt/sources.list failo, nes kai kurios programos gali būti įdiegtos iš saugyklų, kurių po įdiegimo, pagal nutylėjimą nebus šiame faile.

Papildymas: Galimos problemos ir jų sprendimai

Praktiškai išbandžius aukščiau aprašytas komandas susidūriau su šiokiais tokiais sunkumais.

Kadangi pas mane buvo labai didelis paketų skaičius įdiegimui, tai neaišku dėl kokių priežasčių, toje vietoje kur klausiama ar tikrai norite įdiegti šiuos paketus, apt-get nutraukdavo darbą.

Sprendimas: apt-get komandai reikia perduoti -y

  1. $ diff dpkg-list.old dpkg-list.new | awk '/^</ { print $2 }' | xargs sudo apt-get install -y

Kandangi kai kuriuos paketus buvau įdiegęs ne iš repozitoriumų, tai žinoma, jų neradus, apt-get nutraukia darbą ir praneša, kad toks ir toks paketas nerastas.

Sprendimas: tokiu ateveju geriau išsisaugoti paketų sąrašą diegimui atskirai ir tiesiog iš to failo ištrinti tuos trūkstamus paketus:

  1. $ diff dpkg-list.old dpkg-list.new | awk '/^</ { print $2 }' > dpkg-missing
  2. $ gedit dpkg-missing
  3. $ cat dpkg-missing | xargs sudo apt-get install -y

Diegiant MySQL Server, atsidarė slaptažodžio įvedimo langas ir dėl kažkokių priežasčių, nieko negalėjau įvesti, teko nutraukti diegimą su Ctrl+C. Po tokio nutraukimo toliau diegimo negalėjau tęsti, dėl to, kad paketų sistema liko užsirakinusi.

Sprendimas: nieko baisau, paprasčiausiai reikia perkrauti kompiuterį (gal būt yra ir paprastesnis būdas?) ir tęsti toliau tokiomis komandomis:

  1. $ sudo apt-get install -f
  2. $ sudo dpkg --configure -a
  3. $ cat dpkg-missing | xargs sudo apt-get install -y

Komentarai

Anonymous portretas

Yay, tavo dėka galėsiu

Yay, tavo dėka galėsiu savuosius Linux Mint 6 atsinaujint į Linux Mint 7 dar lengviau. Ačiū ;)

Anonymous portretas

Ant

Ant Gentoo.
Kopijuojam:
/var/lib/portage/world
Is senos i naujai idiegta sistema.
Viskas atlikta belieka updeitint:
emerge --sync
emerge -uDNa world
Perziurim ar tikrai viskas tinka y enter ir baigta.

Skelbti naują komentarą

Šio laukelio turinys bus laikomas privatus ir nerodomas viešai. If you have a Gravatar account, used to display your avatar.
  • Leidžiamos HTML žymės: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linijos ir paragrafai atskiriami automatiškai
  • Web puslapiu adresai ir el. pašto adresai automatiškai tampa nuorodomis.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Daugiau informacijos apie teksto formatavimą

CAPTCHA
Šis klausimas skirtas patikrinti ar esi žmogus, taip apsisaugant nuo internetinių reklamos robotų.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.
Surinktas turinys