Portál AbcLinuxu, 9. května 2025 23:13
Chtěl bych si vytvořit vlastní repozitář pro CentOS, našel jsem tento návod http://wiki.centos.org/HowTos/CreateLocalRepos. Ale nikdy před tím jsem se o vytvoření vlastního repozitáře nepokoušel. Vypíšu zde celý postup, tak jak jsem jej pochopil z návodu a prosím ty, kdo mají s vytvářením zdrojů software zkušnosti o upozornění na případné chyby.
Příkaz vytvoří adresářovou strukturu serveru na kterém to celé poběží.
[root@server1 ~]# mkdir -p /share/CentOS/4/local/i386/RPMS
Tady mne mate ten "server". Používá autor tento termín proto, protože v příkladu to běží na vyhrazeném stroji, nebo je to něco jako třeba Apache? Jestli je to server, jak jej doinstalovat?
Potom by se měl doinstalovat program createrepo, který vytvoří metadata pro repozitář
[root@server1 ~]# yum install createrepo
[builduser@server1 ~]$ rpmbuild --rebuild /path/to/srpm/foo-1.2.3.4-1.el4.src.rpm
vytvoří binární balíčeky z příslušného zdrojového .rpm balíčku
[root@server1 ~]# mv /home/builduser/rpmbuild/RPMS/foo* /share/CentOS/4/local/i386/RPMS
Tento příkaz kopíruje nový balíček do repozitáře
[root@server1 ~]# chown -R root.root /share/CentOS/4/local
Tento příkaz mění rekurzivně práva s běžného uživatele na roota
[root@server1 ~]# createrepo /share/CentOS/4/local/i386
Vytvářejí se metadata
[root@server1 ~]# chmod -R o-w+r /share/CentOS/4/local
Mění práva i pro obsah adresářů, R je rekurzivně, ostatní nevím.
Pak už by mělo stačit jen vytvořit záznam v /etc/yum.repos.d/local.repo, tak jak je uvedeno v příkladu.
Omlouvám se za dlouhý dotaz, ale nešlo to udělat kratší.
Petr
Tady mne mate ten "server". Používá autor tento termín proto, protože v příkladu to běží na vyhrazeném stroji, nebo je to něco jako třeba Apache? Jestli je to server, jak jej doinstalovat?V tom návodu se celkem jasně píše, že to autor hodlá sdílet přes NFS, ale že to klidně může být i přes HTTP nebo FTP, to je jedno. Jak nastavit NFS export tam dále také popisuje.
createrepo /var/www/html/CentOS/5/RPMS.moje
4. - do /etc/yum.repos.d přidám soubor moje.repo ve kterém bude:
[moje] name=Můj repositář pro CentOS $releasever baseurl=http://jmenopocitace/CentOS/5/RPMS.moje/ # nebo pokud je to ten samý počítač na kterém je umístěný repozitář můžu použít (nemusí běžet apache): #baseurl=file:///var/www/html/CentOS/5/RPMS.moje/ # nebo (musí běžet apache): #baseurl=http://localhost/CentOS/5/RPMS.moje/ enabled=1 gpgcheck=05. - spustím
yum makecache
a "moje" balíčky by měli jít instalovat pomocí yum popřípadě yumex. Samozřejmě je potřeba nastavit práva tak, aby apache mohl číst a servírovat ty soubory ve /var/www/html/... . Samozřejmě by ty soubory mohly být i jinde (třeba /var/repos/...), ale pak by se apache musel patřičně nakonfigurovat. Soubor moje.repo pak musím dát na všechny počítače, které budou chtítb instalovat balíky z mojeho repozitáře.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.