Fedora nakon instalacije. Fedora: upravljanje paketima

Aplikacijsko rješenje "1C: Maloprodaja 8" automatizira registraciju sljedećih operacija:

  • dolazak robe od druge ugovorne strane u skladišta trgovine;
  • prodaja roba i usluga drugoj ugovornoj strani;
  • kretanje robe između trgovina, internih skladišta trgovina, trgovina i skladišta trgovačkog poduzeća;
  • trgovina setovima robe nastalim u trenutku prodaje robe i pretprodajnom pripremom seta;
  • povrat robe od kupaca, uključujući povrate nakon zatvaranja smjene blagajne;
  • popis robnih zaliha;
  • registracija ulaznih i izlaznih naloga za gotovinu izravno u trgovinama;
  • evidentiranje prodajnih računa, a na kraju smjene zbirno izvješće o blagajni, uzimajući u obzir vraćenu robu po smjeni;
  • kreće se Novac između prodavaonica, internih blagajni prodavaonica, trgovina i blagajni trgovačkog poduzeća;
  • rad sa sustavima za prihvat, računovodstvo plaćanja robe platnim karticama, računovodstvo za ugovore o prihvatu i uvjete povrata/nepovrata trgovačke koncesije od strane akvizitera pri povratu robe; rad s bankovnim kreditima.
  • korištenje postotnih popusta na diskontne kartice (fiksni i kumulativni popusti), popusti prema prodajnim mjestima, popusti prema ugovornim stranama, popusti na iznos računa, popusti po roku valjanosti, po količini robe, po vrsti plaćanja.
  • podrška za komercijalnu opremu: fiskalni registratori, terminali za prikupljanje podataka, skeneri bar kodova, elektronska vaga, zasloni kupaca, sustavi za prikupljanje, čitači magnetskih kartica.

Aplikacijsko rješenje "1C: Retail 8" može raditi s geografski distribuiranim bazama podataka (RIB). Istodobno je osigurana jasna podjela protoka dokumenata između trgovina, a podaci o svim trgovinama u mreži objedinjeni su u središnjem čvorištu RIB-a. Pomoću središnjeg čvora možete brzo stvoriti periferni RIB čvor.

Aplikacijsko rješenje "1C: Retail 8" može automatski razmjenjivati ​​informacije s upravom informacijski sistem(stražnji ured). Kao kontrolni sustav za aplikativno rješenje "1C: Maloprodaja 8" može se koristiti aplikativno rješenje "Upravljanje trgovinom". Pomoću sustava upravljanja možete stvoriti neograničen broj čvorova u aplikacijskom rješenju 1C: Retail 8, koji zauzvrat mogu biti središnji čvorovi distribuirane baze podataka.

Predviđeni su mehanizmi za administriranje korisnika baze podataka udaljenih RIB čvorova iz glavnog čvora aplikativnog rješenja. Na primjer, u glavnom RIB čvoru, administrator sustava može registrirati korisnika infobaze udaljenog čvora i konfigurirati njegova prava pristupa.

Uz računovodstvo više prodavaonica, implementirano je računovodstvo više poduzeća, gdje se svako skladište (prodajni kat) može dodijeliti određenoj organizaciji (tvrtci).

Aplikacijsko rješenje "1C: Maloprodaja 8" može koristiti sheme naloga za kretanje, prodaju i prijem robe u skladištima trgovina. Shema naloga predviđa preliminarnu registraciju popisa robe potrebne za prihvat ili otpremu iz skladišta, dok se stvarna transakcija s robom u skladištu evidentira dokumentima „Izlazni nalog za robu” ili „Prijemni nalog za robu”.

Knjigovodstvo zaliha u skladištima prodavaonica i knjigovodstvo gotovine u blagajnama trgovina je automatizirano.

Aplikacijsko rješenje omogućuje reguliranje maloprodajnih cijena za svaku trgovinu iz središnjeg čvora. Istodobno, trgovini možete dati pravo prilagođavanja maloprodajnih cijena ovisno o lokaciji i prisutnosti konkurencije.

Program implementira mehanizme za generiranje oznaka cijena i naljepnica.

Uvedeni su mehanizmi automatskog utvrđivanja stope PDV-a u trenutku prodaje robe sa skladišta trgovine. Sustav oporezivanja utvrđuje se za svako skladište posebno. U trenutku prodaje proizvoda, prodajni prostor (ili skladište) iz kojeg je potrebno prodati proizvod određuje se blagajnom za prodaju proizvoda i skupinom proizvoda kojoj on (proizvod) pripada. To omogućuje ispravan unos dokumenata u trgovinama koje koriste mješoviti sustav oporezivanja.

Aplikacijsko rješenje "1C: Retail 8" implementira sheme za automatiziranu distribuciju robe među skladištima, kada po primitku robe operater može distribuirati zalihu među skladištima (prodajnim podovima) trgovine ovisno o grupi proizvoda.

Nakon što je instalacija Fedora 24 radne stanice uspješno dovršena, ona još nije spremna za puni rad. Unatoč činjenici da su programeri distribucije već konfigurirali mnoge programe za rad s dokumentima, medijima i sustav datoteka, ostalo je još par stvari koje nisu u distribuciji out of the box.

U ovom članku ćemo pogledati najviše važne akcije nakon instalacije Fedore 24. Tek nakon dovršetka svih ovih koraka vaš će sustav biti potpuno spreman za upotrebu. Ovaj se popis može nastaviti na neodređeno vrijeme, ali razmotrit ćemo samo najvažnije.

1. Kompletno ažuriranje sustava

Možda mislite da to nije važno. Ali otkako je sustav objavljen, neki su problemi možda već otkriveni i za njih su razvijeni popravci. Mogle bi se izdati i nove verzije programa. Stoga ažuriramo sustav na najnoviju verziju:

2. Postavljanje naziva računala

Kako bismo konfigurirali naziv računala koji će biti prikazan u terminalu i drugim programima, koristit ćemo se uslužnim programom hostnamectl. Može postaviti različite vrste naziva hostova. Za pregled trenutnog naziva hosta upišite:

Naziv hosta možete promijeniti sljedećom naredbom:

hostnamectl set-hostname "losst"

3. Postavljanje statičke IP adrese

Poslužitelji vrlo često koriste statičke IP adrese. Jedna od prvih stvari koje morate učiniti nakon instalacije fedore je postaviti svoju mrežu. Ako je ovo vaša opcija, otvorite i uredite konfiguracijsku datoteku eth0 ili enp2s0 u mapi /etc/sysconfig/network-scripts/:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Ovo su postavke koje trebate dodati:

  • BOOTPROTO- protokol za dobivanje adrese, trebamo statički
  • POKRETANJE- automatsko povezivanje
  • IPADDR- IP adresu koja vam je potrebna
  • MREŽNA MASKA- vaša mrežna maska
  • GATEWAY- pristupnik preko kojeg će računalo pristupiti internetu
  • DNS1- DNS, s kojim trebate razriješiti imena domena.

Na primjer, to bi mogla biti ova konfiguracija:

BOOTPROTO=statičan
ONBOOT=da
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.88.131.90
DNS2=202.88.131.89

Za primjenu promjena ponovno pokrenite mrežne usluge:

systemctl ponovno pokrenite network.service

Za pregled promjena možete koristiti naredbu:

4. Dodajte RPMFusion repozitorij

Postavljanje fedore nakon instalacije treba uključiti postavljanje dodatnih spremišta. Neki paketi nisu u službenim RHEL i Fedora spremištima. Ali možete instalirati ove pakete iz repozitorija RPMFusion. Ovdje postoje i vlasnički i besplatni paketi. Za dodavanje repozitorija pokrenite naredbu:

sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-24.noarch.rpm

5. Instalirajte Gnome Tweak

Prema zadanim postavkama, Gnome desktop okruženje možda neće izgledati onako kako bismo željeli. Uslužni program GNOME Tweak pomoći će vam konfigurirati mnoge postavke izgled Fedora 24, ploča, prostor na radnoj površini i više.

Možete ga instalirati tako da otvorite Application Center, potražite Gnome Tweak i kliknete gumb Install:

6. Povežite online račune

Fedora 24 vam omogućuje pristup mrežnim računima izravno iz sustava. Možete ih konfigurirati tijekom instalacije. Ali ako to niste učinili, to uvijek možete učiniti u postavkama, na kartici Osobno, mrežni računi:

7. Instaliranje Gnome ekstenzija

Gnome Shell vam omogućuje instaliranje ekstenzija kako bi vaš sustav bio lakši za postavljanje i upravljanje.

Zatim instalirajte naredbom:

rpm instalirajte teamviewer.rpm

zaključke

Ovo je daleko od svih radnji koje je potrebno učiniti nakon instalacije Fedora 24, ali glavna stvar je prikupljena ovdje. Ako je nešto propušteno, napišite u komentarima.

Prije ili kasnije moramo instalirati softver koji nije iz službenih repozitorija. Nisu svi paketi dostupni tamo, a najnovije verzije novoobjavljenih programa nisu uvijek dostupne. Vrlo često programeri objavljuju pakete za najpopularnije distribucije na svojim službenim web stranicama. Obično su to deb i rpm. Potonji je malo rjeđi, ali ako koristite distribuciju temeljenu na Red Hatu, ovo je format paketa koji vam je potreban. Na mreži također često možete pronaći biblioteke i druge komponente koje nisu dostupne u pakiranim spremištima.

Prethodno smo obradili instalaciju deb paketi u Ubuntuu. U ovom će se članku detaljno raspravljati o instalaciji. rpm paketi u linuxu.

RPM ili RPM Package Manager je upravitelj paketa koji se koristi u distribucijama Linuxa temeljenim na Red Hatu. Format datoteke ovog upravitelja paketa ima isti naziv.

Ovaj se format ne razlikuje mnogo od istog Deb-a. Njihovu detaljnu usporedbu možete pogledati u članku što. Ovdje ću samo napomenuti da je rpm datoteka obična cpio arhiva, koja sadrži same programske datoteke, kao i metapodatke koji opisuju gdje ih treba instalirati. Baza podataka svih instaliranih paketa nalazi se u direktoriju /var/lib/rpm. Među značajkama može se primijetiti da rpm ne podržava preporučene pakete, kao ni ovisnosti o formatu ili-ili.

Za upravljanje paketima, baš kao iu Debian sustavima, postoji istoimeni konzolni uslužni program niske razine - rpm. Razmotrit ćemo to dalje u članku. U različitim sustavima Koriste se različiti upravitelji paketa, na primjer Red Hat koristi Yum, Fedora koristi DNF, a OpenSUSE koristi zypper, ali uslužni program rpm radit će na svim tim sustavima.

Instaliranje RPM paketa na Linux

Pogledajmo prvo sintaksu samog uslužnog programa rpm:

$ rpm -mode paket opcija

Uslužni program može raditi u jednom od načina:

  • -q- zahtjev, dobivanje informacija;
  • -i- instalacija;
  • -V- provjera paketa;
  • -U- Ažuriraj;
  • -e- brisanje.

Razmotrimo samo najzanimljivije opcije programa koje će nam trebati u ovom članku:

  • -v- pokazati detaljne informacije;
  • -h- prikazati statusnu traku;
  • --sila- izvršiti radnju prisilno;
  • --čvorovi- ne provjeravajte ovisnosti;
  • --zamijenite datoteke- zamijenite sve stare datoteke novima bez upozorenja;
  • -i- dobiti informacije o paketu;
  • -l- popis datoteka paketa;

Sada kada već imate ideju o tome kako raditi s ovim uslužnim programom, možete razmisliti o instaliranju rpm paketa na Linux. Najjednostavnija instalacijska naredba izgledat će ovako:

sudo rpm -i naziv_paketa.rpm

Za rad s naredbom trenutni direktorij mora postojati mapa s paketom. Ovdje postavljamo način instalacije i prenosimo datoteku paketa. Ako je instalacija uspješna, uslužni program neće ništa prikazati; ako se pojavi pogreška, znat ćete o tome.

Za pregled detaljnijih informacija tijekom postupka instalacije koristite opciju -v:

sudo rpm -iv naziv paketa.rpm

Također možete omogućiti prikaz statusne trake tijekom procesa instalacije:

sudo rpm -ivh naziv paketa.rpm

Da bismo provjerili je li paket instaliran, već moramo koristiti način upita:

sudo rpm -q naziv paketa

Također možete odmah ukloniti paket ako vam ne treba:

sudo rpm -e naziv_paketa

Ali rpm, kao i dpkg, ima jedan značajan nedostatak. Program ne može riješiti ovisnosti. Ako traženi paket nije na sustavu, jednostavno ćete dobiti poruku o pogrešci i paket neće biti instaliran.

Za automatsko preuzimanje ovisnosti tijekom instalacije rpm linuxa, trebate koristiti distribucijski upravitelj paketa. Pogledajmo nekoliko naredbi za najpopularnije RPM distribucije. Na RedHatu i drugim distribucijama koje koriste Yum, koristite ovu naredbu:

sudo yum --nogpgcheck localinstall naziv paketa.rpm

Prva opcija onemogućuje provjeru GPG ključa, a druga kaže da ćemo instalirati lokalni paket. U Fedori, dnf čini stvari još lakšim:

sudo dnf instaliraj naziv_paketa.rpm

Upravitelj paketa Zypper i OpenSUSE rade jednako dobro:

sudo zypper instalirajte naziv paketa.rpm

Ovako je jednostavno instalirati rpm s ovisnostima. Ali ne vole svi raditi u konzoli; mnogi novi korisnici žele je koristiti GUI riješiti sve probleme, pa tako i ovaj. Zatim ćemo pogledati nekoliko takvih uslužnih programa.

Instaliranje RPM datoteke u GUI

Ako koristite OpenSUSE ovo je vrlo jednostavno. Univerzalni konfigurator sustava YaST, između ostalog, omogućuje instalaciju rpm paketa. To možete učiniti s upravitelj datoteka odabirom kontekstni izbornik za otvaranje datoteke pomoću Yasta ili pokretanjem naredbe:

yast2 -i naziv_paketa.rpm

U Fedori, možete koristiti distribucijski upravitelj aplikacija za iste svrhe. Ranije je bilo nekoliko univerzalnih uslužnih programa za rješavanje ovog problema, ali sada su svi zastarjeli.

zaključke

Sada znate kako instalirati rpm datoteku u Linuxu. Zapravo, vrlo je jednostavno i ne postoji samo jedan način, već nekoliko. Iako grafički uslužni programi ovdje je malo manje nego u Ubuntuu. Ali pomoćni programi konzole potpuno dovoljno. Ako imate pitanja, pitajte u komentarima!

FOSS sustavi općenito, a posebno Fedora, organizirani su na serijskoj osnovi. Na isti način, u obliku paketa, bilo koji dodatni programi za njih, kreirali neovisni programeri. Stoga je jedan od važnih zadataka korisnika integracija paketa u njihov sustav. Paketi za Fedoru distribuiraju se u rpm formatu.

rpm format

Izum formata rpm paketa i odgovarajućeg uslužnog programa za njihovo upravljanje imao je vrlo velik utjecaj na distribuciju Linuxa općenito. Zato mu morate posvetiti malo pažnje.

Priča

Format paketa RPM (koji je tada označavao Red Hat Package Manager) i istoimeni uslužni program za manipulaciju takvim paketima, sposoban pratiti ovisnosti i prijaviti njihovo kršenje, igrali su veliku ulogu u upoznavanju šire javnosti s Linuxom. Istina, ovaj uslužni program nije znao kako riješiti ovisnosti i nije naučio do danas: ovaj zadatak rješavaju "napredniji" alati za upravljanje paketima. Ali u usporedbi sa Slackwareovim tihim skupom alata za pakete, koji uopće nije pratio ovisnosti, ovo je bio veliki napredak iz perspektive običnog korisnika.

Podrijetlo RPM sustava (pod ovim ćemo razumjeti i skup uslužnih programa i format paketa s kojima rade) izgubljeno je u tami stoljeća. Prve verzije Red Hata koristile su RPP sustav, koji je omogućavao instalaciju paketa jednom naredbom, traženje informacija o njima i provjeru ovisnosti. Međutim, sastavljanje paketa za nju zahtijevalo je značajne izmjene autorovih izvora, što je bilo stresno za održavatelje distribucije.

Paralelno s ranim Red Hatom, neko vrijeme se razvijala i mnogima malo poznata distribucija Bogus. Imao je vlastiti paketni sustav - PMS (Package Management System), koji je napisao Rikard E. Faith. Imao je slab mehanizam za traženje informacija o paketima i jednostavno nije bilo provjere njihovih ovisnosti. Ali paketi za PMS mogu se sastaviti izravno iz autorovih izvora, bez ikakvih izmjena.

Tijekom priprema za 2. izdanje Red Hata, Rickard Veit je zajedno s Dougom Hoffmanom, prema ugovoru s Red Hatom, napisao PM (Package Management) sustav koji je uključio najbolje značajke RPP-a i PMS-a. Iako praktički nikada nije korišten, poslužio je kao jedan od temelja za RPM.

Sam RPM sustav kreirali su Mark Ewing (jedan od suosnivača tvrtke) i Erik Troan, koji su se nadogradili na sva dostignuća svojih prethodnika – developera RPP-a, PMS-a i PM-a. Njegova verzija, pripremljena za testne verzije drugog izdanja, radi brzine je bila napisana u Perlu, što je stvaralo niz problema, primjerice, prilikom učitavanja s diskete (a u to je vrijeme bilo prilično na uobičajeni način pokretanje Linuxa). Neposredno prije izlaska Red Hat 2.0, sustav je u potpunosti prepisan u C, baza podataka paketa je redizajnirana za veću pouzdanost i performanse, te za korištenje RPM funkcionalnosti programeri treće strane Stvorena je biblioteka rpmlib. Drugim riječima, RPM sustav je dobio gotovo oblik u kojem ga danas poznajemo, nakon što je od tada bio podvrgnut samo ispravljanju grešaka i kozmetičkim poboljšanjima.

RPM sustav (to jest, format i uslužni program), nakon što je postao standardan i javno dostupan u izdanju Red Hat 2.0, izdanom u rujnu 1995., odmah je stekao popularnost izvan matičnog sustava. Uskoro su korišteni u Caldera Linuxu (kasnije nazvanom OpenLinux), koji je u početku bio točan klon Red Hata. Nakon toga, Suse distribucija (genetski potomak Slackware-a) prešla je na pakiranje u rpm formatu. Naravno, svi kasniji Red Hat klonovi i derivati, poput Mandrakea, također su koristili RPM.

Mogu svjedočiti kao očevidac da je do prijelaza 1996. na 1997. (vrijeme mojih prvih eksperimenata s Linuxom), RPM sustav bio raširen, smatran stabilnim i korišten daleko izvan granica izvorne distribucije.

Opće informacije

Tijekom svog dugog vijeka, rpm format je doživio razne promjene, ali je u svojoj općoj liniji zadržao svoje karakteristične značajke i unatrag kompatibilan do sadašnjeg vremena. Njegova trenutna verzija među onima koje službeno podržava istoimeni projekt u ovom trenutku (01.02.2011.) je 4.8.1. Koristi se u bezbrojnim distribucijama, predstavljajući izravne klonove Red Hata (CentOS, Scientific Linux, Oracle Enterprise Linux) i njegove izvedenice, čak i ako su se udaljile od pretka, poput Mandrive ili Altlinuxa. Osim toga, može se vidjeti čak iu nekim sustavima koji nisu genetski povezani s njim (primjerice, u svim varijantama Suse).

Paralelno s općom verzijom rpm-a, razvija se i njegova ažurirana verzija, poznata kao rpm5. Kreirao ga je Jeff Johnson, koji je prethodno bio jedan od glavnih developera "regularnog" broja okretaja u minuti. Prema njegovom mišljenju, nova verzija značajno poboljšan u usporedbi sa svojim prethodnikom, za što je, međutim, bilo potrebno platiti nedostatkom kompatibilnosti između ova dva formata. Stoga rpm5 nije službeno podržan od strane rpm projekta niti bilo koje od uobičajenih distribucija temeljenih na rpm. Koristi se, koliko ja znam, samo u PLD distribuciji i, prema najavi, koristit će se u izdanju Mandriva 2011.1

Unatoč činjenici da navedene distribucije temeljene na rpm (i mnoge druge koje nisu navedene) teoretski koriste isti format paketa, u stvarnosti se detalji njihovog dizajna razlikuju. Ovo posebno vrijedi za izvorne pakete (o kojima će biti riječi zasebno). Međutim, na ovim stranicama ću se ograničiti na razmatranje rpm paketa za Fedora distribuciju. Istina, ono što je o njima rečeno vrijedit će i za RHEL, CentOS, Scientific Linux, Oracle Enterprise Linux, ASPLinux.

Nomenklatura paketa

U sklopu Fedora distribucije možete pronaći različiti tipovi pakete formata koji nas zanima.

Prvo, razlikuju se binarni rpm paketi i oni isti, ali s izvornim kodovima. Kao što ime sugerira, prve sadrže unaprijed kompajlirane komponente distribucijskog paketa, kao što su:

  • izvršne binarne datoteke;
  • eventualno knjižnice potrebne za njihov rad;
  • konfiguracijske datoteke (ili barem njihove primjere);
  • dokumentacija.

Izvorni paketi sadrže svoje tarballove, zakrpe potrebne za prilagodbu autorskih paketa ciljnom sustavu i razne vrste servisnih informacija.

Vrlo je lako prepoznati oba po njihovim imenima, formiranim prema određenim pravilima, koja ćemo razmotriti na primjeru najindikativnijeg paketa - samog rpm paketa

Nazivi binarnih rpm paketa formiraju se prema sljedećoj shemi:

Rpm-4.8.1-6.fc14.x86_64.rpm

gdje je rpm naziv paketa, 4.8.1 je broj grane, verzije i određenog izdanja paketa, 6 je broj međugradnje za trenutnu verziju ove distribucije, fc14 je naziv i verzija (to je, u ovom primjeru, Fedora verzija 14), x86_64 - arhitektura za koju je paket sastavljen.

Naziv izvornog paketa bit će nešto poput:

Rpm-4.7.1-6.fc12.src.rpm

Možete vidjeti da je jedina razlika u dodatnom src sufiksu, koji simbolizira da imamo posla s izvornim paketom, a ne s unaprijed kompajliranom binarnom datotekom. I očito je da koncept arhitekture za izvorne kodove nema smisla - oni bi (teoretski) trebali biti sastavljeni za bilo koji od njih.

Među binarnim paketima možete pronaći i one koji nisu vezani ni za jednu arhitekturu - identificiraju se dodatnim sufiksom noarch. To uključuje skripte u interpretiranim jezicima kao što su Perl, Python itd., pakete fontova, dokumentaciju itd. Na primjer, ovako će izgledati paket za jedan iz obitelji Dejavu fontova:

Dejavu-sans-fonts-2.30-2.fc12.noarch.rpm

Gore je već spomenuto da binarni rpm paketi mogu sadržavati biblioteke funkcija potrebnih za njihov rad. Međutim, ovo je prije iznimka: kao i kod svih sustava sličnih UNIX-u, postoji tendencija u distribucijama temeljenim na rpm-u da kompiliraju biblioteke kao zasebne pakete. Štoviše, svaka biblioteka obično je predstavljena u obliku dva paketa.

Prvi paket sadrži stvarni kod funkcija knjižnice koje su u svakom slučaju potrebne; na primjer, paket rpm pruža paket knjižnice

Rpm-libs-4.7.1-6.fc12.x86_64.rpm

Drugi paket uključuje datoteke zaglavlja koje su potrebne samo kada sami sastavljate pakete - u svakodnevnom životu možete bez njih:

Rpm-devel-4.7.1-6.fc12.x86_64.rpm

Nakon što smo se pozabavili nomenklaturom rpm paketa, možemo prijeći na pitanje njihove unutarnje strukture - odnosno na sam format.

Raspored binarnih rpm paketa

Binarni paket rpm uključuje dvije komponente. S jedne strane, to je skup kompajliranih datoteka, kao što su izvršne binarne datoteke i biblioteke, popraćene potrebnim konfiguracijama, dokumentacijom itd., spremne za ugradnju u hijerarhiju datoteka sustava.

S druge strane, paket sadrži metainformacije - opis sastavljen prema određenim pravilima. Uključuje naziv paketa, verziju i broj međugradnje, informacije o programeru i njegovoj glavnoj stranici, popis datoteka, njihov položaj u hijerarhiji datoteka i popis ovisnosti. Ako je potrebno, ovdje se mogu nalaziti instalacijske i konfiguracijske skripte. Sve to zajedno omogućuje kontrolu integriteta paketa, praćenje ovisnosti, osiguravanje dovršenosti samog postupka instalacije i uklanjanje paketa "čisto".

Komponente rpm paketa upakirane su u cpio arhivu - jedan od najstarijih komprimiranih alata za arhiviranje u UNIX-u. Prethodno, do i uključujući Fedora verziju 11, to se radilo pomoću uslužnog programa gzip. Počevši od verzije 12 Fedore, rpm paketi su komprimirani korištenjem LZMA algoritma, koji pruža mnogo veći stupanj kompresije - iako po cijenu vremena utrošenog na to. Što, međutim, neće izazvati nikakve neugodnosti za korisnika - jer se lzma datoteke raspakiraju, paradoksalno, gotovo istom brzinom kao i gzip. Ali njihovo preuzimanje se, naravno, događa puno brže, što ne može ne zadovoljiti vlasnike "debelih" i jeftinih kanala: pod ovim uvjetima, instaliranje paketa putem Interneta je brže nego s lokalnih medija.

Vratimo se, međutim, onome što se nalazi unutar rpm paketa. Da biste to učinili, prvo raspakirajte paket pomoću bilo kojeg standardnog alata (rpm2cpio, na primjer, ili pomoću uslužnog programa rpm2tgz) i pogledajte što će se dogoditi:

$ ls rpm-4.7.1-6/ bin/ etc/ usr/ var/

To jest, vidimo one komponente paketa koje će biti ugrađene u hijerarhiju datoteka ciljnog sustava.

Najlakši način za uvođenje druge komponente je s Midnight Commanderom. Po ključu F3(rpm paket se još uvijek smatra primjerom) prikazat će sve metainformacije u obliku sažetka. Prvo, ovo će biti službeni opis paketa:

Naziv: rpm Premještanja: (nije moguće premjestiti) Verzija: 4.8.1 Dobavljač: Izdanje projekta Fedora: 5.fc14 Datum međugradnje: utorak, 10. kolovoza 2010. 11:43:21 Datum instalacije: (nije instalirano) Host međuverzije: x86-12.phx2 .fedoraproject.org Grupa: System Environment/Base Source RPM: rpm-4.8.1-5.fc14.src.rpm Veličina: 2035701 Licenca: GPLv2+ Potpis: RSA/SHA256, Wed 11 Aug 2010 05:58:10, ID ključa 421caddb97a1071f Packager: URL projekta Fedora: http://www.rpm.org/ Sažetak: RPM sustav za upravljanje paketima Opis: RPM Package Manager (RPM) moćan je sustav za upravljanje paketima vođen naredbenom linijom koji može instalirati, deinstalirati, provjeravati, postavljanje upita i ažuriranje programskih paketa. Svaki softverski paket sastoji se od arhive datoteka zajedno s informacijama o paketu poput njegove verzije, opisa itd.

Značenje svih polja je intuitivno. Samo vas molim da obratite pozornost na polje Grupa: morat ćemo se sjetiti grupnog članstva paketa kada je riječ o upravljanju paketima pomoću yum sustava.

Nakon toga slijedi instalacijska skripta:

Posttrans skripta (koristeći /bin/sh): # XXX ovo je nezgrapno i ružno, sam rpm bi trebao riješiti ovo dbstat=/usr/lib/rpm/rpmdb_stat if [ -x "$dbstat" ]; onda ako je "$dbstat" -e -h /var/lib/rpm 2>&1 | grep -q "ne odgovara" verziji okruženja | Nevažeći argument"; zatim rm -f /var/lib/rpm/__db.* fi fi izlaz 0

Rwxr-xr-x 1 root root 20392 10. kolovoza 11:42 /bin/rpm drwxr-xr-x 2 root root 0 10. kolovoza 11:42 /etc/rpm -rwxr-xr-x 1 root root 7424 10. kolovoza 11.: 42 /usr/bin/rpm2cpio ...

Zatim datoteke knjižnice:

Rw-r--r-- 1 root root 40537 10. kolovoza 11:42 /usr/lib/rpm/makro drwxr-xr-x 2 root root 0 10. kolovoza 11:42 /usr/lib/rpm/platforma drwxr-xr -x 2 root root 0 10. kolovoza 11:42 /usr/lib/rpm/platform/amd64-linux ...

Rw-r--r-- 1 root root 44206 Dec 7 2009 /usr/share/doc/rpm-4.8.1/COPYING -rw-r--r-- 1 root root 639 Dec 7 2009 /usr/share/ doc/rpm-4.8.1/CREDITS -rw-r--r-- 1 root root 496233 11. lipnja 2010. /usr/share/doc/rpm-4.8.1/ChangeLog.bz2 -rw-r--r-- 1 root root 656 7. prosinca 2009. /usr/share/doc/rpm-4.8.1/GROUPS ...

I na kraju, varijabilne datoteke:

Drwxr-xr-x 2 korijenski korijen 0 10. kolovoza 11:42 /var/lib/rpm -rw-r--r-- 1 korijenski korijen 0 10. kolovoza 11:42 /var/lib/rpm/Basenames -rw-r --r-- 1 root root 0 10. kolovoza 11:42 /var/lib/rpm/Conflictname -rw-r--r-- 1 root root 0 10. kolovoza 11:42 /var/lib/rpm/Dirnames .. .

Sve ove informacije mogu se vidjeti u dijelovima - fiksiranjem kursora na datoteku u Midnight Commanderu

Rpm-4.7.1-6.fc12.x86_64.rpm

i prešanje Unesi.
Sada ćemo vidjeti popis "metainformacijskih" datoteka uključenih u paket:

/.. │-on-up-│ 16. prosinca 12:04 /Info │ 0 │ SC 21 00: 00 00 00 │CPIO │ 0 │S 21 00:00 Zaglavlje │ 1185 │S 21 00:00 *Instaliraj │ 39 P. 21 00:00 *NADOGRADNJA │ 39│21. ruj 00:00

Sadržaj datoteka je lako pogoditi. Dakle, CONTENTS.cpio je potpuni popis svih datoteka i staza do njih:

Rwxr-xr-x 1 root root 20808 21. rujna 17:30 ./bin/rpm drwxr-xr-x 2 root root 0 21. rujna 17:30 ./etc/rpm ...

i tako dalje. Datoteka HEADER sadrži isti opis koji smo upravo vidjeli F3, *INSTALL i *UPGRADE - izvršne skripte za odgovarajuću namjenu. A u /INFO direktoriju postoji mnogo malih datoteka, iz kojih se na kraju skupljaju sažeti metainformacije. Od njih ću se usredotočiti samo na REQUIRENAME - ovo je ozloglašeni popis ovisnosti, koji za rpm paket izgleda otprilike ovako:

/bin/bash /bin/sh /bin/sh config(rpm) = 4.8.1-5.fc14 coreutils curl db4-utils libacl.so.1())(64bit) ...

Zapravo, rpm paket ne sadrži nikakvu hijerarhiju datoteka u sebi. A to što nam se takvim čini u potpunosti je zasluga Midnight Commandera koji ga vraća u oblik u kojem je bio prije sklapanja.

RPM baza podataka

Baza rpm paketa je komponenta neophodna za funkcioniranje sustava: pruža mogućnost dobivanja informacija o paketima, ažuriranja i brisanja istih. Kreira se tijekom instalacije sustava u /var/lib/rpm direktoriju i mijenja se sa svakom operacijom s paketima.

Baza podataka rpm paketa koristi Berkeley DB, prastari (godina punjenja 1986.), jednostavan (nerelacijski) DBMS, ali brz, učinkovit i stoga široko korišten do danas.

Datoteke RPM baze podataka su binarne, pa čak ni magija "noćnog zapovjednika" neće vam omogućiti da u njima razaznate ništa razumljivo. Dakle, preostaje samo vjerovati na riječ autorima dokumentacije koja

  • datoteka Packages je glavna i pohranjuje indeksirana polja zaglavlja paketa,
  • datoteke Basenames, Group, Requireversion i druge koriste se za optimizaciju upita prema bazi podataka i
  • datoteke __db.001, __db.002 i tako dalje - sadrže informacije o tome koje su datoteke promijenjene i stvorene prilikom instaliranja i deinstaliranja paketa.

Baza podataka rpm paketa neophodna je za normalno funkcioniranje ovog sustava - njegovo oštećenje povlači za sobom neugodne posljedice, pa stoga postoje načini za vraćanje njegovog integriteta u hitnim situacijama, koje ćemo razmotriti s vremenom.

rpm uslužni program

Nakon što smo se općenito upoznali sa strukturom rpm paketa, da vidimo što se može učiniti s njima. Počnimo s uslužnim programom istog imena, dizajniranim za rad s pojedinačnim paketima. U davna vremena to je bio blagoslov i prokletstvo za početnike u distribuciji Red Hat-a, njegovih klonova i derivata.

Uvod

Kao što je već spomenuto, uslužni program rpm postao je blagoslov za korisnike distribucije Red Hat i svih njezinih nasljednika. Zato što ih je oslobodio potrebe za neovisnom kompilacijom: gotovo svi programeri koji nisu prezirali distribuirati svoje pakete u binarnom obliku sastavili su ih u rpm formatu, a usluge poput http://rpmfind.net olakšale su njihovo pronalaženje na Internetu. Sjećam se da je tih godina bila u opticaju ova životna maksima:

uz pomoć rpm-a i interneta, sve distribucije mogu se preko noći pretvoriti u braću blizance

No, pokazalo se da je to i prokletstvo korisnika, prvenstveno početnika: dok je pratio ovisnosti paketa tijekom instalacije i uklanjanja, uslužni program rpm ih uopće nije rješavao, nego je samo javljao o otkrivenoj pobuni, i to u prilično nerazumljivom obliku za početnika.

Ti su dani pali u zaborav: došlo je doba repozitorija paketa i alata za rad s njima, poput apt-rpm, urpmi i, konačno, yum - glavnog lika sljedeće serije bilješki. Koji se brinu za rutinsku manipulaciju paketima. Međutim, rpm uslužni program je još uvijek najviše jednostavna sredstva za rad s pojedinačnim paketima, posebno onima koji nisu uključeni u službena spremišta. A u nekim slučajevima - na primjer, pri povezivanju repozitorija trećih strana - može biti gotovo nezamjenjiv.

Provedimo malo vremena upoznajući se s njegovim osnovnim, najpopularnijim u Svakidašnjica, funkcije. Ovo je samo kratki sažetak za praktičnu primjenu. Štoviše, namijenjen je onima koji se prije nisu bavili sustavima koji se temelje na rpm. Oni koji će vikati iz publike - dajte mi detalje, unaprijed ću ih poslati teti Manyi, ona će vam sve reći.

opće karakteristike

Pomoćni program rpm, kao i dpkg u distribucijama baziranim na Debu, samo je jedan od predstavnika cijele obitelji, razvijen zajedno s istoimenim formatom, u sklopu samostalnog projekta.

Od dodatnih uslužnih programa vrijedi spomenuti rpm-build - alat za kreiranje vlastitih paketa i rpm2html - uslužni program za izdvajanje metainformacija iz paketa i njihovo predstavljanje u ljudskom obliku (možete pronaći potpuni popis cijele obitelji). Međutim, na početku ovog niza stranica govorit ćemo samo o samom rpm-u.

Postoji pet glavnih načina korištenja uslužnog programa rpm:

  • način upita (upit);
  • način provjere (provjeriti);
  • način instalacije (instaliraj);
  • način ažuriranja (nadogradnja);
  • način brisanja.

Postoji i način izrade paketa, ali o tome za sada nećemo.

Svaki način rada odgovara jednoj od osnovnih opcija naredbe rpm. Mogu biti popraćene dodatnim opcijama, bilo specifičnim ili zajedničkim svim načinima rada. Prvi ćemo razmotriti pri opisivanju načina. Među potonjim, najtraženiji su sljedeći:

  • -? , --help prikazati detaljnu pomoć o korištenju naredbe rpm (kratka pomoć se ispisuje kao odgovor na naredbu bez ikakvih opcija ili argumenata);
  • --verzija ispisati broj verzije rpm paketa;
  • --tih prikaz minimuma poruka tijekom izvršavanja naredbe (obično samo poruke o pogrešci);
  • -v prikazati detaljne poruke o tijeku naredbe.

Također postoji nekoliko opcija "izvan načina rada", posebno za vraćanje baze podataka paketa.

Argument naredbe rpm obično je naziv datoteke paketa; često može biti nekoliko takvih argumenata (u ograničenju - koliko želite). U nekim slučajevima dovoljno je navesti kratko ime paketa - na primjer, za naš stalni primjer, samo rpm . U drugim situacijama potrebno je puno ime, koje označava broj verzije, međugradnju, distribuciju, arhitekturu - na primjer, rpm-4.8.1-5.fc14.x86_64.rpm. A ako se datoteka paketa ne nalazi u trenutnom direktoriju, morat ćete je unaprijed navesti puni put do nje, recimo /var/cache/akmods/ .

Način zahtjeva...

... služi za dobivanje informacija o paketu, posebice o njegovom statusu (da li je instaliran na sustavu). Glavna opcija upita je -q (ili --query), kao odgovor na nju bit će prikazan puni naziv paketa:

Rpm -q rpm rpm-4.8.1-5.fc14.x86_64

Imajte na umu da je kratki naziv paketa dovoljan kao argument uz opciju zahtjeva, a sama naredba može se dati u ime redoviti korisnik.

Dodatne mogućnosti ovise o svrsi zahtjeva. Dakle, prisutnost paketa u sustavu provjerava se sljedećom naredbom:

$rpm -qa naziv paketa

gdje dodatna opcija -a (ili --all) specificira zahtjev za sve pakete dostupne u bazi podataka. Ako je paket instaliran, odgovor na ovu naredbu bit će

$ rpm -qa opera opera-10.00-4440.gcc4.shared.qt3.x86_64

U suprotnom, poziv će biti vraćen naredbeni redak.

Formalni opis paketa može se dobiti naredbom

$ okretaja u minuti -qi okretaja u minuti

odgovor na koji bi bio:

Naziv: rpm Premještanja: (nije moguće premjestiti) Verzija: 4.8.1 Dobavljač: Izdanje projekta Fedora: 5.fc14 Datum međugradnje: utorak, 10. kolovoza 2010. 11:43:21 Datum instalacije: ned, 31. listopada 2010. 10:28:06 Domaćin međugradnje: x86-12.phx2.fedoraproject.org Grupa: System Environment/Base Source RPM: rpm-4.8.1-5.fc14.src.rpm Veličina: 2035701 Licenca: GPLv2+ Potpis: RSA/SHA256, srijeda, 11. kolovoza 2010. 05:58 :10, ID ključa 421caddb97a1071f Packager: URL projekta Fedora: http://www.rpm.org/ Sažetak: RPM sustav za upravljanje paketima Opis: RPM Package Manager (RPM) je moćan sustav za upravljanje paketima vođen naredbenom linijom koji može instalirati , deinstaliranje, provjeravanje, postavljanje upita i ažuriranje softverskih paketa. Svaki softverski paket sastoji se od arhive datoteka zajedno s informacijama o paketu poput njegove verzije, opisa itd.

Lako je vidjeti da je ovo isti dio zaglavlja (HEADER) koji smo prethodno gledali kroz Midnight Commander.

Dodatna opcija l omogućit će nam izdvajanje sadržaja CONTENTS.cpio:

$ rpm -ql rpm /bin/rpm /etc/rpm /usr/bin/rpm2cpio /usr/bin/rpmdb /usr/bin/rpmquery /usr/bin/rpmsign /usr/bin/rpmverify ...

Gornja rasprava odnosila se na dobivanje informacija o instaliranom paketu. No, puno je zanimljivije dobiti informaciju o paketu koji nije instaliran - utvrditi je li potreban ili ne u našem poslu. I to je moguće - dodavanjem na -qi dodatna opcija p i navođenje punog imena paketa i putanje do njega. A budući da deinstalirani paket najvjerojatnije leži na nekom mrežnom izvoru, put će biti URL, na primjer:

$ rpm -qip http://mirror.yandex.ru/fedora/linux/releases/14/Fedora/x86_64/os/Packages/joe-3.7-5.fc13.x86_64.rpm

Što će ispisati potpuno iste informacije kao kod postavljanja upita lokalnom paketu:

Ime: joe Premještanja: (nije moguće premjestiti) Verzija: 3.7 Dobavljač: Izdanje Fedora projekta: 5.fc13 Datum međugradnje: Srijeda, 10. veljače 2010. 09:57:06 Datum instalacije: (nije instalirano) Domaćin međugradnje: x86-03.phx2.fedoraproject .org Grupa: Aplikacije/Urednici Izvor RPM: joe-3.7-5.fc13.src.rpm Veličina: 1177186 Licenca: GPLv2+ Potpis: RSA/SHA256, Wed 28 Jul 2010 21:59:42, ID ključa 421caddb97a1071f Packager: Fedora Project URL: http://sourceforge.net/projects/joe-editor/ Sažetak: Jednostavan za korištenje, nemodalni uređivač teksta Opis: Joe je snažan, jednostavan za korištenje, nemodalni uređivač teksta. Koristi ista WordStar povezivanja tipki koja se koriste u Borlandovom razvojnom okruženju.

Dodatna opcija f omogućuje određivanje imena paketa koji posjeduje određenu datoteku:

$ rpm -qf /usr/lib/rpm/rpm2cpio.sh rpm-4.8.1-5.fc14.x86_64

U načinu rada za upite moguće je mnogo više opcija koje se, ako je potrebno, mogu pronaći na man stranici rpm paketa.

Način provjere...

...omogućuje provjeru integriteta instaliranog paketa. To se postiže usporedbom njegovih datoteka s njihovim kopijama iz originalnog paketa prema parametrima kao što su vrsta, veličina, kontrolni zbroj (MD5), vlasništvo i atributi pristupa. Glavna opcija za ovaj mod je -V ; bez dodatnih opcija, navodeći naziv paketa, provjerava točnu lokaciju svojih datoteka u hijerarhiji datoteka.

U slučaju uspješnog završetka testa, odnosno potpune podudarnosti utvrđenog i izvorne datoteke, ne prikazuju se poruke - vraća se samo upit naredbenog retka. Ako postoje odstupanja između njih u bilo kojem parametru, tada će se prikazati u simboličkom obliku. Neusklađenosti su označene na sljedeći način:

  • 5 - MD5 kontrolni zbroj
  • S - veličina
  • L - simbolička veza
  • T - datum izmjene datoteke
  • D - uređaj
  • U - korisnik
  • G - skupina
  • M - način rada (uključujući dopuštenja i vrstu datoteke)
  • ? - datoteka se ne može pročitati

Podudarni parametri označeni su jednom točkom. Jao, ne mogu dati primjere - bez obzira u koji paket gurnem da provjerim, sve se pokaže u redu. Ali ne želim ga namjerno pokvariti.

Osim toga, izlaz bilo koje poruke ne znači uvijek da nešto nije u redu s instaliranim paketom. Na primjer, ako pokušamo provjeriti naš model paketa rpm s naredbom

$ okretaja u minuti -V okretaja u minuti

vidjet ćemo sljedeće u izlazu:

Prelink: /bin/rpm: barem jedna od ovisnosti datoteke je promijenjena od prethodnog povezivanja S.?...... /bin/rpm prelink: /usr/bin/rpm2cpio: barem jedna od ovisnosti datoteke je promijenjeno od prethodnog povezivanja S.?...... /usr/bin/rpm2cpio

To jednostavno znači da su izvršne datoteke rpm paketa, nakon njegove instalacije, prošle proceduru preliminarnog povezivanja (prelink - kasnije ću vam reći što je to). Zbog toga su, naravno, izgubili svoj identitet sa svojim imenjacima iz originalnog pakiranja.

Dodatne opcije načina skeniranja omogućuju provjeru određene datoteke:

$ rpm -Vf /usr/bin/rpm2cpio

usporedite instalirani paket s originalnim rpm paketom:

$ rpm -Vp staza2/puno ime_paketa

i izvršiti potpuno skeniranje svih instaliranih paketa:

# okretaja u minuti -Va

Budući da će izlaz posljednje naredbe biti vrlo dugačak, ima smisla koristiti ga u rootweigeru s naredbom kao manje ili najviše. Također možete koristiti naredbu grep za identifikaciju samo paketa; koji sadrži odstupanja od izvornika prema jednom od gore navedenih kriterija. Na primjer, zapovjedna struktura

# okretaja u minuti -Va | grep S

proizvest će popis paketa koji se razlikuju po veličini od originala i cjevovoda

# okretaja u minuti -Va | grep 5

će identificirati razlike u kontrolnim zbrojevima.

Želio bih vam skrenuti pozornost na promjenu u izgledu odzivnika naredbenog retka kada koristite dodatnu opciju a: ako se prethodne naredbe za provjeru obično izvode u ime običnog korisnika, tada je bolje izvršiti punu provjeru svih paketa s administratorskim pravima, jer samo on ima pravo pristupa nekim datotekama i direktorijima sustava.

Osim navedenih, postoje i brojne mogućnosti provjere. digitalni potpis i javni ključevi - kao i obično, mogu se pronaći na man (8) rpm stranici.

Načini instalacije i ažuriranja...

... blisko su povezani. Njihove glavne opcije su:

  • -i (od install - ne brkati s dodatnom opcijom načina upita) instalira paket koji nije na sustavu;
  • -F ažurirati instalirani paket na noviju verziju;
  • -U je opća opcija instalacije i ažuriranja: kada se koristi, instalirani paket će se ažurirati, a deinstalirani paket će biti instaliran.

Važno je da opseg opcija -i i -F bude strogo ograničen: naredba koja navodi prvu odbit će se izvršiti ako postoji stara verzija paket istog naziva. I obrnuto - naredba s drugom opcijom će dati poruku o pogrešci ako prethodna verzija nije instalirana na sustavu. Stoga se najčešće koristi generička opcija -U. Očito, potrebne su administratorske ovlasti za uspješno izvršavanje naredbi iz bilo koje od ovih opcija.

Argumenti naredbi za instalaciju i ažuriranje moraju biti puni nazivi datoteka paketa, koji pokazuju lokalnu stazu do njih ili mrežnu adresu. Argumenti, odnosno paketi za instaliranje ili ažuriranje, u opći slučaj možete postaviti koliko god želite. U nekim slučajevima potrebno je navesti dva argumenta u naredbi.

Ranije sam rekao da uslužni program rpm ne samo da instalira pakete, već i provjerava njihove ovisnosti. Iako ih, nažalost, ne rješava, već samo prijavljuje kršenja. Na primjer, pokušaj izravne instalacije kdebase

Rpm -ihv http://mirror.yandex.ru/fedora/linux/releases/14/Fedora/x86_64/os/Packages/kdebase-4.5.2-2.fc14.x86_64.rpm

proizvest će dugačak popis nezadovoljenih ovisnosti:

Dohvaćanje http://mirror.yandex.ru/fedora/linux/releases/14/Fedora/x86_64/os/Packages/kdebase-4.5.2-2.fc14.x86_64.rpm pogreške: neuspjele ovisnosti: kdebase-libs(x86 -64) = 6:4.5.2-2.fc14 potreban je kdebase-6:4.5.2-2.fc14.x86_64

To je, kako kažu, svakodnevna stvar, a jasno je kako riješiti takvu situaciju. Budući da je instaliranje tako velikih paketa s tako složenim ovisnostima izravno kroz rpm nezahvalan zadatak; za to su izmišljeni drugi alati. Na primjer, njam, do kojeg ćemo doći u dogledno vrijeme.

Postoje situacije koje se razlikuju: naizgled jednostavan paket, kada se pokušava instalirati, zahtijeva još jedan kao ovisnost. A to, zauzvrat, odbija biti instalirano, jer se odnosi na odsutnost prvog. Dakle, upravo sada, nakon što sam započeo nadogradnju jednog od mojih eksperimentalnih sustava na verziju "rawhide", suočio sam se s činjenicom da paket fedora-release-rawhide-15-0.3.noarch.rpm nije htio biti instaliran bez fedore -release -15-0.3.noarch.rpm - i obrnuto.

U takvim slučajevima morate navesti sve međusobno ovisne pakete kao argumente za jednu naredbu:

# rpm -ivh http://URL/path2/(fedora-release-15-0.3.noarch.rpm, fedora-release-rawhide-15-0.3.noarch.rpm)

Štoviše, što je tipično, redoslijed imena ne igra nikakvu ulogu - ako su navedeni svi međuovisni paketi, tada će svi biti uspješno instalirani.

U posljednja ekipa iznenada i bez upozorenja, iskočile su dvije opcije - v i h. Međutim, prva je već spomenuta prije - ova dodatna opcija za sve načine nalaže prikaz detaljnih poruka o tijeku bilo kojeg zadatka. A opcija -h (ili --hash) pruža prikladan oblik predstavljanja ovog izlaza.

Osim osnovne opcije instalacije i ažuriranja, postoji još mnogo dodatnih opcija, no iza njih, kao i uvijek, stoji teta Mana.

Način brisanja...

... često se ispostavlja da nije manje popularan od načina instalacije i ažuriranja. Međutim, ovaj zadatak nije težak, a općenito se radi ovako:

# rpm -e naziv paketa

Ovdje je dovoljan naziv osnovnog paketa, ali su očito potrebna prava superkorisnika.

Ako se ovisnosti prekinu tijekom brisanja, pojavljuje se poruka o pogrešci:

Pogreška: neuspjele ovisnosti:

Naravno, može se ignorirati pomoću dodatne opcije --nodeps. Ili, ako ste potpuno uvjereni da ste u pravu, stavite u naredbeni redak za brisanje imena datoteka paketa koje imaju ovisnosti povezane s onom koja se briše.

Međutim, sve je to prepuno posljedica - pa je u dvosmislenim slučajevima bolje ne koristiti naredbu rpm za brisanje datoteka. No, kao što je već rečeno, yum postoji da se korisnik ne trese.

Spremišta

Uslužni program rpm prvenstveno je namijenjen instaliranju pojedinačnih paketa iz bilo kojeg izvora - lokalnog ili mrežnog (na primjer, s web-mjesta razvojnih programera), ali uglavnom prvog. Sustav za upravljanje paketima yum fokusiran je na pristup repozitoriju paketa, uglavnom mrežnom. Iako korištenje s lokalnim spremištima također nije zabranjeno.

Što je spremište

Prije svega, pokušajmo odgovoriti na pitanje što je repozitorij. Zato što je njegova prisutnost danas jedan od glavnih distrofičnih znakova.

Prevedeno na ruski riječ spremište sredstva skladištenje— a to su jezični čistunci (odnosno oni koji sebe više vole nazivati gramatika nazi). No, kako to obično biva u životu, narod ih je nazvao drugim imenom - repo ili, na našem jeziku, brazilskom ćirilicom, repa. Zašto u množini bit će jasno iz daljnje priče. Pa, kao sinonim više volim izraz sranje.

Sam repozitorij se doista može, u prvoj aproksimaciji, definirati kao mjesto za pohranu paketa posebno prikupljenih za danu distribuciju, kojemu je moguć slobodan pristup (govorimo samo o besplatnim sustavima).

Međutim, dostupnost poslužitelja koji pohranjuje pakete nije dovoljna da bi se nazvala repozitorijem. Paketi u repozitoriju moraju biti strukturirani prema određenim načelima svojstvenim danoj distribuciji. Sustav za njihovo pohranjivanje mora osigurati njihovu nadopunu, ažuriranje i što je najvažnije, održavanje cjelovitosti i konzistentnosti paketa u odnosu na ovisnosti, te za sve trenutno podržane verzije distribucije.

Drugim riječima, paketi u repozitoriju moraju biti popraćeni bazama podataka - istim onima koje koristi sustav za upravljanje paketima određene distribucije, kao i njezin sustav za izgradnju paketa.

Osim toga, vrlo je poželjno da se repozitorij zrcali na nekoliko neovisnih poslužitelja - iz očitih razloga. Istina, to nije neophodan uvjet. Međutim, prisutnost zrcala jedan je od razloga za korištenje riječi repozitorij u množini.

Sada da vidimo kako sva ova opća razmatranja izgledaju u praksi – u odnosu na Fedora repozitorije.

Fizička struktura repozitorija

Fizički, Fedora repozitoriji su skup ugniježđenih poddirektorija na ftp ili http poslužiteljima, a ponekad imaju prilično složenu i ne posve transparentnu strukturu. Korisniku to znanje nije potrebno - ali u brojnim hitnim situacijama neće biti suvišno. A budući da ova struktura nigdje nije opisana, barem na ruskom, posvetimo joj malo pažnje.

Međutim, nestrpljivi čitatelji mogu odmah prijeći na sljedeći odjeljak - o logičkoj strukturi repozitorija. A do sada će se formirati samo kada se ukaže potreba.

Glavna struktura repozitorija

Glavni, da tako kažemo, repozitorij paketa, kao što možete pogoditi, nalazi se na adresi i dalje u dubini. Međutim, u praksi korisnik gotovo nikada ne stigne tamo: kao što ćemo vidjeti u odjeljku o upravljanju paketima, ovaj sustav ga automatski šalje...

ne, ne tamo gdje si mislio do mjere svoje pokvarenosti, nego do najbržeg ogledala. Štoviše, upravo je najbrži fizički i upravo u ovaj trenutak- jer se to ne provjerava zonskom pripadnošću i drugim formalnim karakteristikama, već odgovorom na pravi zahtjev. Ako je, naravno, instaliran odgovarajući dodatak za yum - ali o tome ćemo malo kasnije.

Dakle, upisivanjem nečega poput http://download.fedoraproejct.org u redak preglednika, naš sovjetski korisnik će završiti na poslužitelju s URL-om poput http://mirror.name_rek.ru/fedora/linux/ (i to je moguće da čak i uopće ne ru). Neću izgovarati ime ovog imena - rijeka - potpuni popis mogućih opcija možete vidjeti ovdje http://mirrors.fedoraproject.org/publiclist. A dati prednost jednom od njih znači, kako bi rekao Šurik, ukazati nepravdu drugome ime rijeke.

Naravno, struktura svih ime rijeke je identičan, pa se može razmotriti na primjeru bilo kojeg ogledala.

Dakle, kada smo na river_name/fedora/linux/, vidimo sljedeće direktorije:

Kao što možda pretpostavljate, razvojni direktorij sadrži pakete koji su u fazi razvoja (ovdje je važan poddirektorij /development/rawhide/ na koji ćemo se vratiti kasnije), dok direktorij ažuriranja sadrži nedavno ažurirane pakete. Ali katalog izdanja je upravo ono što nas trenutno zanima.

12 13 14

i testni poddirektorij. Ponekad je prazan, sadržaj u njemu se pojavljuje kada se alfa verzija sljedećeg izdanja odvoji od razvojne grane (ista sirova koža).

Nastavimo se penjati po hijerarhijskom stablu. U ogranku izdanja vidimo sljedeće poddirektorije:

Sve Fedora uživo

Prvi uključuje pakete različite verzije i sklopovi proizvedeni tijekom trajanja izdanja. Prvi, kao što ime sugerira, sadrži trenutna ažuriranja paketa, dok drugi sadrži LiveCD slike za obje podržane arhitekture (i686 i x86_64). Oboje će biti raspravljeno na vrijeme. Ali nastavit ćemo se penjati kroz Fedora direktorij - pogotovo jer se može smatrati primjerom strukture bilo kojeg direktorija na poslužiteljima projekta.

Dakle, u direktoriju fedora/linux/releases/14/Fedora/ možete vidjeti sljedeće poddirektorije:

I386 izvor x86_64

Drugi od njih uključuje izvorne rpm pakete (tzv. *.src.rpm), o kojima će također biti posebno riječi. Prvi i treći sadrže sklopove za 32-bitnu, odnosno 64-bitnu arhitekturu. Očito, iznutra su apsolutno isti, pa pogledajmo njihovu unutrašnjost na primjeru sada relevantnije x86_64 arhitekture.

Iso jigdo os

Prvi sadrži slike instalacijskih diskova - DVD, set CD-ova i disk za mrežna instalacija(netinst), o čemu će biti riječi u odjeljku o instalaciji sustava. Drugi sadrži datoteke metapodataka za jigdo (Jigsaw Download), veliki sustav distribucije datoteka (in u ovom slučaju- slike istih instalacijskih diskova) i služi istoj svrsi kao i prethodni. Pa, u trećem, u poddirektoriju Packages, zapravo se nalaze traženi paketi.

Osim toga, u direktoriju fedora/linux/releases/14/Fedora/x86_64/os/ možete vidjeti servisne datoteke, kao što su GPG ključevi za provjeru autentičnosti, datoteke opisa repozitorija (u poddirektorijima repodata i repoview), datoteke za izgradnju vlastitih diskovi za pokretanje slika (u poddirektorijima slike i isolinux), koji nas trenutno ne zanimaju.

Što se tiče sadržaja direktorija Packages, njega predstavljaju rpm paketi - oni koji su izravno podržani unutar Fedora projekta.

Struktura repozitorija RPMFusion

Glavni repozitorij, međutim, ne iscrpljuje popis paketa dostupnih za našu distribuciju. Postoji i repozitorij za dodatne pakete koji održavaju volonteri kao dio projekta koji sami hostiraju, RPMFusion.

Nalazi se stvarno spremište dodatnih paketa. U njemu vidimo dva direktorija - besplatni i neslobodni. Prvo je sigurno besplatni softver(u glavnom Fedora repozitoriju, usput, samo su oni dostupni), drugi je za programe čija je distribucija podložna nekim ograničenjima. Koje točno - na to pitanje ćemo se vratiti kasnije.

Interna struktura oba direktorija je ista. Sadrže poddirektorije el i fedora. Prvi uključuje pakete prenesene iz RHEL-a i sada nas ne zanima. Drugi uključuje poddirektorije:

Razvoj/ izdanja/ ažuriranja/

kao i datoteke opisa repozitorija.

Svrha imenika više-manje je jasna iz njihovih naziva (na to pitanje ćemo se vratiti kasnije), pa ćemo se fokusirati samo na imenik izdanja. Sadrži poddirektorije za pola tuceta najnovijih izdanja, uključujući neka koja su mnogo "dublja" od onih podržanih u glavnom repozitoriju. U svakom od njih vidjet ćemo jedan poddirektorij Sve. I sadrži već poznate "arhitektonske" poddirektorije:

Debug/os/

Prvi, kao što možete pogoditi, sadrži informacije o otklanjanju pogrešaka koje nam sada nisu zanimljive. Ali u drugom - stvarni paketi. Uključujući glavni paket opisa repozitorija - rpmfusion-free-release. Isti onaj, čija instalacija jasno dovodi do povezivanja ove "repe". A u odgovarajućem poddirektoriju nonfree direktorija, sličan paket će biti nazvan u skladu s tim - rpmfusion-nonfree-release .

RFRemix struktura repozitorija

Korisnicima izvorne Fedore dovoljna su navedena spremišta u svom čistom obliku. Međutim, za naše sugrađane koji govore ruski, ako ne i obvezno, onda više nego poželjno, poznavanje repozitorija russianfedora je.

Nalazi se u istoimenom imeniku na sljedećoj adresi (koliko znam jedini do sada). A njegova struktura je sljedeća: na prvoj razini gniježđenja nalaze se poddirektorije

  • build/ s datotekama opisa spremišta,
  • izdanja/ sa slikama instalacijskih diskova i LiveCD-a, i
  • russianfedora/, koji sadrži stvarne pakete.

Trenutno nas zanima samo posljednji poddirektorij. Sadrži tri poddirektorija:

  • fixes/ , koji predstavlja svojevrsnu deltu između osnovnih i dodatnih paketa originalne Fedore, s jedne strane, i RFRemixa, s druge strane;
  • free/ , namijenjen potpuno besplatnim paketima projekta Russian Fedora;
  • nonfree/ , namijenjen paketima ruskog projekta Fedora čija je distribucija ograničena zakonima nekih zemalja (ali ne i našim).

O sastavu sve tri kategorije detaljnije ćemo govoriti u sljedećem odjeljku - za sada nas zanima samo fizička struktura odgovarajućih imenika.

Identično je: svaki od njih uključuje poddirektorije el/ i fedora/ za iste svrhe kao u RPM Fusionu. U poddirektoriju fedora/ nalaze se pak poddirektoriji development/, releases/ i updates/, au poddirektoriju releases/ nalaze se direktoriji za brojeve velikih (major) izdanja, trenutno od 10 do 15.

U svakom direktoriju izdanja vidimo jedan poddirektorij Sve/, koji uključuje poddirektorije za obje podržane arhitekture - i386/ i x86_64/, i poddirektorij izvor/ za izvorne pakete. I na kraju, na katu ispod nalaze se poddirektoriji debug/ i os/ jasne (odnosno iste kao u RPM Fusion) namjene.

Dodatna spremišta

Gore opisana spremišta bit će dovoljna većini korisnika za gotovo sve prilike. Međutim, u nizu slučajeva postoji potreba za dodatnim paketima koji iz ovog ili onog razloga nisu uključeni u službenu "repu" - možda još nisu uključeni. Tipičan primjer danas je preglednik Chromium: ne može se naći ni u RPM Fusionu ni u ruskoj Fedori.

I ovdje će Fedora People repozitorij prije svega doći u pomoć - namijenjen je posebno za pakete koje prikupljaju neovisni održavatelji. Što se tiče sadržaja, ne preklapa se sa službenim i "poluslužbenim" spremištima, međutim, koliko ja znam, njegovi paketi su testirani na kompatibilnost s njima, pa se stoga mogu koristiti bez straha.

Struktura repozitorija Fedora People iznimno je jednostavna: na navedenoj adresi vidjet ćete mnogo direktorija čija imena ponavljaju nazive paketa koje sadrže. Unutar bilo kojeg od njih postojat će niz poddirektorija za podržani raspon izdanja - različita u različiti slučajevi. A poddirektorij svakog izdanja sadrži tri standardna poddirektorija - i386/, SRPMS/ i x86_64/, koji sadrže datoteku opisa repozitorija i stvarne datoteke paketa.

U nekim slučajevima, ATrpms repozitorij može biti od interesa. Sadrži brojne pakete multimedijskog sadržaja, specijalizirane sklopove kernela i obilje upravljačkih programa za Nvidia video kartice (uključujući i za starije modele koji se više ne mogu pronaći na službenoj web stranici tvrtke). S puni popis pakete možete pronaći i možete vidjeti popis podržanih izdanja.

U člancima i recenzijama posvećenim Fedori možete pronaći reference na mnoga druga dodatna spremišta za ovu distribuciju - njihov popis može se vidjeti, na primjer, u vezama s istog ATrpms-a. Međutim, gotovo svi su izgubili važnost. Neki (Livna, Freshrpms, Dribble) sada su ujedinjeni kao dio RPM Fusiona. Drugi sadrže pakete za vrlo stare verzije Fedore. Pa, repozitorij Tigro postao je osnova za rusku Fedoru - iako će sama biti korisna lijenim vlasnicima starijih verzija Fedore.

Logička organizacija repozitorija

Fizička struktura Fedora repozitorija, posebno glavnog, djeluje prilično zbunjujuće. Srećom, korisnik se, kao što je već spomenuto, praktički ne mora nositi s tim. U 99 slučajeva od 100, dovoljno je da se snalazi u njihovoj logičnoj organizaciji, koju ćemo sada razmotriti.

Klasifikacija programa

Za početak treba reći zašto se riječ repozitoriji ranije koristila u množini. A da biste to učinili, morate uzeti u obzir klasifikaciju paketa usvojenu u ovoj distribuciji. Vrlo je jednostavan i uključuje samo dvije kategorije.

Druga kategorija se zove nonfree - naziv nije baš dobar, jer asocira na sve vrste robe, krivotvorine ili potrebu za bilo kakvim plaćanjem prilikom korištenja. Zapravo, ovo je potpuno pogrešno. Kategorija neslobodnih uključuje isključivo slobodne (u smislu besplatno pivo) i legalno distribuirani programi. Međutim, određena su ograničenja na njihovu distribuciju. I stoga se, sa stajališta FSF-a, ne mogu nazvati istinski slobodnima (u smislu slobodna riječ).

S jedne strane, neslobodna kategorija uključuje programe koji se distribuiraju samo u binarnom obliku - bez ikakvih ograničenja, ali i bez izvornog koda. Primjeri takvih programa su vlasnički upravljački programi uređaja, kao što su video kartice i mrežni uređaji, ili Flash filmski player tvrtke Adobe, Preglednik Opera, neki fontovi i igre.

S druge strane, koncept neslobodnog uključuje programe koji su dostupni u izvornom kodu i, čini se, potpuno besplatni. Međutim, njihova je distribucija u nekim državama ograničena iz pravnih razloga. Tipičan primjer za to su multimedijski kodeci temeljeni na algoritmu koji su patentirani u jednoj zemlji koja priznaje patente algoritama. U većini drugih zemalja koje se toga nisu dosjetile njihova distribucija je apsolutno legalna.

Dakle, kategorije slobodni i neslobodni su logički neovisna spremišta - i to je prvi razlog zašto se ovaj izraz obično pojavljuje u množini. O ostalim razlozima saznat ćemo na sljedećoj stranici.

Glavna spremišta

Prvo, pogledajmo glavne repozitorije koji se automatski povezuju prilikom instaliranja RFRemixa.

Glavno službeno održavano spremište projekta Fedora sadrži samo besplatne pakete. I stoga se zove jednostavno i nepretenciozno - fedora, s dekodiranjem u obliku broja verzije i ciljne arhitekture, na primjer: Fedora 15 - x86_64.

Ali RPMFusion uključuje i potpuno besplatne i "nebesplatne" pakete. Stoga odvaja dva repozitorija - rpmfusion-free i rpmfusion-nonfree.

Unutarnja struktura ruske Fedore još je "bogatija" - ima tri repozitorija:

  • russianfedora-fixes su paketi koji su dostupni u repozitoriju fedora ili rpmfusion, ali predstavljeni u verzijama koje su ili novije ili prilagođene našim uvjetima i ćiriličnom okruženju; paketi u ovom repozitoriju nisu podijeljeni na besplatne i neslobodne;
  • russianfedora-free - potpuno besplatni paketi koji nisu dostupni u Fedora ili rpmfusion spremištima;
  • russianfedora-nonfree - “ne baš besplatno”, u smislu navedenom na posljednjoj stranici, paketi kojih također nema u spremištima izvorne Fedore.

Ovo je glavna grana spremišta za svako izdanje. Prati ga nekoliko dodatnih, koji su ispunjeni paketima koji se ažuriraju između izdanja:

  • ažuriranja - za samu Fedoru;
  • rpmfusion-free-updates - za Rpmfusion-free;
  • rpmfusion-nonfree-updates - za rpmfusion-nonfree;
  • russianfedora-fixes-updates - za ruske Fedora popravke;
  • russianfedora-free-updates - za ruski Fedora Free;
  • russianfedora-nonfree-updates - za ruski Fedora Nonfree.

Osim toga, svako od glavnih spremišta odgovara posebnim granama paketa koji se otklanjaju i testiraju: fedora-debuginfo i fedora-updates-testing, odnosno - za glavno spremište i formirano na isti način - za sve ostale.

I na kraju, tu je grana spremišta sirove kože. Sadrži pakete za sljedeću verziju distribucije koja se trenutno razvija i, naravno, uključuje ista spremišta kao u ograncima stabilnog izdanja: fedora-rawhide, rpmfusion-free-rawhide, rpmfusion-nonfree-rawhide i tako dalje.

Gore navedeno se odnosi na repozitorije binarnih paketa za i386 i x86_64 arhitekture. Međutim, postoje i spremišta izvornog koda - fedora-source, rpmfusion-free-source i tako dalje.

Kao i ostali sustavi, morate instalirati dodatne programe. U operacijskim salama Windows sustavi sve je vrlo jednostavno, u pravilu postoji instalacijski setup.exe koji pomaže instalirati softver. Ali u Linuxu su stvari malo drugačije. Kako instalirati programe na Linux? Sada pogledajmo ovo pitanje.

Linux ima nekoliko vrsta instalacijskih paketa i svaka distribucija ima vlastiti format paketa. Distribucije Fedora, Mandriva, Red Hat i Suse koriste standardnu ​​Linux RPM instalaciju koju je razvio Red Hat. Datoteka RPM paketa obično ima naziv naziv_programa-verzija.rpm.

Još jedan vrlo popularan format je DEB. Koristi se u Debianu, Ubuntuu, Knoppixu i Mepisu. Ima ime naziv_programa-verzija.deb.

I pristupili smo arhivi. Obično su to ekstenzije .tar , .tar.gz , .tgz. Treba ih raspakirati i zatim instalirati/kompilirati.

Morate izvršiti postupak instalacije programa kao superkorisnik.

Brza navigacija

Instaliranje programa na Debian, Ubuntu

Postoje mnogi alati za rad s DEB paketima, ali najčešće se koristi apt-get koji je uključen u standardni set alata. Za instalaciju aplikacije unesite naredbu:

apt-get instalacija naziv_paketa

Za uklanjanje:

apt-get ukloni naziv_paketa

APT pohranjuje lokalnu bazu podataka svih paketa koji su dostupni za instalaciju i poveznice gdje ih možete nabaviti. Ovu bazu podataka potrebno je ažurirati s vremena na vrijeme naredbom:

apt-get ažuriranje

Za ažuriranje zastarjelih paketa (programa) na računalu unesite sljedeće naredbe:

apt-get ažuriranje ; apt-get nadogradnja

Instaliranje programa na Fedora, Red Hat

Uslužni program sličan APT-u je yum. Za preuzimanje i instaliranje paketa iz konfiguriranog repozitorija napišite naredbu:

yum instaliraj naziv_paketa

yum ukloni naziv_paketa

Lokalna yum baza podataka nije spremljena, tako da nema potrebe za ažuriranjem. Da biste instalirali ažuriranja, koristite naredbu:

yum ažuriranje

Odaberite nešto specifično za ažuriranje:

yum ažuriraj naziv_paketa

Instaliranje programa u Mandrivi

Mandriva ima vlastiti skup alata za rad s paketima, nazvan urpmi. Za ugradnju:

urpmi naziv_paketa

Izbrisati:

urpme naziv_paketa

Ažurirajte lokalnu bazu podataka popisom paketa:

urpmi. ažuriranje -a

Za instaliranje ažuriranja:

urpmi --automatski odabir

Instaliranje programa iz arhiva (tarballs)

Za arhive komprimirane pomoću GZIP-a (gz, gz2, itd.) radimo ovo:

tar -xvz f naziv datoteke

Za arhive komprimirane pomoću BZIP-a (bz, bz2, itd.) to je malo drugačije:

tar -xvjf naziv datoteke

Tar naredbe:

  • x – izdvojiti datoteke iz arhive;
  • v – detaljan prikaz informacija na ekranu;
  • f – Obavezna opcija. Ako nije navedeno, Tar će pokušati koristiti traku umjesto datoteke;
  • z – obraditi arhivu komprimiranu pomoću gzipa;
  • j – obraditi arhivu komprimiranu pomoću bzipa.

Nakon izvršenja naredbe, kreirat će se mapa s nazivom sličnim nazivu paketa. Zatim morate otvoriti ovu stvorenu mapu naredbom:

cd folder_name

Zatim u neraspakiranoj arhivi pročitajte upute u datoteci README, ako postoje. U svakom slučaju, ako je program kompajliran kao izvršna datoteka, tada će paket sadržavati .sh datoteku, obično nazvanu install.sh