| Podpora a zdroje > Návody, tipy a triky |
| Reprepro aneb udělej si vlastní repozitář |
| (1/5) > >> |
| otaj:
Návod převzat z http://wiki.debian.org/SettingUpSignedAptRepositoryWithReprepro Takže. Rozhodli jste si udělat vlastní repozitář. Pohnutky můžou být různé - lokální repozitář na suplování internetu, veřejný repozitář vašich balíků na serveru, whatever. To se teď neřeší. Důležité ale je, aby byl podepsaný (jakmile není, repozitář je téměř nepoužitelný, protože balíčkovací systémy z něho dělají otloukánka a nemají ho rádi) Dle manuálu (nevím, kterého přesně, našel jsem to včera na debian stránkách, nevím, jestli dohledám) existují dva typy repozitářů (respektive zápisu do sources.list) --- Kód: ---deb http://example.org/rep/ oneiric main deb http://example.org/rep/ / --- Konec kódu --- První je správně, druhý je označený (už od Debianu Lenny, tzn. docela dlouho) jako DEPRECATED. Pokud ale přesto chcete vytvořit takový repozitář, podívejte se http://ubuntuforums.org/showthread.php?t=1090731 -> bohužel ale veškeré balíky musíte kopírovat manuálně, veškeré konfigurační soubory vytvářet znovu manuálně atd atd, prostě, nic není pořádně zautomatizované a navíc se to prostě dělat nemá. První typ repozitář má ale ten problém, že má trochu složitější strukturu (tzn byste ho takhle manuálně dělali pekelně dlouho a nebavilo by vás to) Naštěstí tu ale je reprepro Takže začneme. 0) Předpokládáme, že máte svůj vlastní klíč, pokud ne, najednou bude anglický návod na manuální vyrábění repozitáře docela vhod, protože v něm mimojiné najdete, jak si vytvořit klíč (a i neanglicky hovořící to snad zvádnou) 1) Nejdříve, tak trošku klasicky, nainstalujeme reprepro --- Kód: ---sudo apt-get install reprepro --- Konec kódu --- 2) Vybereme si domácí adresář repozitáře (doporučuji nějaký s právem zápisu a nějaký, který bude ze začátku prázdný) 3) V domovské složce repozitáře vytvoříme další složku a to "conf" 4) Ve složce conf vytvoříme konfigurační soubor "distributions", vzorový soubor vypadá například takto --- Kód: ---Origin: Jméno repozitáře/majitele (prostě nějaké označení) Label: Jméno repozitáře/majitele (prostě nějaké označení) Codename: kódové označení distribuce např oneiric Architectures: i386 amd64 (i když používáte jen amd64, nechte vytvořit repozotář pro i386, jinak bude balčkovací systém kecat, že mu chybí soubory) Components: main (no znáte to, komponenty (contrib, non-free, co uznáte za vhodné -> bohatě stačí jen main) Description: Popis repozitáře DebOverride: override.<osrelease> DscOverride: override.<osrelease> /*<osrelease> je to kódové označení jako například oneiric. Dva předchozí řádky jsou důležité pokud chcete změnit konfiguraci jednotlivých balíčků/respektive celého repozitáře*/ SignWith: <key-id> -> ID vašeho klíče --- Konec kódu --- 5) vytvořte si soubor "options" (v "conf" složce), do kterého vypíšete všechny options, které chcete, reprepro bralo automaticky (ask-passphrase znamená, že se bude ptát na passphrase klíče a podepíše balíčky a repozitář, bez toho by je to nepodepsalo) --- Kód: ---verbose basedir vaše-složka ask-passphrase --- Konec kódu --- 6) Pokud chcete a máte tu možnost v souboru "distributions", tak vytvořte soubor "override.<osrelease>" (např "override.oneiric") do kterého navolíte možnosti pro jednotlivé balíčky (stále ve složce conf), takže může vypadat například takto --- Kód: ---jméno_balíčku Priority optional jméno_balíčku Section net --- Konec kódu --- 7) sláva, reprepro je správně nastaven, nyní stačí jen z domovského adresáře repozitáře spustit příkaz --- Kód: ---reprepro includedeb oneiric package_name.deb --- Konec kódu --- Znovu, oneiric může být nahrazen platným jménem distribuce doporučuji všechny balíčky narvat do jednoho adresáře a spustit něco jako --- Kód: ---reprepro includedeb oneiric /cesta/k/adresari/*.deb --- Konec kódu --- poté už jen vyskočí hláška o podepsání (dvakrát, jednou na Release a podruhé na balíčky) a máme vymalováno Pak jen přidat do /etc/apt/sources.list onu zmiňovanou řádku --- Kód: ---deb file:/cesta/ke/korenu/reprepro/ oneiric main --- Konec kódu --- a můžeme tahat Reprepro má obrovské množství nastavení, doporučuju projít si --- Kód: ---man reprepro --- Konec kódu --- tohle je jen základ, jak si vytvořit fungující repozitář Samozřejmě existuje obrovské množství (no, zas tak velké není, ale je jich několik) systémů na vytvéření repozitářů, reprepro mi přišel jako nejjednodušší na základní nastavení a používání, zároveň ale nejmocnější. Zde můžete vidět přehled většiny takovýchto systémů http://wiki.debian.org/HowToSetupADebianRepository Doufám, že aspoň někomu tento návod pomůže |
| milzou:
jak ten repo zveřejním? |
| otaj:
To musíš mít na nějakém serveru. Zveřejnění je "síťová" záležitost, ve chvíli, kdy máš takhle udělanej repozitář, tak je to úplně ten samý systém jaký mají velký repozitáře, akorát na lokální cestě. Tzn pak to akorát hodit do nějaké složky na serveru, dát server ven a je to:) |
| milzou:
--- Citace: otaj 07 Únor 2012, 01:21:55 ---To musíš mít na nějakém serveru. Zveřejnění je "síťová" záležitost, ve chvíli, kdy máš takhle udělanej repozitář, tak je to úplně ten samý systém jaký mají velký repozitáře, akorát na lokální cestě. Tzn pak to akorát hodit do nějaké složky na serveru, dát server ven a je to:) --- Konce citace --- Takže kdybych si udělal web třeba na webzdarma.cz, kde se musí všechno nahrávat z PC, vytvořil kopii cesty ja v PC, nahrál do složek správné soubory tak by to fungovalo jestli jsem pochhopil? PS: webzdarma přidává na weby reklamy-nebude to v tom vadit? |
| otaj:
Jo, teoreticky by to melo fungovat. Nezkousel jsem to, ale vadit by to nemelo, protoze mam za to, ze webzdarma pridava reklamy jen do html souboru.. |
| Navigace |
| Seznam témat |
| Další strana |