
Estou tentando listar os pacotes essenciais para instalar o Ruby. Por exemplo, no 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
Em outras palavras, Depends On : gdbm openssl libffi libyaml gmp zlib rubygems
é o que eu quero no Ubuntu.
No Ubuntu, estou tentando fazer isso:
$ apt-cache show ruby
A saída é:
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
Ele não lista pacotes comoabresslouzlibcomo dependência. Mas quando tento purgarabressl(isso é perigoso, e acabei de executar o comando e pressionei a tecla N para pular a remoção), ele também lista Ruby na lista de remoção. Isso significa que Ruby depende do OpenSSL.
Eu também segui respostas comoesse, que lista os pacotes que dependem do Ruby, não os pacotes dos quais o Ruby depende.
Se você perguntar por que isso é importante, a razão é que estou escrevendo um guia sobre como compilar Ruby com vários optflags (CFLAGS) para desempenho, principalmente para Arch. Então quis adicionar o Ubuntu também e não obtive uma lista completa de dependências necessárias para construir Ruby. Não consigo listar os pacotes arch, porque o Ubuntu tem alguns nomes diferentes e estranhos. Como chamar base-devel
como build-essential
, etc.
Então, qual é a maneira de listar os pacotes?
Responder1
Use apt-rdepends
do pacote de mesmo nome:
$ 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)
Já que você está interessado emprédioo pacote, você pode precisar da -b
opção que listará recursivamente as dependências de construção do pacote.