|
reprepro - czyli własne repozytorium
jang - 18-04-2007 18:44
Instalujemy reprepro.
apt-get install reprepro
lub jak ktoś używa aptitude aptitude install reprepro
Ja w czasie instalacji Debiana utworzyłem sobie osobną partycję na repozytoria (nie wiedziałem z jakiego skorzystam - który program będzie mi odpowiadał - dlatego piszę w liczbie mnogiej) i nazwałem ją /repo. Oczywiście Ty wcale nie musisz mieć osobnej partycji, możesz np. skorzystać z katalogu /srv który jest tworzony w czasie instalacji Debiana. Na tej partycji utworzyłem katalog reprepro ramireza:~# cd /repo ramireza:/repo# mkdir reprepro
a następnie za pomocą cd przeniosłem się do tego katalogu ramireza:/repo# cd /reprepro
tutaj utworzyłem nowy katalog i przeniosłem się do niego aby utworzyć plik : distributions : ramireza:/repo/reprepro# mkdir conf ramireza:/repo/reprepro# cd conf ramireza:/repo/reprepro/conf# touch distributions
Następnie uruchomiłem sobie mc a w nim otwarłem jeszcze póki co pusty plik distributions i wpisałem do niego : Origin: Debian Label: Debian Suite: testing Codename: lenny Architectures: i386 source Components: main contrib non-free Description: Debian testing distributions Update: debian security
Na tym właściwie kończy się instalacja i konfiguracja reprepro Teraz już tylko pozostaje nam dopisywanie pakietów do naszego repozytorium :) Wszystkie potrzebne pliki i katalogi reprepro tworzy sobie sam na bieżąco tzn. dodając np. pakiet acpi_0.09-3_i386.deb (ten pakiet był pierwszym który dodałem więc trochę tych katalogów utworzył) ramireza:/repo/reprepro# reprepro -Vb . includedeb lenny /var/cache/apt/archives/acpi_0.09-3_i386.deb /var/cache/apt/archives/acpi_0.09-3_i386.deb: component guessed as 'main' Created directory "./pool" Created directory "./pool/main" Created directory "./pool/main/a" Created directory "./pool/main/a/acpi" db: 'acpi' added to 'lenny|main|i386'. Exporting indices... Created directory "./dists" Created directory "./dists/lenny" Created directory "./dists/lenny/main" Created directory "./dists/lenny/main/binary-i386" Created directory "./dists/lenny/main/source" Created directory "./dists/lenny/contrib" Created directory "./dists/lenny/contrib/binary-i386" Created directory "./dists/lenny/contrib/source" Created directory "./dists/lenny/non-free" Created directory "./dists/lenny/non-free/binary-i386" Created directory "./dists/lenny/non-free/source"
Dopisując jakikolwiek pakiet musimy znajdować się w katalogu głównym naszego repozytorium czyli : ramireza:/repo/reprepro#
Dodawanie pakietu do repozytorium : ramireza:/repo/reprepro#reprepro -Vb . includedeb lenny /var/cache/apt/archives/acpi_0.09-3_i386.deb
Jeśli chcesz wykasować jakiś plik z "repo" : ramireza:/repo/reprepro#reprepro -Vb . remove lenny libc6
Pewnie dręczy Cię pytanie czy musisz najpierw wykasować starszą wersję pakietu aby zainstalować nowszą ? Otóż nie, reprepro sam najpierw odinstaluje starszą wersję pakietu a następnie zainstaluje nowszą. ramireza:/repo/reprepro# reprepro -Vb . includedeb lenny /var/cache/apt/archives/aptitude_0.4.4-4_i386.deb /var/cache/apt/archives/aptitude_0.4.4-4_i386.deb: component guessed as 'main' db: removed old 'aptitude' from 'lenny|main|i386'. db: 'aptitude' added to 'lenny|main|i386'. Exporting indices... Deleting files no longer referenced... deleting and forgetting pool/main/a/aptitude/aptitude_0.4.4-1_i386.deb ramireza:/repo/reprepro#
################################################## #
Jak korzystać z przed chwilą utworzonego repozytorium ? Musimy mieć zainstalowany i prawidłowo skonfigurowany serwer apache2
Mając apache2 zainstalowanego tworzymy plik konfiguracyjny "indianina" w naszym katalogu /repo/reprepro/conf ramireza:~# cat > /repo/reprepro/conf/apache.conf << EOF Alias /debian /repo/reprepro/ <Directory /repo/reprepro> Options +Indexes AllowOverride None order allow,deny allow from all </Directory> EOF
następnie tworzymy symlink'a : ln -s /repo/reprepro/conf/apache.conf /etc/apache2/conf.d/reprepro.conf
a teraz czas na uprawnienia : chown -R root:root /repo/reprepro chmod 755 /repo/reprepro/ chown -R root:www-data /repo/reprepro/dists/ /repo/reprepro/pool/ chmod 750 /repo/reprepro/*
No i czas przeładować apache'a : /etc/init.d/apache2 reload
i sprawdźamy co w trawie piszczy czyli otwieramy przeglądarkę i wpisujemy : http://localhost/debian/
aby to nasze cudeńko używać na codzień dopisujemy do naszego /etc/apt/sources.list deb http://localhost/debian lenny main non-free contrib
albo w terminalu : echo "deb http://localhost/debian lenny main non-free contrib" >> /etc/apt/sources.list
ramireza:~# apt-get update Ign http://localhost lenny Release.gpg Pob: 1 http://localhost lenny Release [1344B] Ign http://localhost lenny/main Packages Ign http://localhost lenny/non-free Packages Ign http://localhost lenny/contrib Packages Pob: 2 http://localhost lenny/main Packages [1429B] Pob: 3 http://localhost lenny/non-free Packages [20B] Pob: 4 http://localhost lenny/contrib Packages [20B] ramireza:~#
Jeśli chcesz się dowiedzieć gdzie znajduje się jakiś pakiet i jaka jest jego wersja : ramireza:/repo/reprepro# reprepro -b . list lenny acpi
lenny|main|i386: acpi 0.09-3
Miłego użytkowania :)
phund - 19-04-2007 16:59
A jaka jest korzyść z używania reprepro?
jang - 19-04-2007 17:30
ÂŚciągam właśnie http://cdimage.debian.org/cdimage/we...i386-DVD-1.iso z tej płytki skopiuję wszystkie te pakiety które mam w systemie i spróbuję zainstalować na nowo (mam pusty HD) Debiana i jeśli się da (a sądzę że tak) przy instalacji dołączyć to repozytorium (wcześniej wrzucone na DVD) przez apt-cdrom add to wszyscy którzy w czasie instalacji (w tym ja) nie mają internetu nie będą musieli ściągać najświeższej DVD a wystarczy im tylko płytka netinstall. Druga sprawa to czasami ściągasz jakiś pakiet i instalujesz u siebie ale w repozytoriach Debiana go nie ma i zamiast go kiedyś tam znowu ściągać masz go u siebie. Trzecia sprawa często podoba Ci się jakiś program ale dostępne są tylko źródła a pakiet .deb nie istnieje więc źródełka do repozytorium. Czwarta - budujesz sobie własny pakiet na własne potrzeby więc gdzie z nim ? do własnego repozytorium :-P
Mattrick - 12-05-2007 13:11
Ja mam takie jedno pytanie: czy da się inaczej (nie używając apache) używać repozytorium, np. dodając jakoś do sources.list katalog (czy też urządzenie - pendrive na /dev/sda1) ?
velmafia - 12-05-2007 13:23
Ja mam takie jedno pytanie: czy da się inaczej (nie używając apache) używać repozytorium, np. dodając jakoś do sources.list katalog (czy też urządzenie - pendrive na /dev/sda1) ?
tak: http://debian.linux.org.pl/zrobione/...g-scanpackages
singollo - 30-09-2007 11:22
Czy w ten sposób można np. doinstalować sobie parę pakietów do lenny z sid? Chciałem sobie zainstalować xaralx. Wiem, że niestety wiąże się to z mieszaniem wersji debiana. Btw: wie ktoś, czy za pomocą xaralx można otworzyć pliki CorelDRAW?
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|