(c) Tero Karvinen

apt4rpm varaston tekeminen

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ä.

Tarvitaan

Apt (apt-*.i386.rpm)

Tilaa www-palvelimelta. Mikä tahansa palvelin kelpaa, mitään dynaamisia sivuja ei tarvita.

1. Julkaistaan RPM-paketit www-palvelimella

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'

2. Tehdään pakettilista

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.

3. Ohje sources.list:n lisättävistä riveistä

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.

Testaus

Testasin itse Redhat 8.0, kurssilaiset asentavat eri koneille samalla redhatin versiolla.

Kirjallisuutta

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