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