HOWTO: Opret din egen lokale Debian repository
Formål: I dette blog-indlæg vil vi lære, hvordan du opretter din egen lokale Debian som pakkearkiv, så du kan bruge apt-get install kommandoer til at installere pakker ligesom den måde, du vil installere fra Debians repositories. Lad os sige, at du har oprettet dine egne tilpassede Debian-pakker, og du vil have dem til at installere ligesom de Debian vigtigste pakker - du kan opnå dette ved at oprette din egen lokale arkiv.
Grundlæggende
Før vi begynder, vil jeg gerne påpege, at der er to metoder til at oprette en lokal Debian repository - lang (og mere korrekt) metode, og den korte (men hurtig) metode. For yderligere oplysninger henvises til Debian Repository HOWTO . I dette indlæg vil vi se den korte metoden. Jeg foreslår, at hvis du selv vil bruge lageret så sandsynligvis korte metode er tilstrækkelig. Men hvis du planlægger at uploade dine pakker til en server, hvorfra en masse mennesker vil downloade, så skal du sætte din arkivet med lange metode.
Så lad os komme i gang ...
Trin 1: Forbered dit system - Web-Server & dpkg-dev
Sørg for at du har en web-server eller en FTP-server, der kører på dit system, som du gerne vil være vært for dine pakker. Du kan henvise til den MediaWiki indlæg for at se, hvordan man får en Apache web-server, der kører på en Debian-system. Når du har installeret web-server, og derefter installere følgende pakke:
# apt-get install dpkg-dev
Vi vil kræve denne pakke senere, når vi skaber et script, der vil scanne vores lokale pakker.
Trin 2: Opret repository bibliotek
Som standard / biblioteket var / www / er din web-server rodmappe som er offentligt tilgængelig. Lad os skabe vores arkiv directory inde i web-serverens rodmappe:
# cd /var/www
# mkdir debian
# mkdir debian/binary
# mkdir debian/source
Som du kan se, har vi oprettet to mapper - binære og source - inside "debian" bibliotek - en for binære deb pakker og den anden for kilde deb pakker.
Trin 3: Opret pakke scanning script
Nu kan du oprette et bash shell script, lad os sige gen_packages.sh med følgende indhold:
#!/bin/bash
cd /var/www/debian
echo "Generating indexes for your binary and source packages..."
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz
echo "Index generation finished!"
Gør scriptet eksekverbart:
# chmod 755 gen_packages.sh
Trin 4: Upload pakker til din nye arkivet
Nu uploade dine egne Debian pakker i de binære / kilde mapper afhængigt af pakkerne. For eksempel har jeg to binære Debianpakker:
psb-firmware_0.30-1lenny1_all.deb
psb-kernel-headers_4.41.1-1lenny1_all.deb
som jeg kopieret / uploadet ind i min / var / www / debian / binær mappe.
Trin 5: Indeks pakkerne
Hver gang du tilføje / fjerne / ændre en pakke i dit lokale arkiv, bør du køre gen_packages.sh script til at regenerere indekser.
# ./gen_packages.sh
Trin 6: Læg lokal repository til din kilder fil
Nu skal du tilføje det lokale arkiv i sources.list af dine lokale klient maskiner, som vil bruge apt-get til at installere pakker på dit lokale LAN.
# nano /etc/apt/sources.list
og tilføje følgende linjer:
deb http://192.168.0.100/debian/ binary/
deb-src http://192.168.0.100/debian/ source/
Bemærk: 192.168.0.100 er IP-adressen på Debian-systemet, som vi har oprettet lokale depoter og uploadet pakker.
og opdatere Kilder Arkiver.
# apt-get update
Trin 7: Installation af pakker
Endelig kan du begynde at installere pakker fra dine lokale kunder, der vil hente pakker fra din server (192.168.0.100)
# apt-get install psb-firmware psb-kernel-headers
Det er det! Gem en stor del af tiden med denne metode og installere pakker i en semi-professionel måde.
Tillykke med lokale repositoring!











21 September 2009 kl 6:57 am
[...] Det oprindelige indlæg: hvordan set-up eller oprette din egen lokale Debian repository til ... Af admin | Kategori: bibliotek script | tags: pakke, offentligt tilgængelige, vil-kræve, [...]
22 sep 2009 kl 10:54
[...] Installere kommandoer for at installere pakker ligesom den måde, du vil installere fra Debians repositories. Mere her Før vi begynder, vil jeg gerne påpege, at der er to metoder til at oprette en lokal Debian [...]
23 september 2009 kl 01:26
En anden enkel løsning til at skabe små arkiver er reprepro:
* http://packages.debian.org/reprepro
:-)
Svar på denne kommentar
Admin Svar:
23 september 2009 kl 10:35
Hej Adam,
Dette er en interessant pakke. Jeg vil prøve det snart. Fandt aldrig om det, da jeg blev forsker på dette emne.
Svar på denne kommentar
16 juli 2010 kl 9:08 am
Awesome indlæg! Jeg bruger dit script til at regenerere de indekserer efter upload filerne, men jeg får denne siden jeg har opdateret min pakke et par gange:
sudo cp ./../../vipre-2.1-4.deb / var / www / debian / binær /
sudo / usr / sbin / gen_packages.sh
Generering af indekser til din binære og source-pakker ...
! Pakken VIPRE (filnavn binary/vipre-2.1-2.deb) er gentagne;
bort fra, at en og ved hjælp af data fra binary/vipre-2.1-4.deb!
! Pakken VIPRE (filnavn binary/vipre-2.1-3.deb) er gentagne;
bort fra, at en og ved hjælp af data fra binary/vipre-2.1-4.deb!
** Pakker i arkivet, men mangler override fil: **
VIPRE
Skrev 1 indgange til output Packages-fil.
Index generation færdig!
================================================== =
Det er hvor filerne bliver "uploades" til:
nblade @ ubuntu: ~ / vipreblade / build $ træ / var / www / debian /
/ Var / www / debian /
| - Binær
| | - Packages.gz
| | - VIPRE-2.1-2.deb
| | - VIPRE-2.1-3.deb
| `- VIPRE-2.1-4.deb
`- Source
`- Sources.gz
2 mapper, 5 filer
==================================
Hvordan slipper jeg af advarsler om "Gentag" filer og "mangler tilsidesætte"?
Tak!
Svar på denne kommentar
24 september 2010 kl 14:34
[...] Så ingen grund til at behandle de pakker, Suse. Bare oprette et lokalt lager i din Mint OS. http://linux.koolsolutions.com/2009/09/21/ ... en-repository / (Fundet med: Google .. lokale debian repo ..) [...]
16 november 2010 kl 6:38 am
Nice post, men vil apt-spejl være meget mere enkel.
Svar på denne kommentar
12 august 2011 kl 21:13
[...] Du allerede har det hele sat op, så trinene i dette blog-indlæg vil sandsynligvis være nok til at få dig i gang i den rigtige [...]