LINUX.ORG.RU

Как менеджеру пакетов пройти по цепочке линков?

 , , ,


1

1

Понадобилось узнать, какой пакет поставил Джаву.

$ dpkg -S `which java`
dpkg-query: no path found matching pattern /usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Mar 20 02:17 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Mar 20 02:17 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
$ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-rwxr-xr-x 1 root root 6464 Mar 14 15:58 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
$ dpkg -S /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
openjdk-8-jre-headless:amd64: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

Существует ли более простой способ установить пакет, если в /usr/bin/ — симлинк на симлинк?

Заранее спасибо.

Ответ:

readlink -f "$(which java)"
пройдёт по цепочке линков, а
update-alternatives --list java
сразу покажет пакет.


$ apt rdepends openjdk-8-jre-headless
openjdk-8-jre-headless
Reverse Depends:
  Replaces: openjdk-8-jre (<< 8u20~b20-3)
  Depends: uwsgi-plugin-servlet-openjdk-8
  Depends: uwsgi-plugin-ring-openjdk-8
  Depends: uwsgi-plugin-jwsgi-openjdk-8
  Depends: uwsgi-plugin-jvm-openjdk-8
  Depends: openjdk-8-jre-dcevm
  Depends: openjdk-8-jre-zero (= 8u171-b11-1)
  Depends: openjdk-8-dbg (= 8u171-b11-1)
  Depends: openjdk-8-jre (= 8u171-b11-1)
  Depends: openjdk-8-jdk-headless (= 8u171-b11-1)
 |Depends: ca-certificates-java
  Depends: libbluray-bdj
  Depends: leiningen
 |Depends: i2p-router
  Enhances: libhsdis0-fcml
imb ()