GNU/Linux >> Znalost Linux >  >> Linux

Existují nějaké nevýhody používání Mount –bind jako náhrady za symbolické odkazy?

Symbolické odkazy mají omezení ve způsobu fungování, jako je ls , mv a cp lze s nimi pracovat, protože na rozdíl od příkazů iniciovaných shellem jako cd , tyto funkce nemají informace o tom, jak uživatel přistupoval k adresáři s ohledem na logickou cestu (viz související příspěvek). Vypadá to jako použití mount --bind Tato možnost místo toho může toto obejít a nabízí zvýšenou funkčnost a kompatibilitu se sambou a dalšími souborovými servery, protože připojený adresář bude mít místo odkazu dvě nezávislé fyzické cesty.

Rád bych nahradil všechny své symbolické odkazy odkazy pomocí mount --bind možnost, ale to by znamenalo namontovat přes 150 bodů ve fstabu. Existují nějaké problémy s výkonem, které by mohly potenciálně vyplynout z tohoto nebo jiných nevýhod, které bych měl zvážit?

Přijatá odpověď:

Pomocí mount --bind , adresářový strom existuje na dvou (nebo více) místech v hierarchii adresářů. To může způsobit řadu problémů. Zálohy a další kopie souborů vyberou všechny kopie. Je obtížné určit, že chcete kopírovat souborový systém:skončíte tak, že soubory připojené k vazbě zkopírujete dvakrát. Vyhledávání pomocí find , grep -r , find , atd., projde všechny kopie a tak dále.

Nezískáte žádnou „zvýšenou funkčnost a kompatibilitu“ s připojením na vazbu. Vypadají jako jakýkoli jiný adresář, což většinou není žádoucí chování. Například Samba ve výchozím nastavení vystavuje symbolické odkazy jako adresáře; s použitím bind mount nic nezískáte. Na druhou stranu, připojení k připojení může být užitečné pro odhalení hierarchie adresářů přes NFS.

S připojením vazby nebudete mít žádné problémy s výkonem. Budete mít bolesti hlavy z administrace. Bind mounts mají svá použití, jako je zpřístupnění adresářového stromu z chrootu nebo odhalení adresáře skrytého přípojným bodem (toto je obvykle přechodné použití při přestavbě adresářové struktury). Pokud to nepotřebujete, nepoužívejte je.

Pouze root může manipulovat s připojeními. Nelze s nimi pohybovat běžnými prostředky; uzamknou své umístění a adresáře předků.

Obecně řečeno, pokud předáte příkazu symbolický odkaz, příkaz působí na samotný odkaz, pokud pracuje se soubory, a na cíl odkazu, pokud pracuje s obsahem souboru. To platí i pro adresáře. To je obvykle správná věc. Některé příkazy mají možnosti, jak zacházet se symbolickými odkazy odlišně, například ls -L , cp -d , rsync -l . Ať už se snažíte dělat cokoli, je mnohem pravděpodobnější, že symbolické odkazy jsou tím správným nástrojem, než že by tím správným nástrojem byly svazky.

Související:Linux – Ubuntu Server, nastavit písmo terminálu na vlastní písmo ttf?
Linux
  1. Jak aplikovat opravu -p0 z libovolného pracovního adresáře?

  2. Linux – Existují nějaké nástroje Gui pro Linux, které nepoužívají X11?

  3. Existují nějaké rozdíly mezi připojením souborového systému /proc uvnitř Chrootu ve srovnání s jeho připojením zvenčí?

  1. Svázat připojení uživatele SFTP po použití chrootu

  2. Existuje způsob, jak zkontrolovat, zda existují symbolické odkazy směřující do adresáře?

  3. Existují v Linuxu nějaké standardní kódy ukončení?

  1. Existují konvence pojmenování proměnných ve skriptech Shell?

  2. Existuje příkaz pro návrat o několik kroků zpět v adresáři bez použití cd?

  3. Chcete-li zobrazit zdrojovou cestu připojení pro připojení po verzi 2.25.2