Wiem, że istnieje which
polecenie, które odzwierciedla pełną nazwę pliku binarnego (np which sh
.). Jestem jednak całkiem pewien, że istnieje polecenie, które powtarza pakiet, który udostępnia określony plik binarny. Czy istnieje takie polecenie? Jeśli tak, co to jest? Chciałbym móc uruchomić to:
commandName ls
i dostać
coreutils
na przykład.
dpkg -S `which COMMANDHERE`
pracował dla mnie.dpkg -S
znajduje nazwę nazwy pakietu binarnego, która może różnić się od nazwy pakietu źródłowego (kodu).-S
jest to krótka forma--search
opcji, która jest właściwie opcją dladpkg-query
polecenia (ale zwykładpkg
też działa)Jeśli chcesz znaleźć pliki w pakiecie, który nie został jeszcze zainstalowany, użyj apt-file
Następnie, aby znaleźć coś:
lub
Gdzie „plik” to nazwa tego, czego szukasz.
Jeśli nie masz ochoty przechodzić przez to na każdym systemie Debian, możesz użyć tego skryptu:
Właśnie wtedy to podkręciłem, ale wydaje się, że działa dobrze.
Uwaga: „dpkg -S” znajduje tylko rzeczy, które już zainstalowałeś.
źródło
-y
parametru jest niebezpieczne, może powiedzieć „tak” dowolnej liczbie rzeczy. W skrypcie może to być w porządku, ale pierwsze polecenie powinno naprawdę czytaćapt-get install apt-file
bez,-y
ponieważ nie możesz wiedzieć, jak wygląda system użytkownika.