Domeka
06.02.2012., 10:37:49 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Search GoogleTagged Contact Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: APT - lokalni repozitorij - Debian/Ubuntu  (Read 530 times)
0 Members and 1 Guest are viewing this topic.
The MasteR
Administrator
Full Member
*****

Karma: +20/-0
Offline Offline

Gender: Male
Posts: 168



View Profile WWW
« on: 11.09.2009., 17:01:36 »

Ako vas je naslov začudio, ne brinite, ima smisla. Kao što (vjerojatno) znate, nakon što instalirate neki paket preko alata apt-get, on ostaje na sustavu u direktoriju /var/cache/apt/archives. Nema nikakvog automatskog brisanja, pa tako mozete naci i više inačica istog paketa. Sve starije inačice paketa možete obrisati pomoću naredbe:

Code:
# apt-get autoclean

dok se brisanje svih paketa iz arhive može postići pomoću:

Code:
# apt-get clean

Ove naredbe ne bi trebali rabiti dok vam ne ponestane mjesta na /var particiji, a i onda se mogu prebaciti na drugo mjesto i povezati simboličkim linkom. No, vratimo se na lokalni repozitorij.

Lokalni repozitorij paketa može biti koristan na više načina. Primjerice, rabite pakete s neslužbenih repozitorija, koji su počesto nedostupni. Naravno da je bolje te pakete imati lokalno.

Ukoliko sami razvijate i održavate pakete, lokalni repozitorij je gotovo obavezan, ako zanemarimo činjenicu da ukoliko znate napraviti debian paket vjerojatno vam ovaj članak uopće ne treba.

Ukoliko imate sporu ili nestabilnu vezu, sasvim sigurno će vam dobro doći lokalna kopija najbitnijih paketa. Možda najkorisnija je uporaba kod kuće, odnosno negdje gdje ne postoji mrežna povezanost. Pakete možete snimiti na primjerice USB stick, i instalirati pakete s njega, baš kao da ste na brzoj vezi.

Do vaših paketa će moći i drugi korisnici, ukoliko taj direktorij bude dostupan preko web servisa.

A koja je razlika između lokalnog repozitorija i jednostavne hrpe Debianovih paketa? Za razliku od Apt-a, dpkg ne rješava međusobne ovisnosti, tako da pakete koji ovise jedni o drugima morate instalirati istovremeno. Može pomoći "dpkg -i *.deb", ali to nije rješenje ako imate puno paketa, a samo jedan dio zaista želite instalirati.

Što se tiče lokalnog repozitorija, on može biti jednostavno zrcalna slika nekog službenog repozitorija, no nećemo pričati o njemu (uostalom, ovaj repozitorij možete napraviti po uputama u službenom Debianovom HOWTO dokumentu, dostupnom na adresi Debian Repository). Postoje i alati koji to mogu napraviti umjesto vas.

U postu mislimo na jednostavan direktorij s nekoliko desetaka paketa (ili ipak nešto više). Postupak je zapravo vrlo jednostavan. Prvo treba .deb pakete prebaciti negdje na sustav, primjerice u direktorij /home/paketi. Zatim, treba napraviti sljedeće:

Code:
# cd /home
# dpkg-scanpackages paketi /dev/null | gzip -9c > paketi/Packages.gz

/dev/null je tu da zadovolji sintaksu naredbe dpkg-scanpackages, koja trazi "override" datoteku koju ne rabimo u ovom trivijalnom repozitoriju. Naredba "dpkg-scanpackages" je dio paketa dpkg-dev.

Ukoliko želite imati i pakete s izvornim kodom, naredba će biti sljedeća:

Code:
# dpkg-scansources paketi /dev/null | gzip -9c > paketi/Sources.gz

Uporaba "source" paketa nije tako česta, pa taj korak vjerojatno možete preskočiti.

Nadalje, u datoteku /etc/sources.list upišite sljedeće:

Code:
deb file:/home/paketi ./

Nakon "apt-get update" paketi će vam biti dostupni za instalaciju.

Ukoliko želite do paketa HTTP protokolom, pa tako otvoriti svoj repozitorij i drugima, pakete stavite negdje u direktorij koji će biti dostupan web poslužitelju. Možete se poslužiti i korisničkim direktorijem $HOME/public_html. Pretpostavit ćemo da ste samo otvorili poddirektorij u Apachejevom DOC_ROOT-u, obično je to /var/www/www.domena.hr ili /var/www.

Razlike u samom postupku nema, a jedina razlika će biti u unosu u sources.list, treba unijeti:

Code:
deb http://www.domena.hr/paketi ./

Ovo vrijedi i za udaljene korisnike, koji će onda moći do vašeg malog repozitorija preko HTTP protokola. Naravno, slično je i s FTP protokolom, sve što trebate je omogućiti "Anonymous" pristup direktoriju s paketima.

Od Debianovog izdanja Etch, paketi i repozitoriji su digitalno potpisani, kako bi se izbjeglo podmetanje lažnih paketa i time kompromitiranje vašeg sustava. Iz tog razloga će se kod uporabe vašeg repozitorija Apt "buniti" da repozitorij nema digitalni potpis. Kako većina ionako rabi samo službene Debianove i CARNetove repozitorije, možemo ta upozorenja "utišati" tako da u /etc/apt/apt.conf upišemo:

Code:
APT::Get::AllowUnauthenticated "true";

S time smo dovršili cijelu priču oko lokalnog repozitorija Debianovih paketa.
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
Pages: [1]   Go Up
  Print  

 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!
Page created in 0.167 seconds with 22 queries.

Google visited last this page 04.02.2012., 05:20:17