패키지의 전체 종속성 목록 나열

패키지의 전체 종속성 목록 나열

Ruby를 설치하는데 꼭 필요한 패키지를 나열하려고 합니다. 예를 들어, Archlinux에서는:

$ pacman -Si ruby
Repository      : extra
Name            : ruby
Version         : 2.7.1-3
Description     : An object-oriented language for quick and easy programming
Architecture    : x86_64
URL             : https://www.ruby-lang.org/en/
Licenses        : BSD  custom
Groups          : None
Provides        : None
Depends On      : gdbm  openssl  libffi  libyaml  gmp  zlib  rubygems  ruby-irb
Optional Deps   : ruby-docs: Ruby documentation
                  tk: for Ruby/TK
Conflicts With  : None
Replaces        : None
Download Size   : 3.30 MiB
Installed Size  : 13.34 MiB
Packager        : Anatol Pomozov <[email protected]>
Build Date      : Sat 22 Aug 2020 03:46:33 IST
Validated By    : MD5 Sum  SHA-256 Sum  Signature

즉, Depends On : gdbm openssl libffi libyaml gmp zlib rubygems우분투에서 내가 원하는 것입니다.

우분투에서는 다음과 같이 하려고 합니다.

$ apt-cache show ruby

출력은 다음과 같습니다

Package: ruby
Architecture: amd64
Version: 1:2.5.1
Multi-Arch: allowed
Priority: optional
Section: interpreters
Source: ruby-defaults
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Antonio Terceiro <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 37
Provides: irb, rdoc, rubygems
Depends: ruby2.5
Suggests: ri, ruby-dev
Conflicts: ruby-activesupport-2.3, ruby-activesupport-3.2
Breaks: apt-listbugs (<< 0.1.6), rbenv (<= 0.4.0-1), ruby-debian (<< 0.3.8+b3), ruby-switch (<= 0.1.0)
Replaces: irb, rdoc, rubygems
Filename: pool/main/r/ruby-defaults/ruby_2.5.1_amd64.deb
Size: 5712
MD5sum: 4fbbfcf2431190a889f2430ffd017110
SHA1: 2b56994915b61fe6009613e0b879d9de16699206
SHA256: b01fd79a656f1e36542d1dd1046713ffb2d5f29902e433d06884333fcb151488
Homepage: http://www.ruby-lang.org/
Description-en: Interpreter of object-oriented scripting language Ruby (default version)
 Ruby is the interpreted scripting language for quick and easy
 object-oriented programming.  It has many features to process text
 files and to do system management tasks (as in perl).  It is simple,
 straight-forward, and extensible.
 .
 This package is a dependency package, which depends on Debian's default Ruby
 version (currently v2.5).
Description-md5: 9b1885fba57cb2974ce14902f85d3e27
Task: kubuntu-desktop, kubuntu-full
Supported: 5y

다음과 같은 패키지는 나열되지 않습니다.openssl또는zlib의존성으로. 하지만 제거하려고 할 때openssl(이것은 위험하므로 방금 명령을 실행하고 N 키를 눌러 제거를 건너뛰었습니다.) 제거 목록에 Ruby도 나열됩니다. 즉, Ruby는 OpenSSL에 의존합니다.

나는 또한 다음과 같은 답변을 따랐습니다.이것, Ruby가 의존하는 패키지가 아닌 Ruby에 의존하는 패키지를 나열합니다.

왜 그것이 중요한지 묻는다면, 그 이유는 주로 Arch를 위한 성능을 위해 다양한 optflags(CFLAGS)를 사용하여 Ruby를 컴파일하는 방법에 대한 가이드를 작성하고 있기 때문입니다. 그런 다음 Ubuntu도 추가하고 싶었지만 Ruby를 빌드하는 데 필요한 전체 종속성 목록을 얻지 못했습니다. Ubuntu에는 다양하고 이상한 이름이 있기 때문에 아치 패키지를 나열할 수 없습니다. 등 base-devel으로 전화하는 것과 같습니다 .build-essential

그렇다면 패키지를 나열하는 방법은 무엇입니까?

답변1

apt-rdepends시조 패키지에서 사용 :

$ apt-rdepends ruby
ruby
  Depends: ruby2.7
ruby2.7
  Depends: libc6 (>= 2.4)
  Depends: libruby2.7 (>= 2.7.0~preview1)
  Depends: rubygems-integration (>= 1.8)
libc6
  Depends: libcrypt1
  Depends: libgcc-s1
libcrypt1
  Depends: libc6 (>= 2.25)
libgcc-s1
  Depends: gcc-10-base (= 10.2.0-6)
  Depends: libc6 (>= 2.14)
gcc-10-base
...
ca-certificates
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: openssl (>= 1.1.1)
openssl
  Depends: libc6 (>= 2.15)
  Depends: libssl3 (>= 3.0.0~~alpha1)
libssl3
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: libc6 (>= 2.25)

당신이 관심을 가지고 있기 때문에건물패키지의 경우 -b패키지의 빌드 종속성을 반복적으로 나열하는 옵션이 필요할 수 있습니다.

관련 정보