||<>|| = Omschrijving = Soms komt het voor, dat u programma's of pakketten wilt installeren, die niet in de Ubuntu repositories voorkomen.<
> Wanneer ze ook nog afhankelijk zijn van andere pakketten, dan kan het gebruik van '''dpkg''' tot onoverkomelijke problemen leiden, '''apt''' gebruiken om deze problemen op te lossen zal niet echt helpen.<
> Er zijn grote en volledige manieren om uw eigen repositories te maken, zoals [[Debarchiver]] of [[Dak]].<
> Deze zijn echter te groot en te gecompliceerd, wanneer u maar van een paar pakketten, die u heeft gedownload, de afhankelijkheden wilt oplossen.<
> Een eenvoudiger oplossing is het gebruik van '''dpkg-scanpackages''', dat een repository maakt, die u kunt toevoegen aan uw sources.list bestand.<
> = Een Persoonlijke Repository maken = Er zijn 3 stappen nodig, om een eenvoudige repository te maken: * Kopieer de pakketten naar een projectmap * Maak een script, dat de pakketten scant en dat een file maakt, die '''apt-get update''' kan lezen * Voeg een regel toe aan uw sources.list, die naar uw repository wijst == De Projectmap == Maak een map, waar u de pakketten wilt opslaan, in dit voorbeeld doen we dat in /usr/local/mijndebs. {{{ mkdir /usr/local/mijndebs }}} Verplaats nu de pakketten naar de projectmap die net is aangemaakt. == Het Script == Het eigenlijke script is vrij klein en bevat maar 2 commando-regels: {{{ #! /bin/bash cd /usr/local/mijndebs dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz }}} Kopieer het bovenstaande script in een tekstverwerker en sla het op als '''update-mijndebs''' in de ~/bin. (de tilde '~' stelt uw home-map voor.<
> Wanneer ~/bin niet bestaat, dan moet u het aanmaken: Ubuntu zal die map dan in het path zetten. Vervolgens moeten we het script uitvoerbaar maken: {{{ chmod u+x ~/bin/update-mijndebs }}} '''Hoe werkt het script:''' '''dpkg-scanpackages''' kijkt naar alle pakketten in mijndebs, en de output is gecomprimeerd en geschreven naar de file packages.gz welke te lezen is door '''apt-get update'''.<
> /dev/null is een lege file, die nodig is voor het uitvoeren van de opdracht. == Sources.list == Voeg de regel {{{ deb file:/usr/local/mijndebs ./ }}} toe aan uw etc/apt/sources.list en klaar is kees. = Het gebruik van uw Repository = Wanneer u een nieuwe .deb bestand in de mijndebs projectmap plaatst, dan voert u in een terminalscherm in: {{{ sudo update-mijndebs sudo apt-get update }}} Uw eigen pakketten kunt u nu bekijken en installeren met '''synaptic''', '''aptitude''' en met de opdrachten '''apt-get''', '''apt-cache''' enz.<
> Met de opdracht '''apt-get install''' worden de afhankelijkheden netjes voor u uitgezocht en geinstalleerd.<
> Verkeerd gemaakte pakketten zullen niet geinstalleerd worden, maar het bespaart u erg veel tijd, omdat u anders alle afhankelijkheden met '''dpkg''' moet uitzoeken.<
> bron: https://help.ubuntu.com/community/Repositories/Personal ---- NederlandstaligeDocumentatie