Como sabemos quais aplicativos estão instalados no Linux?

1

Estou tentando entender o seguinte no Linux. No windows, temos os serviços que são executados ou "iniciados". Quando instalamos um aplicativo, ele pode ser instalado como um serviço para que seja iniciado automaticamente.

Mas se um aplicativo não estiver instalado como um serviço, geralmente podemos visualizá-lo na seção Iniciar - > menu Programas . Portanto, sabemos quais aplicativos estão instalados.

No Linux, qual é o equivalente? Eu entendo que os serviços equivalentes estão em /etc/init onde os serviços iniciam / param. Mas suponho que, se eu instalar um pacote, ele não necessariamente criará um script de inicialização em /etc/init , certo?

Então como é que se sabe o que foi instalado e está disponível no Linux (como podemos no Windows a partir de Iniciar - > Programas )?

Observação: estou perguntando sobre o modo CLI. Eu acho que em uma versão desktop você pode ver os ícones relevantes nos vários menus (por exemplo, no Kubuntu de Aplicativo - Internet - > Firefox ).

    
por Jim 05.02.2014 / 00:04

4 respostas

5

Muitas perguntas. Vamos pegar um casal e ver se não podemos esclarecer as coisas.

Q1

I understand that the equivalent services are in /etc/init where the services start/stop. But I assume that if I install a package it does not necessarily create a startup script in /etc/init right?

Não quando você instala aplicativos em distribuições Linux (que fazem uso de gerenciadores de pacotes como dpkg / APT, RPM / YUM, pacman etc.), como parte do software que está sendo instalado, o gerenciador de pacotes possui um recurso de script. "semelhante a aqueles encontrados no Windows que podem adicionar scripts, criar scripts, adicionar usuários ao sistema e inicie os serviços depois de instalados.

Q2

So how does one know what has been installed and is available in Linux (like we can in Windows from Start -> Programs)?

Fácil. Os mesmos gerenciadores de pacotes que mencionei acima possuem comandos que você pode usar para consultar o sistema para descobrir quais aplicativos foram instalados, quais arquivos estão relacionados a esses pacotes, etc. etc.

Exemplo

Em distros baseadas no Red Hat você pode usar o comando rpm para descobrir informações sobre os pacotes instalados.

$ rpm -aq | head -5
libgssglue-0.4-2.fc19.x86_64
pygame-1.9.1-13.fc19.x86_64
perl-HTML-Parser-3.71-1.fc19.x86_64
ibus-libs-1.5.4-2.fc19.x86_64
libnl-1.1-17.fc19.x86_64

Para descobrir quais arquivos fazem parte de um pacote:

$ rpm -ql pygame | head -5
/usr/lib64/python2.7/site-packages/pygame
/usr/lib64/python2.7/site-packages/pygame-1.9.1release-py2.7.egg-info
/usr/lib64/python2.7/site-packages/pygame/LGPL
/usr/lib64/python2.7/site-packages/pygame/__init__.py
/usr/lib64/python2.7/site-packages/pygame/__init__.pyc

Como pode me mostrar apenas os arquivos executáveis que estão incluídos no pacote (os aplicativos)? Na maioria das vezes, os executáveis são instalados em determinados locais no Linux, /usr/bin ou /bin são dois desses diretórios. Eu costumo procurar os pacotes RPM assim para estes:

$ rpm -ql pygtk2 | grep "/bin"
/usr/bin/pygtk-demo

$ rpm -ql httpd | grep -E "bin/|sbin/" | head -10
/usr/sbin/apachectl
/usr/sbin/fcgistarter
/usr/sbin/htcacheclean
/usr/sbin/httpd
/usr/sbin/rotatelogs
/usr/sbin/suexec
    
por 05.02.2014 / 00:46
2

Se você olhar em / var / log, deverá haver um log do gerenciador de pacotes. Por exemplo, o arch linux tem um arquivo de log para o pacman e todos os programas instalados, removidos e atualizados são listados com um registro de data e hora. Este log é um arquivo de texto.

Os programas específicos em sistemas operacionais baseados em unix são salvos em / bin, / sbin, / usr / bin e / usr / sbin; no entanto, eles podem ser salvos em vários locais.

Veja este tópico para alguns outros locais onde os programas são salvos em um sistema de arquivos unix. link

    
por 05.02.2014 / 00:16
1

Eu não acho que haja qualquer equivalente de CLI para a GUI para descobrir programas do jeito que eles pulam em você. É mais exploratório . Quando eu entro em um novo sistema Linux, eu olho no diretório /opt para encontrar o que todos os pacotes opcionais estão instalados, além dos utilitários padrão. Se estou procurando por um utilitário específico, uso apropos , locate , which e / ou whereis .

Se os administradores já instalaram determinados utilitários, então eu os esperaria no meu env e no caminho do sistema, então eu os examino. Além disso, também analiso aliases de todo o sistema, se houver.

Alguns sistemas de grande escala possuem módulos e / ou softenv instalados. Nesses casos, eu examino module avail ou softenv . Em sistemas com gerenciadores de pacotes como apt ou yum, você pode usá-los para listar pacotes instalados: yum list installed e com rpm : rpm -q myfavtool .

    
por 05.02.2014 / 00:19
0

Você pode executar

cat /var/log/dpkg.log | grep -i <search_text> para ver se o nome do seu pacote desejado <search_text> já está instalado.

Funciona para mim no Ubuntu.

Atenciosamente,

    
por 05.06.2018 / 11:18