GNU/Linux >> Znalost Linux >  >> Linux

Sledování programů?

Když instaluji jednoduchý program, často používá make && make install a často ani nemá odinstalaci cíl.

Pokud chci upgradovat program, předpokládá se standardní protokol, že se pouze hladce přepíše přes starý program?

Jak mohu sledovat tyto programy; většina lidí prostě „vystřelí a zapomene“ a pokud ne, odinstaluje cíl je dán, musím vše ručně smazat?

Přijatá odpověď:

Nainstalujte každý program do vyhrazeného adresářového stromu a použijte Stow nebo XStow, aby se všechny programy objevily ve společné hierarchii. Stow vytváří symbolické odkazy z adresáře specifického pro program do společného stromu.

Podrobněji vyberte adresář nejvyšší úrovně, například /usr/local/stow . Nainstalujte každý program pod /usr/local/stow/PROGRAM_NAME . Zajistěte například instalaci jeho spustitelných souborů do /usr/local/stow/PROGRAM_NAME/bin , jeho manuálové stránky v /usr/local/stow/man/man1 a tak dále. Pokud program používá autoconf, spusťte ./configure --prefix /usr/local/stow/PROGRAM_NAME . Po spuštění make install , spusťte stow :

./configure --prefix /usr/local/stow/PROGRAM_NAME
make
sudo make install
cd /usr/local/stow
sudo stow PROGRAM_NAME

A nyní budete mít symbolické odkazy, jako jsou tyto:

/usr/local/bin/foo -> ../stow/PROGRAM_NAME/bin/foo
/usr/local/man/man1/foo.1 -> ../../stow/PROGRAM_NAME/man/man1/foo.1
/usr/local/lib/foo -> ../stow/PROGRAM_NAME/lib/foo

Můžete snadno sledovat, jaké programy máte nainstalované, vypsáním obsahu stow adresář a vždy víte, ke kterému programu soubor patří, protože je to symbolický odkaz na umístění v adresáři daného programu. Odinstalujte program spuštěním stow -D PROGRAM_NAME poté smažte adresář programu. Program můžete dočasně znepřístupnit spuštěním stow -D PROGRAM_NAME (spusťte stow PROGRAM_NAME aby byl znovu dostupný).

Pokud chcete mít možnost rychle přepínat mezi různými verzemi stejného programu, použijte /usr/local/stow/PROGRAM_NAME-VERSION jako adresář programu. Chcete-li upgradovat z verze 3 na verzi 4, nainstalujte verzi 4 a poté spusťte stow -D PROGRAM_NAME-3; stow PROGRAM_NAME-4 .

Starší verze Stow nejdou příliš daleko za základy, které jsem popsal v této odpovědi. Novější verze, stejně jako XStow (která nebyla v poslední době udržována) mají pokročilejší funkce, jako je schopnost ignorovat určité soubory, lépe se vypořádají s existujícími symbolickými odkazy mimo adresář stow (jako je man -> share/man ), řeší některé konflikty automaticky (když dva programy poskytují stejný soubor) atd.

Související:change terminal title?

Pokud nemáte nebo nechcete používat root přístup, můžete si vybrat adresář pod svým domovským adresářem, např. ~/software/stow . V tomto případě přidejte ~/software/bin do vaší PATH . Pokud man nenajde automaticky manuálové stránky, přidejte ~/software/man na váš MANPATH . Přidejte ~/software/info na váš INFOPATH , ~/software/lib/python do vašeho PYTHONPATH , a tak dále podle potřeby.


Linux
  1. Seznam souborů, ke kterým program přistupuje?

  2. Jak přesměrovat výstup programu do souboru ZIP?

  3. Ponechat rozhraní programového rozhraní a Cli oddělené?

  1. Jak ladit programy C v Linuxu pomocí gdb

  2. Programovací jazyk C - Úvod

  3. Vytvoření programu v přihrádce

  1. Proč není CD program?

  2. Měření využití Ram programu?

  3. Linux – Průběžné sledování stavu služby?