it-swarm-eu.dev

Jak najít instalační cestu k softwaru pod linuxem?

Pod linuxem spustím software zadáním např. Fluidplot. Jak najdu instalační cestu pro tento software?

80
user5997

Můžeš použít:

which fluidpoint

abyste zjistili, odkud se provádí (pokud je ve vaší $ PATH). Nebo:

find / -name fluidpoint 2> /dev/null

hledat soubor s názvem fluipoint a přesměrovat chyby na virtuálních souborových systémech.

Obvykle jsou v /sbin, /usr/sbin, /usr/local/bin nebo ~ jako skrytý adresář.

Z manuálu:

NAME
       which - shows the full path of (Shell) commands.

SYNOPSIS
       which [options] [--] programname [...]

Úplná příručka: https://linux.die.net/man/1/which

70
n0pe

Pokud používáte distribuci založenou na RPM (CentOS, RHEL, SUSE, openSUSE), můžete použít rpm -ql

Příklad:

rpm -ql findutils
/bin/find
/usr/bin/find
/usr/bin/xargs
/usr/share/doc/packages/findutils
/usr/share/doc/packages/findutils/AUTHORS
/usr/share/doc/packages/findutils/COPYING
/usr/share/doc/packages/findutils/NEWS
/usr/share/doc/packages/findutils/README
/usr/share/doc/packages/findutils/THANKS
/usr/share/doc/packages/findutils/TODO
/usr/share/info/find.info.gz
/usr/share/man/man1/find.1.gz

Věci nejsou nainstalovány na místa ve světě Linux/UNIX, jako jsou ve světě Windows (a dokonce i v Macu). Jsou více distribuovány. Binární soubory jsou v /bin nebo /sbin, knihovny jsou v /lib, ikony/grafika/dokumenty jsou v/share, konfigurace je v /etc a programová data jsou v /var.

The /bin, /lib, /sbin obsahuje základní aplikace potřebné pro zavedení a /usr obsahuje všechny ostatní uživatelské a systémové aplikace.

14
djsumdog

Příkaz whereis vyhledá binární soubory, zdrojové soubory a soubory manuálních stránek pro příkaz a příkaz type řekne, co přesně Shell provede při spuštění určitého příkazu.

Snaž se whereis -l fluidplot ve vašem případě. Pokud vrátí pouze „fluidplot:“, ale žádnou cestu, znamená to, že software není nainstalován. Nezapomeňte, že to nezahrnuje soubory, které mohou být skryty v domovské složce pod ~/.local/share/ (v mém případě).

Nalezeno na Linux Screw

6
魔大农

Chcete-li k odpovědi na @ djsumdog přidat nějaký bod, pokud používáte distku založenou na DPKG, jako je Ubuntu, můžete použít

dpkg --status some_package

zkontrolovat, o co jde, a

dpkg --listfiles some_package

zkontrolovat, jaké soubory jsou/jsou relevantní pro tento balíček. Je to pro balíčky, které nemají binární běh, jako libnss3. A

dpkg --search some_file

najít balíček, který obsahuje tento soubor.

Například, dpkg --listfiles libnss3 dává mi:

/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libssl3.so
/usr/lib/i386-linux-gnu/nss
/usr/lib/i386-linux-gnu/nss/libsoftokn3.chk
/usr/lib/i386-linux-gnu/nss/libnssckbi.so
/usr/lib/i386-linux-gnu/nss/libnsssysinit.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.so
/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.so
/usr/lib/i386-linux-gnu/libnssutil3.so
/usr/lib/i386-linux-gnu/libsmime3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/share
/usr/share/doc
/usr/share/doc/libnss3
/usr/share/doc/libnss3/copyright
/usr/share/doc/libnss3/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss3

Upozorňujeme, že složky nejsou vlastněny pouze těmito balíčky, ale také ostatními. Jen zkontrolujte soubory.

A naopak, dpkg --search libnss3.so dává mi:

firefox: /usr/lib/firefox/libnss3.so
Thunderbird: /usr/lib/Thunderbird/libnss3.so
libnss3:i386: /usr/lib/i386-linux-gnu/libnss3.so
libnss3-1d:i386: /usr/lib/i386-linux-gnu/libnss3.so.1d
5
WesternGun

Můžete zkusit spustit:

ps aux | grep "THE_NAME_OF_A_PROGRAM"

Existuje docela dobrá šance, že uvidíte cestu k programu (pokud běží)

0
user213527

Namísto použití which ( což pravděpodobně není správná volba, pokud nepoužíváte csh ), můžete použít command -v fluidplot dostat Shell k boune jako Shell, aby vám řekl, co by udělal, kdybyste ho požádali o spuštění příkazu (fluidplot v tomto příkladu).

Několik příkladů pro mě:

$ command -v ls
alias ls='ls --color=auto'
$ command -v cat
/bin/cat
$ test_func() {
> :
> }
$ command -v test_func
test_func
$ which test_func
/usr/bin/which: no test_func in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
$ if command -v noSuchFile; then echo "It exists"; else echo "does not exist"; fi
does not exist

takže jej můžete také použít k otestování, zda by byl příkaz dokonce nalezen a pokus o spuštění. Protože většina z nás používá skořápky typu Bourne (např. Bash nebo zsh), je často výhodnější než which

0
Eric Renouf