Linux altında bir yazılımın kurulum yolu nasıl bulunur?


Yanıtlar:


62

Kullanabilirsiniz:

which fluidpoint

nereden çalıştığını görmek için ($ PATH'nizdeyse). Veya:

find / -name fluidpoint 2> /dev/null

fluipoint adlı bir dosyayı aramak ve sanal dosya sistemlerindeki hataları yönlendirmek için.

Genellikle içindedir /sbin, /usr/sbin, /usr/local/binveya ~gizli bir dizin olarak.

Kılavuzdan:

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

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

Tam el kitabı: https://linux.die.net/man/1/which


4
veya programın gerçekten bir takma ad olup olmadığını kontrol edin, örneğin alias fluidpoint,
Chad Feller

2
@Chad Bazı sürümleri which(örneğin, ZSH'ye yerleşik olan) sizin için yapacak
Michael Mrozek

@ Michael bilmek mükemmel. Yorumunuz nedeniyle, bash'ın yeni sürümlerinin de bunu yaptığını keşfettim. Yorumunuza +1 ekleyin.
Chad Feller

"Genellikle onlar ..." satırı oldukça titiz, ek yazılım içinde /opt/*veya olmalı /usr/local/bin. ~Giriş dizininiz, neden "gizli" dediğinize şaşırdım.
Steve-o,

Belirsiz olduğum için üzgünüm ~/.dir. Gizli dizin, ana dizinin altındadır. Ve tamamen /usr/local/bindop'u unuttum .
n0pe

13

RPM tabanlı bir dağıtım kullanıyorsanız (CentOS, RHEL, SUSE, openSUSE) rpm -ql kullanabilirsiniz.

Örnek:

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

İşler, Linux / UNIX dünyasındaki konumlara Windows (ve hatta bir miktar Mac) dünyasında olduğu gibi yüklenmedi. Daha dağılmışlar. İkili dosyalar var /binveya /sbinkütüphaneler var /lib, simgeler / grafikler / dokümanlar var / paylaşımda, konfigürasyonda /etcve program verisi var /var.

/bin, /lib, /sbinÖnyükleme için gerekli temel uygulamaları içerir ve /usrtüm diğer kullanıcı ve sistem uygulamaları içerir.


5

whereisKomutu bir komut için ikili, kaynak ve manuel sayfalık dosyaları bulur ve typekomut belirli bir komutu çalıştırdığınızda tam kabuk çalıştırır neyi anlatır. Senin durumunda
dene whereis -l fluidplot.

Yalnızca "fluidplot:" değerini döndürür, ancak yol yoksa, yazılımın yüklenmediği anlamına gelir.

Bunun, ~/.local/share/(benim durumumda) altındaki giriş klasörü içinde gizlenebilecek dosyaları içermediğine dikkat edin .

Linux Vida üzerinde bulundu


Re: "Bu ... içermez", bu olup olmadığı açık değil bu belirtmektedir yazın , whereis veya her ikisi.
agc

4

Sadece @ djsumdog'un cevabına bir nokta eklemek için, DPKG tabanlı bir dağıtım kullanıyorsanız, Ubuntu gibi kullanabilirsiniz.

dpkg --status some_package

ne hakkında olduğunu kontrol etmek ve

dpkg --listfiles some_package

Hangi paketlerin bu pakete dahil olduğunu / ilgili olduğunu kontrol etmek için. Çalıştırılacak ikili dosyası olmayan paketler için libnss3. Ve

dpkg --search some_file

hangi dosyanın bu dosyayı içerdiğini bulmak için.

Örneğin, dpkg --listfiles libnss3bana verir:

/.
/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

Klasörlerin yalnızca bu paketlere ait olmadığını, diğerlerinin de ait olduğunu unutmayın. Sadece dosyaları kontrol et.

Ve tersine, dpkg --search libnss3.sobana verir:

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

0

Bunun yerine kullanmanın which( muhtemelen csh kullanmadığınız sürece doğru seçim olmadığı kullanabileceğiniz) command -v fluidplotEğer (komutu çalıştırmak için bunu sordum o ne yapacağını söylemek kabuğu gibi boune için kabuk almak için fluidplotbu örnekte) .

Benim için bazı örnekler:

$ 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

böylece bir komutun bulunup çalıştırılmaya çalışılıp çalışılmadığını test etmek için de kullanabilirsiniz. Çoğumuz Bourne benzeri kabukları kullandığımızdan (örneğin, bash veya zsh) bu genellikle tercih edilir.which

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.