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 02:22 | Nová verze

Byla vydána verze 11.8 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností i s náhledy v příspěvku na blogu. Zdůraznit lze například SAST (Static Application Security Testing) testování JavaScriptu.

Ladislav Hagara | Komentářů: 1
dnes 02:00 | Zajímavý projekt

Neziskové technologické konsorcium Linux Foundation oznámilo, že nejnovějším oficiálním projektem konsorcia se stává ELISA (Enabling Linux In Safety Applications). Clem projektu je usnadnit společnostem vývoj a certifikaci kritických aplikací a systémů postavených na Linuxu, tj. aplikací a systémů, jejichž selhání může vést ke ztrátě lidských životů, k významným škodám na majetku nebo škodám na životním prostředí.

Ladislav Hagara | Komentářů: 1
včera 14:55 | Zajímavý projekt

Vyšlo piate číslo Magazínu KPI — webového časopisu Katedry počítačov a informatiky Technickej univerzity v Košiciach. V čísle sú články o vizualizácii dát v jazyku Python, nástroji Docker, a použití protokolu MQTT.

sergejx | Komentářů: 3
včera 10:44 | Nová verze

Po dvou a půl měsících vývoje od vydání verze 5.0 byla vydána nová verze 5.1 svobodného open source redakčního systému WordPress. Kódové označením Betty bylo vybráno na počest americké jazzové zpěvačky Betty Carter.

Ladislav Hagara | Komentářů: 0
21.2. 16:11 | Bezpečnostní upozornění

V Linuxu byla nalezena bezpečnostní chyba CVE-2019-8912. Jedná se o vážnou (CVSS v3.0: 9.8) bezpečnostní chybu typu CWE-416: Use After Free v crypto/af_alg.c. Chyba byla nalezena pomocí detektoru chyb při práci s pamětí KASAN (Kernel Address Sanitizer).

Ladislav Hagara | Komentářů: 5
21.2. 11:11 | Komunita

Mozilla.cz informuje, že další vydání SeaMonkey se zdrží. Infrastruktura projektu SeaMonkey prochází mnoha změnami. Důvodem je požadavek na nezávislost na infrastruktuře Firefoxu do konce roku, protože jeho vývoj nebude SeaMonkey následovat ve stejném tempu a rozdíly jsou moc veliké. Bohužel se při těchto přesunech nepodařilo udržet vše ve funkčním stavu a tak není možné sestavovat a vydávat nové verze SeaMonkey.

Ladislav Hagara | Komentářů: 0
20.2. 16:55 | Bezpečnostní upozornění

V Drupalu byla nalezena vysoce kritická zranitelnost PSA-2019-02-19. Podrobnosti a opravy 8.5.x a 8.6.x budou zveřejněny dnes mezi 19:00 a 23:00.

Ladislav Hagara | Komentářů: 1
20.2. 16:33 | Zajímavý projekt

Mozilla.cz informuje o stavu češtiny v projektu Common Voice. Projekt Common Voice sbírá hlasová data, na základě kterých bude možné trénovat modely a software pro rozpoznávání řeči. Aktuálně je nutné rozšířit počet vět v datové sadě a alespoň 5 tisíc vět musí být ručně ověřených několika lidmi.

Ladislav Hagara | Komentářů: 0
20.2. 16:22 | Nová verze

Byla vydána nová vývojová verze datového formátu a souvisejících nástrojů Relational pipes. Hlavní novinkou verze v0.10 je nástroj relpipe-tr-guile, který díky GNU Guile umožňuje filtrovat a transformovat relační data pomocí výrazů jazyka Scheme.

xkucf03 | Komentářů: 0
20.2. 00:33 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje na kritickou zranitelnost ve WordPressu umožňující vzdálené spuštění libovolného kódu. Prakticky se jedná o kombinací dvou různých zranitelností (Directory Traversal a Local File Inclusion), pro jejichž úspěšné zneužití musí útočník získat v rámci instance WordPressu alespoň oprávnění autora.

Ladislav Hagara | Komentářů: 2
Máte v desktopovém prostředí zapnutou zvukovou znělku po přihlášení se do systému?
 (8%)
 (1%)
 (90%)
 (2%)
Celkem 398 hlasů
 Komentářů: 13, poslední dnes 18:27
Rozcestník

Dotaz: zaTARovani softlinku s cestou ke zdroji

Mintaka avatar 16.2.2004 03:22 Mintaka | skóre: 12
zaTARovani softlinku s cestou ke zdroji
Přečteno: 251×
Zdravim

Rad bych vedel, jak zaTARovat softlink tak, abych ve vyslednem archivu mel cestu k souboru na ktery link odkazuje, a ne k souboru se softlinkem.

Priklad:

mam soubor /etc/LinkNaZdroj K nemu mam udelany softlink do adresare /home/alfons/zdroj Pokud v adresari /home/alfons spustim: tar -chf archiv.tar /home/alfons/* ve vyslednem souboru archiv.tar bude soubor /home/alfons/LinkNaZdroj s obsahem souboru zdroj

Stav ktereho potrebuji dosahnout bude, ze v archivu bude /etc/zdroj - tedy cesta ke zdroji a k linku

Duvod: Rad bych si udelal v jednom adresari softlink na vsechny konfiguracni soubory, ktere budu menit. Budu je mit pohodlne na jednom miste. Snadnejsi editace i zalohovani. Ovsem pokud ji budu chtit ulozit do archivu, pak s cestou ke zdroji.

Diky za pripadne rady. Mintaka

Odpovědi

16.2.2004 11:16 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
Jestli tomu dobře rozumím, chceš říci taru, aby zabalil adresář ,zdroj`, ale přitom chceš aby balil nějaké úplně jiné věci, které jsi mu jako argumenty nedal. To nejde.

Použij --files-from a seznam souborů. Pokud z nějakých důvodů vyžaduješ vytváření symlinků, tak find | xargs -n1 readlink | tar --files-from - ...
Mintaka avatar 16.2.2004 17:20 Mintaka | skóre: 12
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
Vidim, ze jsem zkonil zadani dotazu. Snad mi prominete. Drobne pochopeni mozna vzbudi cas prispevku.

Upraveno: mam soubor /etc/ZdrojLinku k nemu mam udelany softlink /home/alfons/LinkNaZdroj pokud spustim: tar -chf archiv.tar /home/alfons/* ve vyslednem souboru archiv.tar bude soubor /home/alfons/LinkNaZdroj s obsahem souboru ZdrojLinku chtel bych, aby v archiv.tar byl soubor /etc/ZdrojLinku vcetne sve cesty.

Postupoval bych takto ls | readlink -f | tar -chf archiv.tar

ls vypise aktualni soubory | readlink rekne jejich skutecne umisteni | tar je zabali i se skutecnou cestou

Jenze to nejde. readlink mi nebasti vstup z roury (neni na to delan zda se)

Slo by to resit i tak, ze bych vystup z ls -A -1 ulozil do souboru. Pak bych rekurzivne volal readlink a nazvy souboru mu postupne zadaval a vystup readlinku ukladal do jineho souboru se kterym bych nakrmil tar. Zde jsem narazil na to, ze neumim ulozit obsah souboru do pole a jeho jednotlive radky jako soubory postupne volat ven.

------ Myslim ze bude vyhodne mit linky na pouzivane konfiguracni soubory v jednom adresari odkud je muzu snadno editovat, aniz bych musel zalezat do struktury - navic je pak budu moci zazalohovat jednim vrzem.

Kazdopadne dekuji za snahu mi pomoci.
16.2.2004 18:16 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
K čemu tam asi píšu ten xargs -n1... <sigh>

Počáteční / ti samozřejmě tar sežere a findu by se asi hodilo dát -type l. Ale to, co jsem napsal, jinak normálně funguje, nevím, proč se to snažíš nějak ,spravit` vynecháním klíčového xargsu...
16.2.2004 18:34 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
kromě toho můžeš vprostřed namísto xargs -n1 readlink použít třeba perl -ple '$_=readlink', což bude rychlejší, protože se nebudou spouštět tucty dalších procesů...
Mintaka avatar 19.2.2004 01:53 Mintaka | skóre: 12
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
Díky Yetiho nasměrování (a xargu) mám hotovou rozumnou verzi

A sice:

find /velin/ | xargs -n1 readlink | xargs -n1000 tar -c -f archiv.tar; tar -u -f archiv.tar /velin/

A krok za krokem:

Mám adresář /velin , do kterého ukládám softlinky na používané konfigurační soubory, semtam i nejaký softlink na adresář s konfigurací (třeba samby). Krome toho jsou v něm i obyčejné soubory s popisky a mám v něm uložené i vlastní skriptíky.

Tato struktura mi slouží hlavně k jednodušší editaci často používaných souborů. (Neirituje mě pohled na spousty konfiguráků, o kterých nemám ani páru.) Na několika místech mám servery, které mají velmi podobnou konfiguraci, kterou chci udržovat aktuální. Nelze to řešit prostým zkopírováním /etc/ - musel bych soubory vybírat. Semtam zkusím jinou verzi distribuce či distribuci a rád bych zase měl svou konfguraci s co nejmenším zapojením ručních prací.

Tak při tom všem mi tenhle sriptík snad bude pomáhat. A jak to tedy funguje:

find /velin/ | - nasype do roury ( pipe ) výpis adresáře /velin . Výpisem jsou všechny soubory a adresáře včetně těch, které začínajících tečkou a těch, které jsou v podadresářích. (Neprochází se adresáře, které jsou softlinkem, to by zajistil přepínač -follow Zde to není třeba, protože se taru dostane jméno adresáře, a tar ho zabalí celý.) Do roury find sype soubory každý na nový řádek.

xargs -n1 readlink | xargs - přebírá vstup z roury a dávkuje ho díky přepínači -n1 po jednom řadku, který předává readlinku. Readlink se podívá zda jde o softlink. Pokud ano, pošle skutečné umístění souboru či adresáře, na který softlink ukazuje do další roury. Pokud soubor nebo adresář není softlinkem tak si ho nevšímá. (To by se dalo změnit přepínačem -f Pak by readlink do do roury zapisoval cesty ke všem adresářům i souborům.)

xargs -n1000 tar -c -f archiv.tar; Další xargs přebere vstup od readlinku, který je rozdělen na řádky. Z každého softlinku je na výstupu z readlinku jeden řádek. Hodnota přepínače -n je nastavena na 1000. Pokud bych měl v adresáři /velin/ souborů více, hodnotu bych zvětšil. (doufám že to nikdy nebude třeba) Hodnota udává, kolik řádků se má sloučit. Sloučení je potřeba, aby tar dostal jména souborů a adresářů, které chceme zabalit na jednom řádku. A to také udělá. U taru přepínač -c založí nový soubor ( archiv ). -f řekne jak se bude jmenovat ( archiv.tar ). Středník za příkazem ukončuje jeden přikaz. Používám středník, abych celý proces provedl na jednom řádku.

tar -u archiv.tar /velin/ Druhý příkaz ( řečeno přepínačem -u ) přidá do stejného archivu ještě samotný adresář /velin/ tentokrat se všemi softlinky i soubory a adresáři které softlinky nejsou. Radno dodat, že adresář, který je softlinkem bude v této části archivu jen jako soubor a žádný softlink v této části nemá obsah zdrojového souboru. Obsahuje jen odkaz.

Výsledek:

Stačí jen roztarovat archiv do struktury. Doporučuji postup, kdy nejdřiv robalíte jen adresář /velin/ a provedete pomocí tohoto skriptu zálohu stavající konfigurace. Pak roztarujete zbytek a přepíšete ty konfigurační soubory, které uznáte za vhodné.

Třeba se to někomu bude hodit. Kdyžtak si to přečtu já, až za pár let zapomenu jak že se to ty softlinky tarují.

Btw: Kdyby nešlo o to, zatarovat je i s cestou, pak stačí dát taru přepínač -h a máte v softlinku obsah souboru na který ukazuje.

Mintaka
19.2.2004 07:54 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
Kdyby sis raději udržoval soubor, kde jsou jména těch konfiguráků, jak jsem navrhoval na začátku, lze jednak tarovat bez nějakých komplikací pomocí -T a jednak vyrobit ten adresář se symlinky ln -s $(<seznam) /velin.

K samotné myšlence vytváření dalších adresářů v /, navíc takovýchto praštěných, se raději nebudu vyjadřovat...
Mintaka avatar 20.2.2004 07:31 Mintaka | skóre: 12
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
Ale Linux je přeci hodně o tom, že si ho můžu přizpůsobit tak jak mi to vyhovuje. Neexistuje přeci jen jedna cesta která je správná a nejsprávnější.

Navíc před řešením tohoto problému jsem nevěděl nic o xargs a nevěděl jsem tolik o chovaní pipe. Za dobu kdy jsem se to snažil nějak vyřešit jsem objevil celou řadu utilitek, které jsou standardně v systému a nevěděl jsem o nich.

A hlavně, až někdo jednou bude řešit podobný případ a zadá do googla (či jiného prohlížeče) pipe softlink readlink tar / nebo zabalení zdrojového souboru přes softlink - najde mu to i tuhle diskuzi a třeba mu to pomůže vyřešit jeho problém. (A v uspořeném čase ho třeba napadne nějaký geniální algoritmus.)

PS: Že je ten adresář v / je jen pro zjednodušení ukázky.
20.2.2004 08:04 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
IMHO je chybná hlavně myšlenka (která je příčinou celého problému) linkovat konfiguráky kamsi do ... namísto snahy vyznat se v nich tam, kde jsou. To není přizpůsobení si systému ale spíš macintoshizace...
Mintaka avatar 20.2.2004 22:20 Mintaka | skóre: 12
Rozbalit Rozbalit vše zaTARovani softlinku s cestou ke zdroji
Předpokládám, že časem, až budu Linuxu rozumět lépe to budu dělat jinak.

Teď je pro mě podstatné, abych vůbec věděl které konfiguráky jsem použil.

Navíc, to byl problém pro mě hodný vyřešení. A to se podařilo.

Vnímám samozřejmě tvé dobře míněné rady. Je to ovšem zastřeno radostí, že mě ten systém začíná poslouchat. Každopádně se budu snažit být ostražitý, abych poznal, kdy už je mi výše zmíněný mechanismus na obtíž.

Když se nad tím zamyslím, pokud by programy měly konfigurační soubory jen v etc a já bych z nich používal alespoň 25%, pak by zřejmě stálo za to pohybovat se jen v etc a zálohovat celý adresář.

Založit nové vláknoNahoru

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

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