(c) Tero Karvinen
Apt4rpm alkaa olla vanhentunut, koska yum paketinhallintaohjelma korvaa sen. Varaston tekeminen yumilla on paljon helpompaa kuin aptilla. 'man yum-arch'
Apt hakee verkosta ja asentaa halutun ohjelman yhdellä komennolla, joten ylläpito muuttuu helpoksi. Se toimii myös RPM:n kanssa, esimerkiksi Redhat:lla. Tässä ohjeessa neuvotaan, kuinka rakentaa apt-varasto eli palvelin, josta ohjelmat haetaan.
Varasto rakennetaan kolmessa vaiheessa. Ensin kopioidaan paketit weppipalvelimella julkaistavaan kansioon, sitten ajetaan genbasedir ja lopuksi laaditaan ohje sources.list:n lisättävistä riveistä.
Apt (apt-*.i386.rpm)
Tilaa www-palvelimelta. Mikä tahansa palvelin kelpaa, mitään dynaamisia sivuja ei tarvita.
Kokeillaan, että rpm-paketit voi ladata (download) weppipalvelimelta ja asentaa perinteiseen tapaan rpm:llä.
Tehdään apt-kansio oman kotihakemiston alle /home/omanimi/public_html/apt. Sen alle syntyy hakemistot levityspaketti/versio/kieli/arkkitehtuuri. Nyt meillä on hakemisto /home/omanimi/public_html/apt/redhat/8.0/en/i386.
Sen alle tehdään RPMS ja SRPMS -hakemistot kullekin komponentille os, updates ja extra:
apt `-- redhat `-- 8.0 `-- en `-- i386 |-- RPMS.extra |-- RPMS.os |-- RPMS.updates |-- SRPMS.extra |-- SRPMS.os `-- SRPMS.updates
Komponentit tarkoittavat eri lähteistä tulleita asennuspaketteja. os sisältää levityspaketin valmistajan paketit versiojulkaisusta, eli Redhat 8.0 tapauksessa samat paketit kuin asennusrompuilla. Levityspaketin valmistajan viralliset päivitykset kuuluvat komponenttiin updates. Kaikki muut, eli omat ja verkosta haetut paketit ovat extra.
Hakemistossa RPM on valmiiksi käännetyt binääripaketit, eli ne tavalliset, joita voi asentaa komennoilla 'apt-get install ohjelma` tai 'rpm --install ohjelma-versio.i386.rpm`. Hakemistossa SRPMS.komponentti on lähdekoodi-rpm-paketit (source rpm), joiden avulla voi tehdä omia versioita ohjelmista.
Kopioidaan muutamia rpm:iä kansioihin. Haetaan ne weppiselaimella ja asennetaan 'rpm -i ohjelma-0.9-3.i386.rpm'
Pakettilistassa on kaikkien asennuspakettien nimet, kuvaukset ja riippuvuudet. Käyttäjät hakevat sen komennolla 'apt-get update'. Pakettilista tulee kansioon base, ja se tehdäänkin komennolla genbasedir:
genbasedir --flat /home/omanimi/public_html/apt/redhat/8.0/en/i386 os updates extra
Huomaa, että genbasedir vaatii täyden hakemistopolun, sellaisen joka alkaa kauttaviivalla. Hakemistopolku loppuu arkkitehtuuriin (i386) ja komponentit luetellaan erikseen välilyönnillä eroteltuna.
Jotta apt osaa hakea paketteja jostakin varastosta, se on määriteltävä tiedostossa /etc/apt/sources.list. Sen syntaksi on muotoa
pakettityyppi apt-hakemiston_palvelin_ja_polku levityspaketti/versio/kieli/arkkitehtuuri komponentit
Eli meillä
rpm http://munpalvelin.net/~omanimi/apt redhat/8.0/en/i386 os updates extra rpm-src http://munpalvelin.net/~omanimi/apt redhat/8.0/en/i386 os updates extra
Huomaa, että polku on paloiteltu apt-hakemiston ja versiokansioiden väliltä välilyönnillä, ja komponentit erotettu toisistaan välilyönneillä. rpm ja rpm-src rivit erovat todellakin toisistaan vain neljän merkin verran ("-src"). Palvelimen kohdalla ei tietenkään voi lukea localhost.
Laitetaan vielä kommentteina esimerkkitiedostoon ohje käyttäjille
# Install apt, add these lines to your /etc/apt/sources.list, 'apt-get update' # then you can install programs with (for example) 'apt-get install calc' # Asenna apt, lisää nämä rivit /etc/apt/sources.list, aja 'apt-get update', # sitten voit asentaa ohjelmia esimerkiksi 'apt-get install calc'
Testataan vielä apt-varastomme toiminta lisäämällä rivit ohjeen mukaan, asennetaan jokin ohjelma varastostamme apt:illa ja kokeillaan, että se toimii. Valmiit apt-varastot kannattaa ilmoittaa vaikkapa freshrpms.net:n ja google.com:n.
Testasin itse Redhat 8.0, kurssilaiset asentavat eri koneille samalla redhatin versiolla.
Mika Hirvonen: Ohjeet RedHat 8.0 apt-varaston tekemiseen
Mathias Saou: Freshrpms.net
apt4rpm team: apt4rpm.sourceforge.net
Copyright 2002-11-03 Tero Karvinen. XHTML Basic 1.0