abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:00 | Humor

    OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.

    NUKE GAZA! 🎆 | Komentářů: 1
    dnes 03:00 | Nová verze

    Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    včera 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 6
    9.1. 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 4
    9.1. 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 2
    9.1. 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 7
    9.1. 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    9.1. 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 14
    8.1. 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (7%)
     (4%)
     (0%)
     (9%)
     (20%)
     (4%)
     (5%)
     (3%)
     (10%)
     (50%)
    Celkem 359 hlasů
     Komentářů: 8, poslední včera 23:18
    Rozcestník

    Jak si udržovat historii /etc v gitu

    7.7.2007 13:15 | Přečteno: 1875× | Software | Výběrový blog

    V dnešní době již nebývá nedostatek diskového prostoru a nebývá tedy potřeba šetřit každý bajt. Jedním ze způsobů, jak "plýtvat" úložným prostorem je zaznamenávat si, jak se některé soubory měnily v čase. Když si pak člověk omylem smaže, přepíše, nebo změní špatným směrem některé z nich, má možnost se vrátit v čase zpátky.

    Pokusím se ukázat nezbytné minimum z používání gitu ke správě například historie svého /etc. Git je v repozitářích většiny běžných distribucí a tak by neměl být problém jej z nich nainstalovat. Tento zápisek se vztahuje k verzi 1.5.1.6, ale snad by měl být relativně nadčasový.

    Skáčeme po hlavě

    Git pracuje s jednotlivými repozitáři, jejichž data bývají často umístěny v adresáři .git v nejvyšším adresáři daného repozitáře. Tento adresář si vytvoříme jednoduše tak, že se přesuneme do daného adresáře a napíšeme

    #git init
    Initialized empty Git repository in .git/
    

    Tímto máme inicializovaný repozitář, ale ještě do něj nepatří žádné soubory. To snadno napravíme tak, že nejdříve řekneme, že budeme chtít přidat vše v tomto adresáři

    #git add -- .
    
    A poté commitneme (zapíšeme do repozitáře) avizované změny (pomocí git add)
    #git commit
    

    Tento příkaz nám spustí náš oblíbený editor z proměnné prostředí EDITOR a bude po nás chtít, abychom v něm napsaly popis udělaných změn. Tento popis změn slouží čistě pro naši orientaci a tudíž je na každém z nás, co si napíše, datum zapsání, rozdíly, přidané/odebrané soubory lze samozřejmě vyčíst odjinud, takže by mělo jít o jakésy shrnutí, k čemu to bylo.

    Rutina

    Zatím máme repozitář, ve kterém máme uložený výchozí stav. Nicméně by asi bylo dobré také zaznamenávat jednotlivé změny. Pro vypsání změn oproti uloženému stavu slouží příkaz git-status, jehož výpis je velmi samopopisující se.

    Pakliže chceme provedené změny zaznamenat do repozitáře, nejdříve musíme gitu říct, jaké změny budeme chtít sledovat, v případě /etc budeme pravděpodobně chtít sledovat všechny soubory a tudíž zavoláme

    #git add -- .
    

    čímž řekneme, že budeme chtít zapsat stav všech souborů v daném adresáři (včetně doposud nesledovaných). Poté zavoláme

    #git commit -a
    

    Tímto příkazem sice částečně překrýváme funkci git add -- ., aneb připravení zapsání změn již sledovaných souborů, nicméně git add -- . navíc připraví zapsání vytvoření zatím nesledovaných souborů, a parametr -a u commitu zase navíc oproti add zaznamená v repozitáři případné smazání sledovaných souborů. Pakliže jsme líní a nechceme pokaždé lézt do editoru pro zapsání commit message, můžeme ji specifikovat parametrem -m při commitu, např. pokud bychom chtěli mít v cronu naplánováno jednou za čas automaticky zapsat změny v /etc, můžeme použít sekvenci příkazů

    cd /etc && git add -- . && git commit -a -m "cron automated commit"
    

    A dál?

    Zatím jsme tedy schopni zaznamenávat historii změn, a jak se jí procházet? Nejméně náročné je asi použít nějaké klikátko stylu qgit, či git-gui, které bývá přibaleno v balíku přímo s gitem. Jelikož mne přestává bavit psát, milovníky příkazové řádky budu muset odkázat na zkoumání dokumentace

    Bezpečnost

    Nesmíme ovšem zapomenout, že v /etc je několik souborů, které by neměl přečíst nikdo, krom roota a tudíž doporučuji k danému git repozitáři zakázat přístup kohokoliv jiného, než vlastníka (roota)

    #chmod 700 /etc/.git
    
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    7.7.2007 13:23 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Díky za článek, fakt dobrý. O verzování konfiguráků jsem párkrát uvažoval. Mohlo by se to dostat do distribucí jako běžná věc.
    Pochybnost, nejistota - základ poznání
    7.7.2007 15:46 Georgo10 | skóre: 14 | blog: Deset hříchů | Olomouc
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Taktéž děkuji -- O nějaké záloze /etc jsem vždycky uvažoval, ale nápad použít verzovací systém, mi hlavou nebleskl :-) Určitě vyzkouším, ještě jednou díky :-)
    -- Georgo
    Josef Kufner avatar 7.7.2007 16:21 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    To by nemuselo být špatné... ale jsem moc líný, takže by to chtělo napojit na apt, aby se to ukládalo samo. Nejlépe vždy před a po nějaké instalaci/upgrade/čemkoliv.
    Hello world ! Segmentation fault (core dumped)
    7.7.2007 19:37 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Naprosto souhlasím, sám přemýšlím, jak nejlépe to napojit na portage, zatím to řeším cronem daily (uvedený kombo příkaz je copy&paste z mého cronu), což mi přijde jako dostatečné, nikoliv však ideální řešení. Dokonce se git chová tak, že pokud není nic ke commitnutí, ignoruje commit a tudíž nevzniká tisíce zbytečných commitů, což mne mile překvapilo :-)
    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    David Watzke avatar 7.7.2007 18:43 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Mně se /etc zálohuje každej den ráno na server a docela to stačí... :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Josef Kufner avatar 7.7.2007 19:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Ono tady jde spíš o tu historii a možnost kouknout se, co se vlastne kdy změnilo. V tom mají nástroje na správu verzí precejen nějaké ty výhody oproti hromádce adresářů... ;-)
    Hello world ! Segmentation fault (core dumped)
    7.7.2007 19:36 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    No já si zase mohu jedním příkazem vypsat histrorii změn v jednom souboru/adresáři pomocí git-whatchanged -p soubor, což mi vypíše kdy se ten soubor měnil a diffy jednotlivých změn.
    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    8.7.2007 14:21 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    a komu venujes ten /etc/shadow kazde rano?
    8.7.2007 14:38 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    A není to jedno, jaká je šance že ty hashe rozlousknou? Moc velká asi ne. :-) Teda pokud nemá lehce uhodnutelná hesla. Nebo útočník pár s390 ve sklepě :)
    8.7.2007 15:01 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    radsej poloz otazku, aka sanca bude zajtra/o tyzden/etc...
    8.7.2007 15:22 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    No správný paranoik mění hesla každý týden :-)
    8.7.2007 15:57 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    a to je nejaka prekazka tomu, ze ti to niekto zajtra moze rozlusknut za 30 sekund?
    David Watzke avatar 8.7.2007 20:51 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Teda pokud nemá lehce uhodnutelná hesla
    nbusr123
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 8.7.2007 20:49 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Je to u Zdendy na serveru (klenot.cz) a adresář backup má přístupový práva 700. Můžu být v klidu :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    8.7.2007 21:39 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    no bodaj by si tomu nedal 700, to uz by bol naprosty vysmech bezpecnosti :D

    v kazdom pripade by si z toho mohol mazat hashe, to nie je problem...
    Josef Kufner avatar 8.7.2007 21:53 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    A nebo to během přenosu na server šifrovat.
    Hello world ! Segmentation fault (core dumped)
    8.7.2007 22:41 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    ja by som to v plaintexte neukladal ani na vlastny server...
    onion avatar 7.7.2007 21:55 onion | skóre: 8 | blog: onion | Praha
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Jeste doplnim, ze prikazem

    git-config color.diff auto

    bude vystup z git-whatchanged (a vsech ostatnich diffu) pekne barevny. Chvilku mi trvalo nez jsem na to prisel, takze tim treba nekomu ulehcim praci :D
    8.7.2007 16:41 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    zdravim,

    git nejaky mesic pouzivam. Skvely nastroj. Ale par veci jsem nerozlousknul.

    Nepouzivate nahodou nekdo git na vice projektu, ktere maji zcasti stejny zaklad ?

    Neco delam asi spatne nebo nechapu filosifii uzivani gitu. Nebo je to mozna mimo moznosti gitu.

    Dam priklad:

    testuji ruzne kernely a pripadne hledam zmeny a chyby. Dovedu si vyexportovat aktualni zdrojaky, najit zmeny, udelat nejaky bisect, pripadne si zmergovat zmeny.

    Ale zda se mi trochu neefektivni mit specielne na kernel 2 ruzna uloziste.

    Mam:

    - linus-uv kernel

    - mm-kernel

    - thinkpad-acpi

    A ted jak si usporadat uloziste (repositare) ?

    Mit vse v jednom reposiraci nebo mit 3 repositare ?

    Jak na to ? A jak se pripadne prepinat mezi repositari a vyexportovat si konkretni zdrojaky k danemu datu ?

    Tato vec mi vcelku brani dostat se dale.

    Jak by jste toto resili? Predem diky.

    Pavel Kysilka
    michich avatar 8.7.2007 18:31 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu

    Nevím, jestli to má cenu dělat i s -mm kernely, protože Andrew Morton je udržuje pomocí quiltu a git strom je až sekundární reprezentace. Já je tahám zvlášť pomocí ketchupu.

    Ale s tím thinkpad-acpi jsem si to teď zkusil. Vlezu do adresáře, kde mám Linusův strom a pár svých místních větví. Řeknu gitu, že budu chtít sledovat další vzdálený repozitář:

    git-remote add ibm-acpi \
    git://repo.or.cz/linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git
    

    Stáhnu si ho k sobě:

    git-fetch ibm-acpi
    

    Podívám se, jaké větve tam mají:

    git-branch -r
    

    Budu chtít pracovat s větví devel, tak si udělám místní větev, která jí bude odpovídat (a git-pull mi ji bude umět aktualizovat):

    git-branch --track ibm-acpi ibm-acpi/devel
    

    Přepínám se pomocí git-checkout.

    Nevím, jestli je to ideální způsob. Jestli to někdo děláte jinak a lépe, tak by mě to zajímalo.

    8.7.2007 23:03 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Co se tyce mm-kernelu, tak bych rad redukoval primerene traffic a nerad bych tahal cele tarbally. Vcelku je pro me mm-kernel dulezity - hodne chyb se najde drive nez v linus-kernelu.

    Nicmene podle Vaseho navodu pujde tahat primo z git:// zdroje mm-kernel.

    Kazdopadne diky, s timto se pohnu hodne dale. Kdybych prisel na neco zajimaveho nebo vylepseneho, tak dam vedet.

    Pavel Kysilka
    michich avatar 8.7.2007 23:12 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Ten ketchup, co na -mm používám, je docela chytrý. Netahá pokaždé znovu celé tarbally. Když už má nějakou předchozí verzi staženou, tak tahá diffy. Ve Fedoře i v Debianu se balíček jmenuje ketchup.
    9.7.2007 09:54 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Na jednoduché verzování konfiguráků používám systém rcs. Řekl bych, že balíček bude součástí téměř všech distribucí.
    Petr Tomášek avatar 9.7.2007 22:15 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Na tohle mi prijde jako idealni svn. Git ma podle me smysl az ve chvili, kdy je potreba predavat changesety z jednoho repositare do druheho...
    multicult.fm | monokultura je zlo | welcome refugees!
    9.7.2007 22:19 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Asi jsem zaslepen buhví čím, ale v čem je svn lepší na tento úkol, než git? Zrovna u takto "nenáročného" úkolu mi přijde, že by svn mělo být srovnatelně vhodné.
    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    Josef Kufner avatar 10.7.2007 00:50 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Mno, spíš naopak. Git je vhodnější, protože není potřeba vytvářet repositář.
    Hello world ! Segmentation fault (core dumped)
    10.7.2007 08:32 Jiří (BoodOk) Kadeřávek | skóre: 19 | blog: BoodOk | Brno
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Jeno pro upřesnění. Jedná se totiž stejně jako u např. Bazaar o tzv. decentralizovaný/distribuovaný systém správy verzí, narozdíl od centralizovaného systému jakými je např. SVN, CVS a další.

    http://en.wikipedia.org/wiki/Revision_control
    http://en.wikipedia.org/wiki/Git_(software)
    http://en.wikipedia.org/wiki/Bazaar_(software)
    http://en.wikipedia.org/wiki/Subversion_(software)
    Věda má v sobě určitou zpupnost, že čím dokonalejší techniku vyvineme, čím více se dozvíme, tím lepší budou naše životy.
    Josef Kufner avatar 10.7.2007 12:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Ono ani nejde o to, že by byl decentralizovaný -- to jen souvisí s tím, že součástí pracovního adresáře je i kompletní repositář. Klíčovou vlastností gitu je to, že necpe do každého adresáře bordel jako to dělá svn a cvs. Protě bude jen /etc/.git a to je všecko. Ony adresáře .svn by dělaly problémy při změnách adresářů balíčkovacím systémem -- adresář není prázdný a tak ho nelze smazat...
    Hello world ! Segmentation fault (core dumped)
    11.7.2007 10:42 Jiří (BoodOk) Kadeřávek | skóre: 19 | blog: BoodOk | Brno
    Rozbalit Rozbalit vše Re: Jak si udržovat historii /etc v gitu
    Takhle máš repository spolu s projektem. A naučit se pracovat a ovládat systém správy verzí není úplně triviální záležitost, tudíž rozhodně s ohledem na portabilitu u menších projektů (rozuměj 1-5 lidí) preferuji decentralizovaný model. Případné merge nejsou navíc v takové skupině až tak složité.
    Věda má v sobě určitou zpupnost, že čím dokonalejší techniku vyvineme, čím více se dozvíme, tím lepší budou naše životy.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.