GNU/Linux >> Znalost Linux >  >> Linux

Jak různé distribuce upravují umístění konfiguračních souborů pro programy?

Záleží na distribuci a původním („upstream“) zdroji.

U většiny balíčků využívajících autoconf a automake je možné určit adresář, kde se budou hledat konfigurační soubory pomocí --sysconfdir parametr. Jiné sestavovací systémy (např. CMake) mají podobné možnosti. Pokud zdrojový balíček používá jeden z těchto sestavovacích systémů, pak může balíčkovač snadno specifikovat správné parametry a nejsou vyžadovány žádné záplaty. I když tomu tak není (např. protože upstreamový zdroj používá nějaký domácí systém sestavení), často je stále možné zadat konfiguraci sestavení pro přesun konfiguračních souborů do konkrétního umístění, aniž byste museli opravovat upstream zdroj.

Pokud tomu tak není, bude distribuce často skutečně muset přidat záplaty do zdroje, aby přesunula soubory na místo, které považuje za „správné“ místo. Ve většině případů pak tvůrci distribučních balíčků napíší patch, který umožní konfiguraci zdroje ve výše uvedeném smyslu, aby mohli poslat patch nadřazeným správcům a nemuseli jej neustále udržovat/aktualizovat. To je případ umístění konfiguračních souborů, ale také jiných věcí, jako je bin /sbin spustitelné soubory (interpretace toho, co je příkaz správce systému se v jednotlivých distribucích liší), umístění, kam psát dokumentaci atd.

Vedlejší poznámka:pokud udržujete nějaký svobodný software, prosím usnadněte balírnám s vámi mluvit. Jinak musíme udržovat takové záplaty bez zvlášť dobrého důvodu...


Mají záplaty aplikované na strom zdrojového kódu, který přizpůsobuje umístění.

K dispozici je dostatek „standardů“, že každá distribuce si může vybrat na základě (osobních) preferencí a/nebo historických zvyklostí. Málokdy existuje řešení, které pouze má výhody. To je někdy otravné/matoucí, ale nejdůležitějším cílem je konzistence v rámci jedné distribuce:vede to k menšímu nepořádku a snadnějšímu odhadování, kde by věci mohly být pro program Y, pokud již víte, kde jsou podobné věci (např. soubory nastavení/konfigurace) pro program X.

Příklad aplikace opravy

Můj balíček python ruamel.yaml je k dispozici v Debian Sid. Dříve to bylo závislé na ruamel.base a uživatelé, kteří si nainstalovali přes PyPI, mohou mít stále starší, nekompatibilní verze ruamel.base nainstalováno. Pomocí setup.py /PyPI není skutečná správa balíčků, takže nemůžete mazat balíček dříve nainstalovaný prostřednictvím závislostí. Problém pro uživatele PyPI jsem vyřešil vytvořením novější verze ruamel.base který odstranil problémy spojené se starším ruamel.base balíčků a vyrobených ruamel.yaml v závislosti na této novější verzi.

Pro Sida to není problém:starší verze ruamel.base nebyly nainstalovány (nebo mohly být odstraněny pomocí správy balíčků). Proto aplikují opravu, kterou najdete na ruamel.yaml informační stránku pro Sid, která odstraňuje závislost ruamel.yaml na ruamel.base .

Ostatní distribuce mají podobné nastavení. Např. pokud se podíváte na specifikace vytváření zdrojového souboru RPM (např. pro RedHat/CentOS/SuSE), uvidíte, že kombinujete původní původní tarball balíčku s jedním nebo více záplatami, které budou aplikovány před konfigurací/kompilací.


Linux
  1. Jak byl podnik postaven na podcastech pro Linux:Příběh Jupiter Broadcasting

  2. Jak zkontrolovat velké soubory v konzole

  3. Jak změnit příponu více souborů?

  1. Jak na to, aby byl zvukový vstup vždy mikrofonem webové kamery?

  2. Jak používat Linuxový příkaz find k hledání souborů

  3. Makefiles se zdrojovými soubory v různých adresářích

  1. Jak používat Gui k hledání souborů v Gnome?

  2. Jak najít všechny řídké soubory v Linuxu

  3. Jak nastavit oprávnění linux pro složku WWW?