Správa balíkov. Inštalácia softvérových balíkov v systéme Linux pre začiatočníkov. Aktualizácia balíka z skompilovaného súboru

  • 13.04.2019

pozdravujem, Drahí priatelia, známi a iné osobnosti.

Ako asi viete a pamätáte, sľúbil som, že pomaly, na vašu žiadosť, zakryjem cyklus Linux, ktorá vám predstaví rôzne základy a veľmi postupne prechádza od teórie k praxi.

Dnes budeme nateraz pokračovať v téme oboznámenia sa s teóriou a základmi, a preto sa budeme baviť o takej veci, ako sú represálie a všetko, čo s nimi súvisí, to znamená, že prídeme na to, ako to vyzerá z vnútri softvéru v Linux ako je to všetko uložené a celý ten jazz.

Všetko je vo všeobecnosti jednoduché, ale počas čítania je potrebné trochu namáhať mozog, aby ste sa nezmiatli v zložitosti pojmov a trochu pokrčeného rozprávania. Vo všeobecnosti postupujte podľa myšlienky Ak je to potrebné, prečítajte si článok dvakrát

Poďme, všetky programy v distribúciách Linux ide o samostatné projekty, ktoré sa vyvíjajú samy. Mali by ste si predstaviť nejaký druh reťaze: existujú samostatné balenia (softvér), existujú závislosti (Bližšie sa na tieto koncepty pozrieme nižšie)- účelom toho všetkého je zhromaždiť všetky tieto programy, pričom ich knižnice sú na sebe závislé, a dokonca nielen zbierať, ale aby to všetko fungovalo v komplexe.

Každá z jeho distribúcií má vývojárov (správcov). Títo ľudia sa podieľajú na testovaní rôznych balíčkov na ich bežné fungovanie, vzájomnú kompatibilitu a tiež často pridávajú vlastné vylepšenia či záplaty, ktoré sa nestihli dostať do oficiálneho zostavenia a sú v konečnom dôsledku zodpovední za zaradenie balíčka do distribúcie. To znamená, že berú programy z otvorených zdrojových kódov a začínajú ich spájať, balia programy do balíkov a sledujú všetky závislosti, testujú a odstraňovajú chyby práve z týchto programov. Prezentovali ste? Potom, myslím, chápete, že to nie je ľahká úloha. Takže všetky tieto programy, knižnice a nenudné tapety, ktoré sú navzájom prispôsobené, zabalené v balíkoch so všetkými závislosťami - to je úložisko vašej distribučnej sady, odkiaľ sa programy inštalujú do vášho počítača.

O zástupcoch Linuxu. Čo to je a prečo.

Teda znova a trochu inak, - Linuxové úložisko - toto je všetky súbory balíkov patriace do rovnakej distribúcie (napríklad, Fedora) jedna jeho verzia (napríklad, 16 ) , na to existuje obrovské úložisko balíkov, ktorý sa nachádza na internete a ktorý môžete bezpečne používať (a zadarmo)... Tie isté ISO-súbory obrazov pre zápis na disk a následnú inštaláciu obsahujú len úložiská balíkov so všetkými závislosťami a správcu balíkov plus inštalačný program ktorý označí HDD, dá všetko a pripraví vašu plochu (alebo server, alebo čokoľvek, čo požadujete).

Prečo sa vytvárajú úložiská? Odpoveď je jednoduchá – pre centralizované riadenie aktualizácie balíkov. Predstavme si na chvíľu, že nemáme žiadne úložiská a máte nainštalované linux z disku pomocou určitých (štandardných) programov. Čas však nestojí, všetky programy sú aktualizované a všetok ten jazz. Ako potom zistíte, či existuje aktualizácia pre váš program alebo nie? Prirodzene, budete musieť navštíviť webovú stránku vývojárov programu, aby ste to zistili, čo, musíte priznať, nie je príliš pohodlné, najmä ak máte nainštalovaných veľa programov. No, ideme na to, skontrolovali ste raz, dva skontrolovali aktualizácie, zabudli ste tretíkrát a potom vás unavilo sledovať zakaždým, keď aktualizácia vyšla alebo nie. A potom znova..

Pamätáte si, prečo máme aktualizácie? A aby som nemal len nový (a vylepšený starý) funkčnosť v týchto programoch, ale aj diery v záplatách, ktoré často vedú k rôznym problémom, od programových/systémových závad až po bezpečnostné problémy (Napríklad naozaj nerád „stratím“ heslo, povedzme, z pošty kvôli dieram v softvéri)... Preto vývojári Linux a vytvorené úložiská, pomocou ktorých môžete rýchlo a pohodlne sledovať aktualizácie určitých balíkov (a samozrejme aktualizácie celého systému ako celku), inštalovať nové a aktualizované a všetok ten jazz. Mimochodom, prečo Windows ešte nie sú zmätení, absolútne nejasní (aj keď programy na aktualizáciu programov sú tam čiastočne uložené, aj keď to nie je úplne ono).

O balíkoch a správcoch balíkov v systéme Linux. Čo to je a prečo.

Mimochodom, trochu vyššie som špeciálne zvýraznil tri body, aby som takpovediac rozdelil obsah na niektoré časti. Hovorili sme o úložisku balíkov a teraz prejdeme k ďalšej časti príbehu, konkrétne, poďme sa rozprávať o tom, čo znamená pojem balíkov v systéme Linux.

Pod balíkmi v Linux znamená softvér (softvér), ktorý chcete nainštalovať do počítača. Povedzme napríklad v Windows softvér sa inštaluje pomocou sprievodcu inštaláciou (programu) - setup.exe alebo install.exe... Spustíte tento mýtický spustiteľný súbor a po výbere cesty a malých bočných nastavení sa takmer okamžite spustí proces inštalácie.

Inštalácia rovnakých programov v Linux mierne odlišné, konkrétne sa tu používajú dva hlavné spôsoby inštalácie: pomocou balíkov alebo zo zdrojových kódov (inštalácia balíkov je samostatná konverzácia a teraz ju nebudeme zvažovať)... Balenie obsahuje zostavený program, informácie o tom, aké kroky sú potrebné na vykonanie jeho inštalácie, informácie o závislostiach a prípadne množstvo ďalších údajov v závislosti od typu balíka. A na inštaláciu (vymazať, aktualizovať) odpovedá na niečo ako správca balíkov .

Správca balíkov je zvyčajne srdcom distribúcie, poskytuje úplnú kontrolu nad integritou a zdravím celého systému a tiež poskytuje používateľovi rozhranie na automatické získanie balíka, jeho závislostí a jeho inštaláciu. Balíky, ako už bolo spomenuté, sa zhromažďujú v úložisku, to znamená, že toto všetko je možné zložiť do jedného reťazca: používateľ požiada o inštaláciu balíčka - správca balíčkov sleduje závislosti - tiež dostane potrebné balíčky z úložiska ( s) - a nainštaluje aj závislosti a požadovaný balík ... Takmer každá distribúcia Linux má svoje vlastné úložiská, často nekompatibilné s inými distribúciami. Správcom balíkov je - konzolový nástroj, zvyčajne je ich však veľa grafické škrupiny, ktoré sa dajú ľahko nájsť v každej distribúcii vyhľadaním výrazu „ Pridať/odstrániť programy».

Správcovia balíkov sú rôzni. Na správu balíkov sa používajú rôzne distribúcie rôzne programy... Vo všeobecnosti ich nie je tak málo, a preto vyberieme tie „hlavné“, ktoré „vedia“ riešiť závislosti. Slovné spojenie "vedieť vyriešiť závislosti" znamená nasledovné - ak sa počas inštalácie balíka zistí, že pre svoju správnu inštaláciu balík potrebuje ďalšie balíky, správca balíkov ich nainštaluje sám, to znamená, že nemusíte hľadajte ich v úložiskách sami. Tí správcovia balíkov, ktorí túto funkciu nemajú (schopnosť riešiť závislosti) nebudeme brať do úvahy, pretože vás budú informovať iba o tom, že balík nie je možné nainštalovať a zobrazí celý zoznam súborov (súbory, nie balíky) ktoré sú potrebné na inštaláciu tohto balíka. A aký súbor je v akom balíku, si domyslíte a budete hľadať sami.

Tu je malý zoznam:

  • Yum (aktualizácia žltého psa upravená) - výkonný správca balíkov založený na ot./min(jednoduché MT, nevie, ako vyriešiť závislosti) pracujúce v textovom režime a schopné riešiť závislosti a tiež schopné udržiavať repozitáre (zdroje balíka) Použité v RedHat Linux ako aj v Fedora, SuSe a ďalšie.
  • Apt vytvorené pre distribúcie Linux založené na Debian, Ubuntu(a klony), ALT Linux atď. Výkonný správca balíkov v textovom režime. Vie, ako vyriešiť závislosti a udržiavať úložiská (zdroje balíka)
  • Systém správy balíkov Portage má veľa odrôd, príkladom je distribúcia Gentoo... Ako variant správcu balíkov môžete dať vynoriť sa.

Mimochodom, správcovia balíkov nehľadajú požadované programy len podľa popisu, ale najprv musíme zadať ešte jeden, viackrát už spomínaný pojem a vysvetliť ho.

O závislostiach Linuxu. Čo to je a prečo.

Napríklad ste chceli nainštalovať program a klikli na tlačidlo " Inštalácia“, A pýta sa ťa na nejaké mýtické a nepochopiteľné závislosti ... Tak poďme na to – čo to je?

Komponenty používané rôznymi programami sú často rozdelené do samostatných balíkov a označené pre prácu. ON poskytovaný balíkom A, je potrebné nainštalovať balík B... V tomto prípade sa hovorí, že balík je A závisí z balíka B alebo čo medzi balíkmi A a B existuje závislosť(zvyčajne niektoré knižnice fungujú ako závislosti, bez ktorých sa program nespustí, keďže využíva funkcie tejto knižnice)... Práve sledovaním závislostí medzi takýmito balíkmi už spomínaný správca balíkov niekoľkokrát vykonal. Zjednodušene povedané, správca balíkov je program, ktorý spravuje databázu. nainštalované aplikácie a ich verziách a vždy vie, ktoré súbory sú kde nainštalované, aby ste mohli inštalovať nové programy, odstraňovať staré alebo aktualizovať celý systém bez preinštalovania a čistenia odpadkov zostávajúcich súborov.

Všetky táto obrovská hromada balíkov s ich hromadou závislostí na sebe, spravovaná správcom balíkov, je presne to, čo tvorí vašu distribúciu Linux... Ale toto nie je len kopa odpadu, ale usporiadaný systém nazývaný - tadam! - úložiská softvérových balíkov . Kruh sa uzavrel – vrátili sme sa k prvému konceptu – čo je Úložisko

Pár slov o nuansách

Nakoniec chcem ešte povedať, že čokoľvek Linux nebol stabilný, stabilný a nezničiteľný, ale používateľ musí dodržiavať určitú opatrnosť. Napríklad:

Napríklad pri inštalácii operačného systému Fedora v predvolenom nastavení sú súčasne pripojené dve úložiská:

  • Fedora(balíky, ktoré sa hodia na akúkoľvek kombináciu CD alebo DVD)
  • Aktualizácie (aktualizované balíčky novšie ako úložisko Fedory)

Pre normálna práca treba sa pripojiť dodatočné úložisko rpmfusion (bez toho sa naozaj nezaobídeš), ktorá umožní prístup k programom, ktoré nebolo možné zaradiť do distribúcie z dôvodu licenčných obmedzení (aplikácie, ktoré sú potrebné na prehrávanie multimediálnych súborov ako napr mp3, dvd atď.; ovládače - medzi ne patria proprietárne ovládače pre ATI a NVIDIA; hry: Bub's Brothers, Secret Maryo Chronicles, UFO: Alien Invasion, Wörms of Prey, xrick, GLtron a mnoho, mnoho ďalších; emulátory: emulátor Commodore 64 a Commodore 8 bit, emulátor Amiga, Nestopia, ZSNES a veľa ďalších)... Na pripojenie tohto úložiska stačí zadať príkazy do príkazového riadku (terminálu) od superužívateľa (root):

$ sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
$ sudo rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Upozorňujeme, že úložisko rpmfusion je rozdelená na dve časti: zadarmo a neslobodný... Prvý obsahuje čisto slobodný softvér v porozumení FSF distribuované pod GPL a kompatibilné licencie. Obsahom druhého je na rozdiel od názvu aj program výhod y zadarmo, ale spadajú pod notoricky známe patentové obmedzenia niektorých štátov (napríklad audio a video kodeky).

To isté platí pre správcu balíkov v Fedora... Pre normálnu a pohodlnú prevádzku správcu balíkov (yum) v Fedora odporúča sa pripojiť ďalší plugin najrýchlejšie zrkadlo... Tento doplnok je veľmi dôležitý: deteguje nielen najbližšie zrkadlo, ako to robia podobné nástroje z iných systémov na správu balíkov, ale nainštaluje presne najviac rýchle zrkadlo v tento moment- podľa času odozvy.

$ sudo yum nainštalovať yum-plugin-fastestmirror

V skratke asi takto

Doslov.

Chápem, že bez praxe je dosť ťažké to všetko vnímať z nájazdu, ale nedá sa nič robiť - toto sú tie najzaujímavejšie a najzákladnejšie teoretické informácie, s ktorým by sa mal každý používateľ aspoň ako-tak oboznámiť, aby mal predstavu o tom, čo je čo a prečo, a nie slepo nehrabať v gombíkoch a čítať neznáme pojmy.

operácie spojené so zmenou zloženia systému – inštalácia, odstránenie, overenie, aktualizácia komponentov – sa vykonávajú na balíkoch. Vo všeobecnosti je balík prostriedkom, ktorý umožňuje užívateľovi – správcovi zmeniť alebo aktualizovať softvérový obsah systému, aby nepracoval s súbory(ktorých mená sú mu niekedy neznáme) a s istotou funkcie samotný systém: napríklad som k nemu nepridal „500 súborov“, ale „WWW server apache“.

Archivovať súbory

Program na prvý pohľad pozostáva z jednej veci - spustiteľného súboru: spustíme súbor, dostaneme funkčný program. Počas spustenia však aj ten najjednoduchší program používa iné súbory obsahujúce rôzne zdroje: knižnice, konfiguračné súbory, dierové súbory a dokonca spúšťa iné programy. Aby program naozaj fungoval, je potrebné okrem hlavného spustiteľného súboru zabezpečiť aj všetky požadované súbory so zdrojmi.

Je jasné, že pri inštalácii alebo odinštalovaní programu by ste sa mali starať aj o všetky súbory, ktoré používa (ktorých môže byť dokonca veľa). to - prvá dávková úloha: všetky súbory používané programom sú spojené do jedného súboru - archív... To umožňuje nekopírovať všetky súbory samostatne počas inštalácie programu a potom ich nevymazávať rovnakým spôsobom, ale pracovať so všetkými údajmi programu ako celkom - nainštalovať a odstrániť jeden balík.

Archív súborov... Strom adresárov, reprezentovaný ako jeden súbor, pozostávajúci z obsahu všetkých súborov v tomto strome a informácií o názve a atribútoch každého súboru.

Neexistuje striktná požiadavka, aby jeden balík obsahoval iba jeden program. Je prirodzené skombinovať také zdroje do balíka, s ktorým sa dá pohodlne pracovať ako s celkom. To môže byť samostatný program alebo kolekciu nástrojov (napríklad coreutils, základné nástroje zdedené z Linuxu z UNIX) alebo modul s pridané vlastnosti programy alebo prostriedky spoločné pre viacero programov. V procese vývoja a / alebo zastarávania softvér oddelenie niektorých úloh do samostatného balíka môže mať alebo stratiť zmysel, takže spôsob kombinovania zdrojov do balíkov nie je niečo zvolené raz a navždy: balíky možno rozdeliť a zlúčiť.

Najjednoduchšie a najtradičnejšie pre Linuxový spôsob skombinujte viacero súborov do jedného – použite nástroj tar 1 sa objavil oveľa skôr ako Linux a pôvodne sa používal na vytváranie archívov súborov na magnetickej páske. Odtiaľ pochádza jeho názov – páskový archivátor, „archivátor (magnetických) pások“. V súčasnosti je tar prítomný na akomkoľvek systéme typu UNIX a umožňuje vám pracovať s archívmi súborov na akomkoľvek médiu. Metod, ktorý napísal niekoľko programov a skriptov, sa ich rozhodol zhromaždiť v jednom súborovom archíve, aby bolo pohodlnejšie preniesť ich do všetkých systémov, v ktorých pracuje. Metod na to vytvoril archív s celým obsahom svojho koša / podadresára:

[e-mail chránený]: ~ $ tar -cf methody.progs.tar bin / [e-mail chránený]: ~ $ tar -tf methody.progs.tar bin / bin / loop bin / script bin / to.sort bin / two Príklad 13.1. Vytvorenie archívu súborov pomocou tar

Prvý parameter tar pozostáva z dvoch častí: operácia, ktorá sa má vykonať s archívom, v tomto prípade „c“ (vytvoriť), a kľúč „f“, ktorý označuje, že archív by mal byť vytvorený v súbore, archívnom súbore name je dalsi parameter... Názov archívu môže byť ľubovoľný, ale Gurevich odporučil poskytnúť mu príponu „.tar“, aby sa neskôr nemýlil. Za názvom archívu nasledujú názvy súborov a adresárov, ktoré by mali byť zbalené. 2 S každým zadaným adresárom pracuje rekurzívne, to znamená, že zbalí všetky súbory a podadresáre, ktoré obsahuje.

Na kontrolu, ktoré súbory sa v archíve nachádzajú, Metod prezrel obsah výsledného archívu príkazom "tar -tf názov_archívu" ("t" - view, "f" použije súbor určený ďalším parametrom). Metod tu upozornil na dve okolnosti. Najprv sa v archíve zachovali názvy súborov spolu s cestou. Po druhé, všetky cesty uložené v archíve sú relatívne.

Pri vybaľovaní archív tar súbory sa extrahujú spolu s cestou, chýbajúce podadresáre sa vytvoria podľa potreby. Všetky cesty považuje tar za relatívne, počnúc od jeho pracovného adresára. Ak teraz Metod rozbalí svoj archív (príkazom „tar -xf názov_archívu“), v pracovnom adresári sa vytvorí podadresár „bin /“ a zapíšu sa doň všetky súbory z archívu:

[e-mail chránený]: ~ $ tar -xvf methody.progs.tar bin / bin / loop bin / script bin / to.sort bin / two Príklad 13.2. Rozbaľovanie archívu

Voľba "v" hovorí, že tar má byť "podrobný", to znamená, že má vytlačiť viac diagnostických správ, a preto tar vypíše názvy (s cestou) všetkých súborov, do ktorých pri rozbaľovaní zapisuje. Ak sa už v pracovnom adresári nachádza súbor, ktorý tar vytvorí pri rozbaľovaní, tento súbor bude jednoducho nahradené súbor z archívu. Takže, keď Metod rozbalil svoje "), Metodov systém používa jednu z najbežnejších otáčok za minútu, takže všetky príklady v tejto prednáške budú s jeho účasťou. špeciálny formát potrebujete špeciálny inštalačný program, ktorý sa tiež nazýva rpm: inštaluje, odstraňuje, aktualizuje a kontroluje balíčky.

Balíček otáčok je jeden súbor so všetkými potrebnými údajmi. Existujú určité (aj keď nie veľmi prísne a konzistentné) konvencie týkajúce sa názvov súborov balíkov. Napríklad súbor rpm obsahujúci balík štandardné služby coreutils, v systéme Methodia sa nazýva coreutils-5.2.1-some5.rpm: najprv - názov balíka, potom so spojovníkom - servisné informácie o číslach verzie softvéru a samotnom balíku.

Užívateľsky prívetivý systém pozostáva z mnohých (stoviek a tisícov) programov a pomôcok. V Linuxe je každý komponent systému reprezentovaný ako balík... Všetky operácie súvisiace so zmenou zloženia systému: inštalácia, odstránenie, kontrola, aktualizácia komponentov sa vykonávajú na balíkoch. vo všeobecnosti plastový sáčok- toto je prostriedok, ktorý zabráni používateľovi správcu, ktorý mení alebo aktualizuje softvérový obsah systému, aby s ním nepracoval súbory(ktorých mená sú mu niekedy neznáme) a s istotou funkcie samotný systém: napríklad som doň nepridal „500 súborov“, ale „webový server apache“.

Archivovať súbory

Program na prvý pohľad pozostáva z jedného - spustiteľného - súboru: spustíme súbor, dostaneme funkčný program. Počas spustenia však aj ten najjednoduchší program používa iné súbory obsahujúce rôzne zdroje: knižnice, konfiguračné súbory, dierové súbory a dokonca spúšťa iné programy. Aby program skutočne fungoval, je potrebné okrem hlavného spustiteľného súboru zabezpečiť, aby sa v systéme nachádzali aj všetky potrebné súbory so zdrojmi.

Je jasné, že pri inštalácii alebo odinštalovaní programu sa musíte postarať o všetky súbory, ktoré používa (ktorých môže byť dokonca veľa). to - prvá dávková úloha: všetky súbory používané programom sú spojené do jedného súboru - archív... To umožňuje nekopírovať všetky súbory samostatne počas inštalácie programu a potom ich nevymazávať rovnakým spôsobom, ale pracovať so všetkými údajmi programu ako s jedným celkom - nainštalovať a odstrániť jeden balík.

Archív súborov Strom adresárov reprezentovaný ako jeden súbor, ktorý obsahuje obsah všetkých súborov v tomto strome a informácie o názve a atribútoch každého súboru.

Neexistuje striktná požiadavka, aby jeden balík obsahoval iba jeden program. Je prirodzené skombinovať také zdroje do balíka, s ktorým sa dá pohodlne pracovať ako s celkom. Môže to byť samostatný program alebo súbor nástrojov (napríklad coreutils, základné nástroje zdedené z Linuxu z UNIXu) alebo modul s dodatočnými možnosťami programu alebo prostriedky zdieľané niekoľkými programami. V procese vývoja a/alebo zastarávania softvéru môže oddelenie niektorých úloh do samostatného balíka stratiť alebo stratiť zmysel, takže spôsob kombinovania zdrojov do balíkov nie je zvolený raz a navždy: balíky možno rozdeliť a zlúčiť.

Najjednoduchším a najtradičnejším spôsobom Linuxu, ako spojiť viacero súborov do jedného, ​​je použiť nástroj tar.

tar sa objavil oveľa skôr ako Linux a pôvodne sa používal na vytváranie archívov súborov na magnetickej páske. Odtiaľ pochádza jeho názov - t opice ar chiver, „páskový archivátor“. V súčasnosti je tar prítomný na akomkoľvek systéme typu UNIX a umožňuje vám pracovať s archívmi súborov na akomkoľvek médiu.

Metod, ktorý napísal niekoľko programov a skriptov, sa ich rozhodol zhromaždiť v jednom súborovom archíve, aby bolo pohodlnejšie preniesť ich do všetkých systémov, v ktorých pracuje. Metod na to vytvoril archív s celým obsahom svojho koša / podadresára.

[e-mail chránený]: ~ $ tar -cf methody.progs.tar bin / [e-mail chránený]: ~ $ tar -tf methody.progs.tar bin / bin / loop bin / script bin / to.sort bin / two

Príklad 1... Vytvorenie archívu súborov pomocou tar

Prvý parameter tar má dve časti: operáciu, ktorá sa má vykonať v archíve, v tomto prípade "c" ( c reate, create) a kľúč "f", ktorý označuje, že archív má byť vytvorený v súbore, názov archívneho súboru je ďalším parametrom. Názov archívu môže byť ľubovoľný, ale Gurevich odporučil poskytnúť mu príponu „.tar“, aby sa neskôr nemýlil. Za názvom archívu nasledujú názvy súborov a adresárov, ktoré by mali byť zbalené.

Tar pracuje rekurzívne pre každý zadaný adresár, to znamená, že zbalí všetky súbory a podadresáre, ktoré obsahuje.

Aby Metod skontroloval, ktoré súbory sa dostali do archívu, prezrel si obsah výsledného archívu príkazom tar -tf názov_archívu"(" T "- zobrazenie," f "použije súbor určený nasledujúcim parametrom). Metod tu upozornil na dve okolnosti. Najprv sa v archíve zachovali názvy súborov spolu s cestou. Po druhé, všetky cesty uložené v archíve sú relatívne.

Pri rozbaľovaní archívu tar sa súbory extrahujú spolu s cestou, chýbajúce podadresáre sa vytvoria podľa potreby. Všetky cesty považuje tar za relatívne k svojmu pracovnému adresáru. Ak teraz Metod rozbalí svoj archív (príkazom `tar xf názov_archívu"), Potom sa v pracovnom adresári vytvorí podadresár" bin / "a zapíšu sa doň všetky súbory z archívu.

[e-mail chránený]: ~ $ tar -xvf methody.progs.tar bin / bin / loop bin / script bin / to.sort bin / two

Príklad 2... Rozbaľovanie archívu

Voľba "v" hovorí, že tar je "podrobný", to znamená, že má vytlačiť viac diagnostických správ, takže tar vypíše názvy (s cestou) všetkých súborov, do ktorých pri rozbaľovaní zapisuje. Ak sa už v pracovnom adresári nachádza súbor, ktorý tar vytvorí pri rozbaľovaní, tento súbor bude jednoducho vymenené súbor z archívu. Keď teda Metod rozbalil svoj archív, podadresár „bin /“ s celým jeho obsahom vymenené do podadresára z archívu. V tejto situácii to nie je strašidelné, keďže súbory v archíve sú rovnaké, ale ak by Metod pred rozbalením zmenil niektoré svoje súbory v "bin /", všetky zmeny by stratil.

Formát paketu

Okrem uloženia archívu súborov má balík aj iné úlohy (o nich sa bude hovoriť v nasledujúcich dvoch častiach), takže bežný archív súborov ako .tar nie je pre balík na Linuxe príliš vhodný, ale je potrebný špeciálny formát. Takýchto formátov je v Linuxe viacero (pre stručný výpis a charakteristiku - v sekcii Balíčky. Inštalátory balíkov), Metod používa jeden z najbežnejších - rpm, takže všetky príklady v tejto prednáške budú s jeho účasťou. Na prácu s balíkmi v špeciálnom formáte potrebujete špeciálny inštalačný program, ktorý sa tiež nazýva rpm: inštaluje, odstraňuje, aktualizuje a kontroluje balíky.

Balík rpm je jeden súbor so všetkými požadovanými údajmi. Existujú určité (aj keď nie veľmi prísne a konzistentné) konvencie týkajúce sa názvov súborov balíkov. Napríklad súbor rpm obsahujúci sadu štandardných nástrojov coreutils sa v Metodovom systéme nazýva coreutils-5.2.1-some5.rpm: po prvé - názov balíka, potom oddelené pomlčkou - servisné informácie o číslach verzie softvéru a samotnom balíku.

Registrácia v systéme

Primárne je teda balík so systémovou súčasťou archív súborov ktorý ukladá všetky požadované súbory spolu s ich cestami (t. j. adresármi). Ak existuje veľa komponentov, musí sa zabezpečiť, aby rôzne balíčky neexistovali žiadne súbory s rovnakým názvom a cestou, takže súbor patriaci do jedného balíka nemohol byť počas inštalácie nahradený súborom iného balíka. Sledujte tento druh konflikty balíčky - druhá dávková úloha.

Aby sa predišlo konfliktom, systém musí uchovávať informácie o všetkých už nainštalovaných balíkoch a ich súboroch. Keď presne viete, ktoré súbory patria do balíka, môžete balík úplne odstrániť bez toho, aby ste opustili alebo odstránili čokoľvek zbytočné. Tento prístup zabraňuje vytváraniu "odpadu" v systéme - zbytočných súborov, ktoré zostali vzdialené programy- a robí operáciu inštalácie/odstránenia balíka úplne reverzibilnou.

Rpm ukladá informácie o všetkých balíkoch nainštalovaných v systéme a ich súboroch a môže tieto informácie zobraziť na žiadosť používateľa. Metod po prečítaní rpm manuálu zistil, že zoznam všetkých balíkov nainštalovaných v systéme (s najväčšou pravdepodobnosťou je veľmi dlhý, niekoľko tisíc riadkov) možno získať príkazom "rpm -qa", zoznam všetkých súborov patriacich do balíka, príkaz "rpm -ql názov_balíka". Rozhodol sa skontrolovať, či jeho systém už obsahuje balík coreutils, ktorý už poznal z predchádzajúcich prednášok, a zistiť, ktoré utility mu patria:

[e-mail chránený]: ~ $ rpm -qa | grep coreutils coreutils-5.2.1-some5 [e-mail chránený]: ~ $ rpm -ql coreutils | grep bin / bin / basename / bin / cat / bin / chgrp / bin / chmod

Príklad 3... Aké súbory balík vlastní?

Metod dostal pomerne dlhý zoznam názvov súborov, medzi ktorými sa stretol s mnohými nástrojmi, ktoré už poznal, aj s niektorými neznámymi. Navyše, pri vyžiadaní zoznamu spisov použil Metod iba názov balík, bez verzií- otáčky za minútu umožňujú niektorý z nainštalované balíky 2.

Môžete vykonať aj opačný postup - zistite si o akomkoľvek súbore, do ktorého balíka patrí:

[e-mail chránený]: ~ $ rpm -qf / etc / passwd setup-2.2.5-some1

Príklad 4... Do ktorého balíka patrí súbor?

Súbory patriace do balíka je možné nielen vymazať, ale aj zmeniť. Dá sa to urobiť zámerne (napr. bol upravený konfiguračný súbor), v takom prípade pri aktualizácii alebo vymazaní balíka treba zmenený súbor uložiť, pretože obsahuje výsledok práce administrátora. Na to musí byť systém schopný zistiť, že súbor patriaci do balíka sa zmenil. Aby to bolo možné, balík musí obsahovať informácie o všetkých archívnych súboroch: veľkosť, atribúty, kontrolná suma - v tomto prípade bude verifikačný postup schopný skontrolovať zhodu atribútov súboru v balíku s atribútmi súboru nainštalovaného v systéme. Metod môže skontrolovať, čo sa v balíku zmenilo príkazom „rpm -V názov_balíka ».

[e-mail chránený]: ~ $ rpm -V setup S.5 .... T c / etc / X11 / fs / config S.5 .... T c / etc / export S.5 .... T c / etc / fstab S.5 .... T c / etc / printcap ..? ..... c / etc / securetty

Príklad 5... Čo sa zmenilo v balíku?

Metod dostal zoznam súborov, ktoré sa od inštalácie balíka zmenili. Zrejme sú to všetko konfiguračné súbory upravené správcom systému. Metod uhádol, že kombinácia čísel, písmen a bodiek je zoznam atribútov, podľa ktorých sa porovnávajú otáčky nainštalované súbory s údajmi o balíku si však bude musieť pozorne prečítať príručku, aby presne zistil, čo jednotlivé písmená znamenajú.

Linuxový systém sa rozkladá na komponenty bez stopy: každý súbor v Linuxe patrí do jedného (a len jedného!) balíka.

Prirodzene, s výnimkou tých súborov, ktoré vytvárajú používatelia.

To vám umožňuje zredukovať akékoľvek zmeny v zložení systému na operácie s balíkmi – od pôvodné nastavenie na zložité komplexné aktualizácie. V tomto prípade sa na všetky zmeny použije rovnaký inštalátor, napríklad rpm.

Zmena nastavení systému

Na úplnú registráciu balíka v systéme zvyčajne nestačí, aby systém viedol zoznam súborov patriacich do balíka. Pri inštalácii, odinštalovaní alebo aktualizácii balíka je často potrebné vykonať sériu operácií na aktualizáciu informácií o balíku a prispôsobenie nastavenie- samotný balík k tým, ktoré sú už v systéme k dispozícii, a naopak. Okrem toho niektoré zmeny v systéme, napríklad pridávanie a odstraňovanie pseudo-užívateľ, nie sú obmedzené na pridávanie a odstraňovanie súborov a navyše závisia na prúdu stav systému. Ukazuje sa, že registrácia do systému nie je len záležitosťou systému, ale aj samotného balíka. Preto musí každý balík uchovávať informácie o tom, aké akcie by sa mali vykonať v čase rôznych operácií s ním - to je tretia dávková úloha.

Zoznamy požadovaných akcií sú uvedené v balíku ako skripty... Tieto skripty sú spojené s procedúrami inštalácie a odinštalovania balíka a možno ich v prípade potreby vyvolať pred aj po príslušnej procedúre. V dôsledku toho vyzerajú procedúry inštalácie a odstránenia balíka takto:

  • vykonávanie predinštalačných / odinštalačných skriptov;
  • kopírovanie súborov z archívu do systému alebo mazanie súborov zo systému
  • spustenie skriptov po inštalácii / odinštalovaní.

[e-mail chránený]: ~ $ rpm -q --scripts coreutils predinštalačný skriptlet (cez / bin / sh): # Odstráňte informačné stránky z fileutils, textutils a sh-utils. pre f v /usr/share/info/(fileutils,textutils,sh-utils).info*; do [-f "$ f"] || pokračovať RPM_INSTALL_ARG1 = 0 / usr / sbin / uninstall_info "$ f" ||: hotový postinštalačný skriptlet (cez / bin / sh): / usr / sbin / install_info coreutils.info skriptlet pred odinštalovaním (cez / bin / sh): / usr / sbin / uninstall_info coreutils.info

Príklad 6... Prezeranie skriptov v balíku

Methodius zistil, že skripty v balíku coreutils sa spúšťajú pred inštaláciou (preinstall), po inštalácii (postinstall) a pred odinštalovaním (preuninstall) ich spúšťa štandardný interpret príkazov (/ bin / sh). Všetky tieto skripty sú potrebné na registráciu dokumentácie nainštalovanej balíkom v informačnom systéme alebo na odstránenie tejto dokumentácie zo systému (pomocou príkazov / usr / sbin / install_info a / usr / sbin / uninstall_info). Keďže info vytvára všeobecný obsah pre všetku dokumentáciu dostupnú v systéme, jednoduchá kópia súbory by nestačili.

V dôsledku takýchto operácií integrovať balík do systému, súbory, ktoré nepatria tento balík, vytvoria sa nové súbory. Ak program obsiahnutý v balíku využíva služby niektorej už nainštalovanej služby (napríklad syslogd), môže byť potrebné zaregistrovať tento program v konfiguračných súboroch služby. Zmena „cudzích“ súborov počas inštalácie balíka je samozrejme nežiaduca: neskôr, po odstránení balíka, budete musieť súbor vrátiť počiatočný stav, čo nie je vždy možné (napríklad po premyslenej úprave administrátorom). Schéma “. d “, popísané v kapitole Kroky zavádzania systému.

Pohodlná cena

Pohodlie, ktoré používateľ získa pri práci s balíkmi, nedosahuje sám, ale ľudskou prácou: balíky musí vytvárať človek, jeho práca sa nazýva „správca balíkov“ alebo „balík“. Je zodpovednosťou správcu balíka pripraviť archív súborov potrebný na inštaláciu a odinštalovanie skriptov a iných informácií o balíku a jeho obsahu a spojiť ich do jedného súboru balíka.

Funkcie na vytvorenie balíka vo formáte rpm sú tiež vykonávané pomocou program otáčok za minútu.

Môžete zistiť, kto a kedy balík vytvoril, získať krátku pomoc o softvéri, ktorý obsahuje, pomocou príkazu „rpm -qi názov_balíka ».

[e-mail chránený]: ~ $ rpm -qi setup Názov: setup Premiestnenia: (nie je možné premiestniť) Verzia: 2.2.5 Dodávateľ: Some Linux Team Release: some1 Dátum zostavenia: Št 29. január 2004 18:08:05 Dátum inštalácie: Po 23. august 2004 15: 08:45 Build Host: shogun.somelinux.org Skupina: Systém / Konfigurácia / Iný zdroj RPM: setup-2.2.5-some1.src.rpm Veľkosť: 39969 Licencia: GPL Packager: Leon B. Gourievitch Zhrnutie: Počiatočná sada konfiguračných súborov Popis: Počiatočná sada konfiguračných súborov, ktoré sa majú umiestniť do / atď.

Príklad 7... Popis balíka

Majte na pamäti, že žiadny balík obsahujúci softvér pre Linux nie je univerzálny. Mať takýto balík neznamená, že ho možno nainštalovať do vášho systému. Ide o to, že rôzne distribúcie Linuxu sa líšia presne v tom, ako je softvér organizovaný systém(o distribúciách si povieme na prednáške). Distribúcie sa môžu líšiť v umiestnení súborov a postupoch integrácie do softvérového systému, nehovoriac o skutočnosti, že rôzne distribúcie používajú odlišný formát balíka. To znamená, že balík pripravený s ohľadom na jednu distribúciu nemusí byť kompatibilný s inou. Aby sa nejaký program objavil vo vašej distribúcii, niekto musí pripraviť a sprístupniť príslušný balík.

Balík Zdroje potrebné na inštaláciu a integráciu komponentu (archívne súbory, skripty pred a po inštalácii, informácie o balíku a jeho správcovi) do jedného súboru.

Napriek zvláštnym rozdielom sú linuxové distribúcie variantmi toho istého systému, takže v konečnom dôsledku môže byť každý program bežiaci v jednej distribúcii „prispôsobený“ akejkoľvek inej. Len na to musíte mať zdrojové texty príslušný program. Doteraz išlo len o tzv binárne balíky, v ktorom sú programy obsiahnuté vo forme už skompilovaných binárnych (spustiteľných) súborov, v tejto podobe môže program závisieť od niektorých vlastností systému a nemusí fungovať všade. Ak chcete získať funkčný program do systému, musíte nainštalovať binárny balík. Balík však môže obsahovať aj zdrojový kód programov, takéto balíčky sa nazývajú počiatočné... Dostupnosť zdrojového kódu - požadovaný stav distribúciu väčšiny softvéru pre Linux nájdete v prednáške Free Licensing Policy. História Linuxu: Od jadra po distribúcie. Ak sa ukáže, že nikto nepripravil balík s programom, ktorý potrebujete pre svoju distribúciu, máte možnosť nainštalovať si zdrojový balík a program skompilovať sami.

Fámy o tom, že na zostavenie programu zo zdroja nemusíte ani vedieť, čo je to „prekladač“, majú ďaleko od reality.

Po úspešnej kompilácii sa získa zodpovedajúci binárny súbor zo zdrojového balíka, ktorý už môže byť nainštalovaný v systéme.

Stručne povedané, správa balíkov je o inštalácii a údržbe (aktualizácii alebo odstránení podľa potreby) softvéru operačného systému. Počiatočné fázy vývoja operačných systémov Linux, softvér pre ne bol distribuovaný len vo forme zdrojového kódu spolu s potrebnou dokumentáciou, konfiguračnými súbormi atď. V súčasnosti väčšina distribúcií Linux použite predkompilované programy nazývané balíčky. Balíky sa poskytujú používateľovi pripravené na inštaláciu do operačného systému. Avšak v linux, môžete vždy získať zdroj ten či onen softvér študovať, zlepšovať a zostavovať.

Čo sú závislosti balíkov

Závislosti balíkov sú vtedy, keď to potrebuje jeden softvérový balík správna inštalácia a práce, sú potrebné určité zdroje vo forme ďalších zdieľaných knižníc alebo iných balíkov. Všetky moderné systémy správy balíkov majú metódy riešenia závislostí, aby sa zabezpečilo, že keď je balík nainštalovaný, nainštalujú sa všetky jeho závislosti potrebné na správne fungovanie.

Balíkový systém

Takmer každý softvér nainštalovaný v modernom linux systém možno nájsť na internete. Môžu ho poskytovať vývojári konkrétnej distribúcie prostredníctvom oficiálnych repozitárov (softvérové ​​úložiská, ktoré môžu obsahovať tisíce balíkov, z ktorých každý bol zostavený, testovaný a udržiavaný na distribúciu a použitie v danej distribúcii linux) alebo dostupný ako zdrojový kód, ktorý si môžete stiahnuť a nainštalovať manuálne. Pretože rôzne rodiny distribúcií linux použitie rôznych systémov balenie ( Debian- balíky vo formáte deb, CentOS - ot./min formát, openSUSE- tiež ot./min ale vytvorené špeciálne pre openSUSE), balík určený pre jednu distribúciu nebude kompatibilný s inou distribúciou. Väčšina distribúcií linux patria do jednej z troch hlavných rodín linux zahrnuté v certifikácii LFCS.

Nástroje na správu balíkov na vysokej a nízkej úrovni.

Pri rozhodovaní rôzne úlohy na správu softvérových balíkov musíte vedieť, že existujú dva typy nástrojov: nástroje nízkej úrovne (ktoré skutočne inštalujú, aktualizujú a odstraňujú súbory balíkov) a nástroje vysokej úrovne (zodpovedajú za vykonávanie úloh na riešenie závislostí a hľadanie metadát). - takzvané "údaje o údajoch"). Nízkoúrovňové systémy správy balíkov:
  • Debian, Ubuntu a podobne - správca balíkov dpkg
  • CentOS- správca balíkov ot./min
  • Opensuse- správca balíkov ot./min(opensuse)
Systémy správy balíkov na vysokej úrovni:
  • Debian, Ubuntu a podobne - apt-get / aptitude
  • CentOS- správca balíkov mňam
  • Opensuse- správca balíkov zips
Dpkg- nízkoúrovňový správca balíkov v Debian linux Dpkg vie, ako nainštalovať, odstrániť, poskytnúť informácie a vytvoriť deb balíky, nemôže však automaticky stiahnuť a nainštalovať požadované závislosti pre konkrétny balík. Apt-get- správca balíkov na vysokej úrovni v Debian linux a odvodené distribúcie. Apt-get je jednoduchý spôsob, ako získať a nainštalovať požadované balíky z rôznych zdrojov, s rozlíšením závislostí, cez príkazový riadok. Na rozdiel od dpkg, apt-get nefunguje priamo s .deb súbory balíkov, iba podľa názvu balíka. spôsobilosť, toto je ďalší nástroj na správu balíkov na vysokej úrovni v debian-Páči sa mi to operačné systémy a možno ho použiť na správu balíkov (inštalácia, aktualizácia a odstránenie balíkov s automatickým riešením závislostí) rýchlym a jednoduchým spôsobom. Poskytuje rovnakú funkcionalitu ako apt-get plus niektoré pokročilé, napríklad prístup k viacerým verziám balíka. ot./min- použitý systém správy balíkov Linux Standard Base (LSB)- kompatibilné distribúcie pre nízkoúrovňové spracovanie balíkov. Tiež dpkg, môže vyhľadávať, inštalovať, kontrolovať, aktualizovať a odstraňovať balíky, je bežnejšie používaný v distribúciách založených na Fedora, ako napr RHEL a CentOS. Mňam- nástroj na vysokej úrovni pre prácu s balíkmi (inštalácia, odinštalovanie, aktualizácia) so správou závislostí na systémoch RPM balíkov. Mňam ako apt-get a spôsobilosť, pracuje s úložiskami

Bežné úlohy pre nástroje nízkej úrovne.

1. Inštalácia balíka z skompilovaného * .deb alebo *.ot./min súbor.

Nevýhodou takejto inštalácie je nemožnosť vyriešenia závislostí balíkov. S najväčšou pravdepodobnosťou budete používať tadiaľto inštaláciu, ak v úložiskách nie je žiadny zodpovedajúci softvér a nemožno ho nainštalovať pomocou nástrojov vysoký stupeň... V tomto prípade balík nebude môcť stiahnuť a nainštalovať závislosti, ak ich potrebuje, a inštalácia sa preruší s chybou. # dpkg -i súbor.deb # rpm -i súbor.rpm Nepokúšajte sa inštalovať do CentOS, ot./min balík zostavený pre Opensuse, a naopak.

2. Aktualizácia balíka zo skompilovaného súboru.

Aktualizácia softvérového balíka, ktorý nie je dostupný z repozitárov, je možná len manuálne. # dpkg -i súbor.deb # rpm -U súbor.rpm

3. Zoznam nainštalovaných balíkov

Ak máte k dispozícii už fungujúci systém, nebude zbytočné zistiť, čo je na ňom nainštalované: # dpkg -l # rpm -qa Ak potrebujete zistiť, či je nainštalovaný konkrétny balík, môžete použiť príkaz grep... presmerovanie výstupu správcu balíkov naň: # dpkg -l | grep apache2-mpm-itk ii apache2-mpm-itk 2.2.22-13 + deb7u6 amd64 multiuser MPM pre Apache 2.2 # rpm -qa | grep httpd-2.4.6 httpd-2.4.6-45.el7.centos.4.x86_64 Ďalší spôsob, ako dosiahnuť rovnaký výsledok: # dpkg --status názov_balíka # rpm -q názov_balíka 4. Do ktorého balíka patrí súbor. # dpkg --search my.cnf mysql-common: /etc/mysql/my.cnf # rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_64

Bežné úlohy pre nástroje na vysokej úrovni

1. Vyhľadajte balíky

# aptitude update && aptitude search package_name # zypper refresh && zypper search package_name # yum search package_name if mňam dostane kľúč hľadať všetky, vyhľadávanie sa vykonáva nielen podľa názvu balíka, ale aj podľa popisu # yum search all package_name Ktorý balík nainštaloval súbor # yum čo poskytuje "* / server.cnf" 1: mariadb-server-5.5.52-1. el7.x86_64: Server MariaDB a súvisiace súbory Repo: základná Zhoda z: Názov súboru: /etc/my.cnf.d/server.cnf

2. Inštalácia balíka z úložiska

Pri inštalácii balíka sa môže zobraziť výzva na potvrdenie inštalácie, keď správca balíkov vyrieši všetky závislosti. # aptitude update && aptitude install package_name # zypper refresh && zypper install package_name # yum update && yum install package_name

3. Odstraňovanie balíkov

Ak spôsobilosťšpecifikovaný kľúč odstrániť, bude balík odstránený, okrem konfiguračných súborov. Ak chcete odstrániť všetky stopy inštalácie balíka, musíte použiť kľúč očistiť... # aptitude remove / purge package_name # yum erase package_name B Opensuse všimnite si znamienko mínus pred názvom balíka. # zypper remove -package_name Takmer každý správca balíkov vás požiada o potvrdenie odstránenia balíka.

4. Zobraziť informácie o balíku

Zobrazenie informácií o balíku mariadb-server# aptitude show mariadb-server # yum info mariadb-server # zypper info mariadb-server Veľa šťastia.
Autor: David M Williams
Dátum: 16. januára 2008
Voľný preklad: Alexey Dmitriev
Dátum prevodu: 24.1.2008

Hľadáte open source aplikácie? Linuxové distribúcie majú dlhú tradíciu balenia softvéru do ľahko inštalovateľných balíkov. Samotné vyhľadávanie týchto balíkov však nie je v žiadnom prípade vždy intuitívne a nie vždy sú v želanej forme. Tento článok je o tom, ako vyťažiť maximum z vašich balíkov Linuxu.

Prvým miestom, kde by ste sa mali pozrieť, je vaša súprava distribučných CD alebo DVD. Všetky distribúcie Linuxu okrem „najmenších“ obsahujú veľa viac programov ako zvyčajne nastavené. Keď inštalujete distribúciu, máte na výber, aký typ systému nainštalovať, čo sa často scvrkáva na výber medzi pracovná stanica a server. V závislosti od výberu sa nainštalujú príslušné sady balíkov.

Softvér môžete vždy nainštalovať pomocou grafický program inštalácia a odinštalovanie aplikácií, ak to vaša distribučná súprava podporuje. V niektorých prípadoch možno budete musieť manuálne nájsť balíky na inštalačný disk kde sú s najväčšou pravdepodobnosťou všetky v rovnakom adresári a sú zoradené podľa abecedy bez zjavného usporiadania podľa témy. To je v poriadku, pokiaľ nemusíte hľadať balík, ktorého názov nepoznáte, ale poznáte len jeho účel.

A tu prichádza na pomoc internet. Pozrite si skvelé open source stránky ako FreshMeat alebo. Prehliadnite si ich, aby ste našli vzrušujúce nové aplikácie.

Nie všetko je vždy jednoduché, aj keď nájdete niečo vhodné: vezmite si to ako príklad. to výkonný systém vám umožňuje manipulovať s obsahom webových stránok a intranetu s obsahom s otvoreným zdrojovým kódom – to znie naozaj skvele. Je navrhnutý tak, aby umožnil netechnickým používateľom vytvárať a udržiavať svoje vlastné online projekty bezpečne, profesionálne a lacno. Toto je vaša klasická LAMP aplikácia napísaná v PHP a používa Apache a MySQL.

Medzitým je MySource Classic k dispozícii na stiahnutie v dvoch formátoch: ako. zip súbor alebo ako súbor .tar.gz. Oba formáty sú archivované. Takmer každý vie, čo je súbor zip, zatiaľ čo .tar.gz (tiež .tgz) je čisto špecifický formát pre Linux / UNIX známy ako tarball.

Tarball je vhodný formát na distribúciu zdrojového kódu, je veľmi všestranný a ľahko prenosný (tar pochádza z Tape ARchive - z čias, keď sa používali páskové archivačné zariadenia) Veľmi sa však líši od formátu balíka, v ktorom sú aplikácie tvoja distribúcia... Balíky obsahujú spustiteľný súbor dvojhviezdy, plus konfiguračné súbory, plus nejaké potrebné súbory, a to všetko v určitom poradí rozloží tvorca balíka bez akejkoľvek zdĺhavej účasti z vašej strany

Spustite terminál a prehľadávajte archív pomocou príkazu tar; ako inde v Linuxe, existuje niekoľko možností.

Tarball môžete rozbaliť príkazom gunzip:

gunzip mysource-2.16.2.tar.gz

Tým sa vytvorí nový súbor s názvom mysource-2.16.2.tar, preskúmajte jeho obsah pomocou:

tar -tvf mysource-2.16.2.tar | viac

Obsah je teraz viditeľný. Existuje ďalší spôsob, ako zobraziť obsah tarballu bez jeho rozbalenia pomocou iného variantu rovnakého príkazu tar:

tar -tzvf mysource-2.16.2.tar | viac

Vo všeobecnosti nie je rozbaľovanie archívov vôbec nebezpečné, len si treba dať trochu pozor, aby sa nepoškodili vaše systémové súbory. Niektoré tarbally vytvárajú podadresár v aktuálnom adresári, kde rozbaľujú svoje súbory. Iní však všetko rozbaľujú do aktuálneho adresára – to je už otravné, keďže adresár musíte vyčistiť ručne. Najnepríjemnejšie ale je, že ak tento adresár obsahuje súbory s rovnakým názvom ako rozbalené súbory, dôjde k ich prepísaniu, t.j. zničené.

Ešte horšie je, ak neopatrný správca rozbalí tarball na úplne nevhodné miesto, napríklad do koreňového adresára systému. Škodlivý archív môže ľahko prepísať dôležitú systémovú konfiguráciu resp spustiteľné súbory... Preto je najlepšie rozbaliť tarball ako neprivilegovaný používateľ do špeciálne vyhradeného adresára a po rozbalení obsah rozložiť na miesta.

Poďme to teda rozbaliť. Opäť použijeme tar:

tar -xf mysource-2.16.2.tar

Alebo, ako predtým, obídením fázy gunzip pridajte možnosť -z:

tar -xzf mysource-2.16.2.tar.gz

Teraz vidíte zdrojový kód vo formulári dostupné súbory a priečinky, presne tie isté, aké boli na počítači jeho tvorcu.

Tarbally sú najbežnejším archívnym formátom, ale nie jediným; niekedy sa môžete stretnúť s archívmi cpio, ktoré končia príponou (príponou) .cpio. Tento formát sa zvyčajne používa v balíkoch rpm, takmer nikdy sa nenájde sám. Ak sa však s takýmto formátom stretnete, majte na pamäti, že hoci má príkaz cpio podobné možnosti ako príkaz tar, cpio funguje na vstupe a výstupe streamov (potrubia), nie súborov, takže ak chcete zobraziť archív, kľudne napíš:

cpio -tv< examplefile.cpio

a na rozbalenie obsahu archívu:

cpio -i -d< examplefile.cpio

Po prijatí a rozbalení tarballu je vašou úlohou skompilovať a nainštalovať program. Tento formát je najuniverzálnejší a nezávisí od vášho typu distribúcie. Existuje veľká šanca, že sa aplikácia nainštaluje, ak viete, čo robíte. Našťastie „viete, čo robíte“ sa zvyčajne scvrkáva na sériu troch príkazov:

./configure
urobiť
vykonať inštaláciu

za predpokladu, že vývojár bol taký láskavý a poskytol konfiguračný nástroj a súbor Makefile.

Na rozdiel od vyššie uvedeného sú správcovia balíkov oveľa múdrejší a ústretovejší – ale aj oveľa menej všestranní v zmysle použiteľnosti pre rôzne distribúcie. Nech je to akokoľvek, majú veľa výhod. Správca balíkov bude sledovať, čo bolo nainštalované, kde a kde sa tieto súbory nachádzajú. Správca balíkov vám môže jednoducho pomôcť nájsť nové dostupné verzie vaše aplikácie a najlepšie zo všetkého zabezpečiť, aby boli splnené závislosti. Ak sa pokúsite nainštalovať balík, ktorý potrebuje komponent (napríklad knižnicu), aby fungoval, správca balíkov sa o to postará správna verzia tento komponent (v našom prípade knižnica) bol tiež nainštalovaný.

Dvaja najviac konvenčný formát balíčky sú: Debian balíky a balíky RPM. Prvý formát používajú také distribúcie ako Debian, Ubuntu, Knoppix a niektoré ďalšie; Používa sa formát RPM červený klobúk, Fedora, Suse a niektorí ďalší.

Pokiaľ nevytvárate svoju vlastnú linuxovú distribúciu, výber správcu balíkov už bol urobený za vás. Vždy som zdôrazňoval, že rozdiel medzi linuxovými distribúciami je hlavne v tom, ktorý správca balíkov sa používa a ktorá sada balíkov je štandardne nainštalovaná. Všetky verzie Linuxu skutočne používajú rovnaké jadrá, takmer rovnaké nástroje GNU – ale hlavným rozdielom medzi distribúciami je správca balíkov.

Ak teda hľadáte nové open source aplikácie a nájdete balík, znamená to hneď dve veci. Po prvé, balík môže alebo nemusí byť použitý vo vašom systéme v závislosti od jeho formátu a formátu, s ktorým môžete pracovať. Po druhé, ak balík vyhovuje formátu, môžete si byť istí, že sa nainštaluje bez problémov, bez potreby kompilácie alebo potreby vynaložiť nejaké obrovské úsilie.

Ako posledná možnosť je možné extrahovať všetky súbory z balíka a následne ich manuálne nainštalovať. Ako už bolo spomenuté, formát balíka RPM interne používa archívny formát cpio. Jednoduchý príkaz rpm2cpio vám pomôže rozbaliť interný archív. Ak chcete extrahovať všetky súbory z balíka bez jeho inštalácie, použite príkaz:

rpm2cpio examplepackage.rpm | cpio -i

Podobne balík naformátovaný v Debiane obsahuje sadu tarballov zazipovaných vo formáte nazvanom ar; ako by ste mohli hádať, je to príbuzný formátu tar, len oveľa zásadnejší. Skutočnosť, že nepodporuje adresáre, hovorí veľa.

Extrahujte obsah balíka Debian takto:

ar -x examplepackage.deb

Tým sa vytvoria dva tarbally: control.tar.gz a data.tar.gz, plus jeden textový súbor: debian-binary.

Debian-binary súbor obsahuje jeden riadok – toto je len názov verzie balíčka, ktorý sa používa na vytvorenie balíka. Tarball control.tar.gz obsahuje inštalačné skripty a užitočná informácia; tarball data.tar.gz obsahuje binárne súbory a konfiguračné súbory, všetky súbory, potrebné pre program pre prácu. Ak je to absolútne nevyhnutné, môžete tento archív otvoriť pomocou tar -xf, hoci ak je aplikácia zložitá, špecifikujte dobrá práca inštalačné skripty.

Vyššie som povedal, že jednou zo skvelých vecí na správcovi balíkov je jeho schopnosť pravidelne aktualizovať vaše aplikácie najnovšie verzie... Nástroje používané na to sa líšia v závislosti od distribúcie, ale skontrolujte, či máte: Apt (Advanced Package Tool), Yum (upravený aktualizátor Yellowdog), Synaptic ( grafické rozšírenie Apt) a up2date.

Apt je starý dobrý program, ktorý pochádza z Debianu a súvisiacich distribúcií, ale teraz podporuje aj RPM. Nejde ani tak o jeden nástroj, ako o súbor nástrojov; najbežnejšie používané sú apt-get, ktorý sťahuje balíčky z repozitárov, a apt-cache, ktorý zisťuje, čo sa má stiahnuť. Synaptic neponúka nové funkcie, ale všetko spája v užívateľsky príjemnom grafickom rozhraní.

Rovnako ako Apt, aj Yum je nástroj príkazový riadok pre balíčky RPM. Dokáže zistiť, čo je k dispozícii, nainštalovať balíky a vykonať ďalšie akcie, ako je výpis nainštalovaných balíkov a odstránenie starých verzií balíkov.

Update2date tiež funguje s RPM balíčky, ale poskytuje okamžitý prístup k úložiskám Yum aj Apt, čím poskytuje viac možností.

Choďte teda online, nainštalujte si bezplatný softvér, používajte bezplatné operačné systémy.