niquelnausea
(usa Arch Linux)
Enviado em 28/03/2019 - 15:28h
JoaoDamasceno escreveu:
Boa tarde senhores. Se possível, me tirem essa dúvida:
Acabei de instalar um programa para captura de telas chamado Green Recorder, ainda não testei para saber se de fato é bom etc. Pois bem, ocorre que após instalar o programa, se sequência de passos indicados pelo pessoal do SempreUpdate, veio o seguinte passo: Agora, de acordo com os comandos da sua distribuição, certifique-se que as seguintes dependências estejam devidamente instaladas: gir1.2-appindicator3, gawk, python-gobject, python-urllib3, x11-utils, ffmpeg, pydbus
Pois é isso... como faço para verificar essas dependências no Arch? qual a sintaxe no terminal? Como faço para me antecipar e evitar que um procedimento tipo: pacman -S gir1.2-appindicator3, gawk, python-gobject, python-urllib3, x11-utils, ffmpeg, pydbus não vá é quebrar minha distro?
o pacman é um gerenciador de pacotes (instala remove e atualiza) do tipo que também gerencia dependências, durante a construção dos pacotes são incluídas informações sobre dependências obrigatórias e opcionais, então com estas informações e algumas configurações que podem ser feitas manualmente, o gerenciador de pacote decide o que é obrigatório, e o que pode ser instalado caso você queira, que são as dependências opcionais (considere como dependências sugeridas), estas podem incluir recursos adicionais mas que não são obrigatórias para o funcionamento do aplicativo principal. algo que também é importante saber, é que existem marcações que ficam registradas no sistema pós instalação de qualquer pacote, uma das mais uteis são os pacotes instalados explicitamente e os implicitamente. um exemplo simples, ao pedir a instalação do vlc, o pacote vlc é o principal e explicito, as dependências obrigatórias são os implícitos, e caso instale as opcionais manualmente com "pacman -S", estara instalando as mesmas de forma explicita, transformando estas em "pacotes principais" da mesma forma que o vlc.
exemplos:
- dependências
obrigatórias do pacote vlc "a52dec libdvbpsi libxpm libdca libproxy lua libidn libmatroska taglib libmpcdec ffmpeg faad2 libupnp libmad libmpeg2 xcb-util-keysyms libtar libxinerama libsecret libarchive qt5-base qt5-x11extras qt5-svg freetype2 fribidi harfbuzz fontconfig libxml2 gnutls libplacebo wayland-protocols aribb24";
- dependências
opcionais para o pacote vlc: "avahi aom gst-plugins-base-libs dav1d libdvdcss libavc1394 libdc1394 kwallet libva-vdpau-driver libva-intel-driver libbluray flac twolame libgme vcdimager libmtp systemd-libs smbclient libcdio ttf-freefont ttf-dejavu libssh2 libnfs mpg123 protobuf libmicrodns lua-socket live-media libdvdread libdvdnav libogg libshout libmodplug libvpx libvorbis speex opus libtheora libpng libjpeg-turbo librsvg x264 x265 zvbi libass libkate libtiger sdl_image srt aalib libcaca libpulse alsa-lib jack libsamplerate libsoxr chromaprint lirc libgoom2 projectm ncurses libnotify gtk3"
- existem as dependências para construção de pacotes (compilação) que podem ou nào também ser dependência de uso. normalmente é usado apenas para pacotes do aur;
- as obrigatórias serão instaladas obrigatoriamente para o vlc funcionar e as opcionais você decide se quer estes recursos ou não. apenas lembrando que este cenário é o do arch, qualquer outra distro pode ser diferente, além de que o pacman "aceita" instalação parcial de dependência (risco por parte do usuário) e marcaçào de pacotes como explícitos ou implícitos através de flags.
no exemplo citado por você, o que era dependência obrigatória foi instalado, já as opcionais você pode instalar manualmente sem problema nenhum de serem instaladas após a instalação do pacote principal. algo que também deve se prestar atenção, é que a nomenclatura destes pacotes "gir1.2-appindicator3 gawk python-gobject python-urllib3 x11-utils ffmpeg pydbus" podem apresentar nomes diferentes em diferentes distros, logo, se forem obrigatórias para o funcionamento do "green recorder" com certeza já foram instaladas pelo gerenciador de pacotes, se não são obrigatórias e você tem interesse nelas, é preciso ver a equivalência entre estes pacotes (que provavelmente são .deb) para a estrutura do arch, e dai vem a recomendação de se usar apenas pacotes construídos através de pkgbuilds.
de uma olhada no "pacman -Q --help" e veja melhor sobre.
edit: apenas como complemento, o apt costuma ter maiores problemas com dependências do que o arch, a maioria dos problemas do tipo "quebra de pacote" acontece quando existem informações conflitantes entre dependências, e ao adicionar e principalmente remover pacotes com suas dependências, ao ser removido o pacote1 que foi instalado explicitamente, o apt remove as dependências implícitas (pacotes 2 3 4 5 6), mas outro pacote10 qualquer também tinha como dependência obrigatória alguma das dependências que foram removidas com o pacote1, ocorrendo a famosa "quebra". este efeito acontece com qualquer distro que use o debian como base, acredito que seja devido a enorme fragmentação de arquivos e vários pacotes, e esse numero elevado dificulta na administração e inclusão destas informações nos pacotes, outro que sofre bastante com isso é o zypper do opensuse.