Para atualizar ou instalar programas, digite apt-get como root, e utilizando o nome do programa, assim:
sudo apt-get install nomedoprograma
PS: Caso não queira que peça confirmação para instalação, use o parâmetro -y.
Lembrando que o comando sudo dá uma permissão temporária de root para tarefas que exijam o superusuário. Caso você esteja usando o Debian e não encontre o sudo, basta instalar e habilitar ele com esses comandos (como root):
apt-get update
apt-get install sudo
adduser nomedeusuario sudo
shutdown -r now
Para desinstalar, o mesmo processo, substituindo install por remove (o parâmetro purge remove as dependências):
sudo apt-get --purge remove nomedoprograma
PS: Podemos remover programas instalados por deb dessa forma também.
Podemos ver o cache dele para vermos o nome exato do programa pra baixar, por exemplo:
sudo apt-cache search nomedoprograma
Para vermos os dados sobre o programa, fazemos assim:
sudo apt-cache show nomedoprograma
Para vermos as dependências de um programa, fazemos assim:
sudo apt-cache depends nomedoprograma
Lembrando que atualmente, as opções apt-get e apt-cache podem ser resumidas somente para apt, como apt install nomedoprograma.
PS: Para podermos instalar arquivos, comente em /etc/apt/sources.list a parte /media/cd-rom para não pedir disco de instalador.
Para adicionar um usuário como sudo, edite o arquivo em /etc/sudoers, e coloque esse trecho de código:
nomedousuario ALL=(ALL:ALL) ALL
Se for instalar programas baixados em arquivos tar:
cd ~/Downloads
# Isso descompactará o pacote tar:
tar -zxvf nomedopacote.tar.gz
sudo mv nomedodiretoriodoprograma /opt/
# Isso é pra criar um link para acessarmos diretamente o programa pelo terminal:
sudo ln -s /opt/nomedodiretoriodoprograma/nomedoprograma /usr/bin/nomedoprograma
rm nomedopacote.tar.gz
O comando ln -s cria um link para a pasta /usr/bin, de forma que possamos abrir ele usando o terminal apenas digitando o nome do programa.
Esse processo pode ser usado para instalar programas (caso já estejam compilados) na pasta /opt, por exemplo, onde ele ficará acessível a todos os usuários.
PS: Se conter um arquivo install ou readme, olhe ele para ver se a forma de instalar pode ter alguma diferença, como dependências ou comandos específicos. A documentação do desenvolvedor no site oficial também pode ter informações do tipo.
Só lembrando de que o tar é apenas um arquivador, as extensões xz, bz2, gz e etc., são as compactações usadas nos arquivos, que se tiverem em c, cpp e h, e tiverem um makefile, eles não foram compilados (são apenas códigos-fontes). Quanto tiverem arquivos so, sh e executáveis (sem extensões, geralmente), ele já está compilado. Sempre olhe dentro da pasta descompactada para ver os tipos de arquivos dentro dela.
Caso o pacote tar venha com os códigos-fonte pra compilar, use esses comandos para compilar o programa (pode demorar um pouco), após mover ele pro diretório definitivo (como o /opt):
# Os processos do configure e make são apenas para programas não compilados:
./configure
make
make clean
sudo make install
Nesses casos podemos ignorar os comandos de mover pra /opt e criar link, pois estes costumam ser incluídos já no makefile do programa.
Alguns pacotes não tem o configure (apesar de que pode estar com o nome do programa, nesse caso use o comando com o nome), só pular pro make, se já estiver compilado e tiver um makefile, vá pro make install. O tar é um arquivador e a extensão (tipo gz, xz ou bz2) é o compactador, então teoricamente pode ter qualquer tipo de arquivo dentro dele, como códigos-fontes pra compilar, programas prontos, ou outros tipos de arquivos como pacotes deb e scripts sh.
Alguns arquivos tar já vem com os programas compilados, nesses não é necessário usar o configure, apenas o make ou pode até usar diretamente, mas pode ser necessário dar o chmod pra execução. Caso o configure não rode, use o comando ./configure --prefix=/usr/local --with-slang=/goodies/lib. Podemos usar o ./configure --disable-pacote para desabilitar algum pacote não instalado. Pode ser necessário usar cmake no lugar de make.
PS: Ao usar o configure, pode ter algum pacote não instalado no sistema, nesse caso de um apt-get no pacote e depois tente rodar o configure, tente também um sudo apt-get -f install.
Para deinstalar é só ir no diretório onde ele se localiza e dar make uninstall.
PS: Para compilar corretamente é necessário ter instalado o build-essential, usando um sudo apt-get install build-essential, que contém as ferramentas necessárias, incluindo o gcc e g++. Também é necessário instalar o zlib, com sudo apt-get install zlib, sudo apt-get install zlib-devel, ou já faça tudo com sudo apt-get install build-essential libglib2.0-dev libgtk2.0-dev libxml2-dev openbsd-inetd ckermit libgtk-3-dev checkinstall.
Lembrando que cara tipo de arquivo tem seu comando específico para descompactar, como podem ver:
tar -xvf nomedoarquivo.tar.xz - Descompacta tar.xztar -zxvf nomedoarquivo.tar.gz - Descompacta tar.gz e tgztar -jxvf nomedoarquivo.tar.bz2 - Descompacta tar.bz2No Ubuntu podemos criar atalhos dessa forma:
cd ~/Desktop
touch nomedolancador.desktop
chmod +x nomedolancador.desktop
E editar o lançador criado, com esse código aqui, substituindo pelas partes desejadas:
[Desktop Entry]
Name=NomeDoPrograma
Type=Application
Exec=/usr/bin/nomedoprograma
Icon=/usr/share/icons/gnome/48x48/caminhodaimagem.png
Caso queira um atalho com acesso root, faça ele assim:
[Desktop Entry]
Name=NomeDoPrograma
Type=Application
TryExec=su-to-root
Exec=su-to-root -X -c /usr/bin/nomedoprograma
Icon=/usr/share/icons/gnome/48x48/caminhodaimagem.png
Um lançador para diretórios também pode ser feito, da seguinte forma:
[Desktop Entry]
Name=NomeDoDiretorio
Type=Link
URL=file:///usr/bin/
Icon=folder
PS: Se colocarmos o atalho na pasta padrão (que é /usr/local/share/applications), ele aparecerá na lista de aplicativos normalmente.
Caso queira criar um atalho para uma programa instalado pelo repositório, veja as pastas que os executáveis e as imagens estão digitando whereis nomedoaplicativo (geralmente é em /usr/bin e /usr/lib, respectivamente. Também podemos colocar um ícone padrão do sistema, como o "folder" no código acima, que pode ser o nome do aplicativo, por exemplo.
As principais distros são baseadas na Debian, como o Ubuntu, Kali, Parrot e Mint. Esses sistemas usam os instaladores deb e o dpkg para os instalar.
Se for um arquivo deb, apenas digite sudo dpkg -i nomedopacote.deb ou clique com o botão direito no arquivo e selecione a opção instalar pacote. Pode ser necessário baixar algumas dependências antes. O mesmo serve pra atualizar um pacote já instalado.
Se formos instalar um arquivo rpm em sistemas baseados em Debian, instale o alien e digite sudo alien nomedopacote.rpm e depois sudo dpkg -i nomedopacote.deb.
Ao instalar deb, ele já instalará os arquivos nas pastas específicas, assim como o apt pelo repositório. É parecido com os apk do Android.
Para remover um arquivo deb, digite sudo dpkg -r nomedoaplicativo, ou use o apt para isso.
Para listar os pacotes deb instalados, digite dpkg -l (podendo usar também dpkg -l | wc -l). Para listar um pacote específico, digite dpkg -l nomedopacote ou apt list nomedopacote.
Para reconfigurar o dpkg, digite sudo dpkg --configure -a.
Para instalar um arquivo sh, basta dar permissão de execução com sudo chmod +x nomedoscript.sh e rodar ele com sudo ./nomedoscript.sh. O processo com arquivos run, bin, appimage ou sem extensão (mas que seja executável ou script) é o mesmo. Pode ser necessário instalar dependências caso a instalação dê erro.
Um arquivo .AppImage pode ser executado diretamente sem instalar e sem dar permissões, no entanto, requer um pouco de cautela ao executar esses tipos de programas.
Algumas distros como o Ubuntu tem loja de aplicativos, onde podemos baixar diretamente vários programas, podemos procurar por exemplo, o BleachBit (limpador de sistema para Linux) e instalar sem dificuldades.
Para instalar e usar programas no formato Flatpak no Ubuntu, você precisa fazer uma configuração inicial e depois pode instalar apps facilmente. Primeiramente, instale o Flatpak pelo terminal:
sudo apt update
sudo apt install flatpak
Depois adicione o repositório FlatHub:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Reinicie, e pra instalar um programa, podemos usar algo assim:
flatpak install flathub nomedoaplicativo
Pra abrir um aplicativo:
flatpak run nomedoaplicativo
Pra atualizar todos os aplicativos Flatpak use flatpak update. E pra procurar um programa use flatpak search nomedoaplicativo.
PS: No Ubuntu podemos instalar a integração com a loja do mesmo, de forma gráfica, digitando no terminal sudo apt install gnome-software-plugin-flatpak.
Para adicionar um repositório, podemos fazer algo assim (esse exemplo é pro Java):
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java14-installer
Para remover é só digitar sudo add-apt-repository http://ppa.launchpad.net/linuxuprising/java/ubuntu --remove.
Para corrigir erros no download do Java, primeiramente pegue o link do download certo e seu checksum no site da Oracle: https://www.oracle.com/java/technologies/javase-downloads.html
Tente instalar o Java pelo repositório normalmente, depois edite o arquivo localizado em /var/lib/dpkg/info/ com o nome oracle-java14-installer.postinst (ou versão equivalente) como root, e altere essa linha para o checksum da versão especificada do Java:
SHA256SUM_TGZ="927cfcfff502c5e73db33bb6fee7f29f62bd0e831233fd78cd58a5b998bc73be"
E no mesmo arquivo, altere a versão e a versão menor aqui:
JAVA_VERSION=14.0.1
JAVA_VERSION_2nd_PART=
JAVA_VERSION_MINOR=7
E corrija o restante do link aqui (no caso, o hash do link):
PARTNER_URL="http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION}+${JAVA_VERSION_MINOR}/664493ef4a6946b186ff29eb326336a2/$FILENAME"
Caso não consiga atualizar por esse método, copie o conteúdo do pacote tar.gz na pasta java-14-oracle ou equivalente em /usr/lib/jvm. Ou jogue o tar.gz na pasta /var/cache/oracle-jdk14-installer-local ou equivalente.
Também é possível baixar arquivos de um servidor pro Linux com o comando wget, veja um exemplo pra baixar o otimizador Stacer, para instalação posterior:
wget https://github.com/oguzhaninan/Stacer/releases/download/v1.0.6/Stacer_1.0.6_i386.deb -O stacer.deb
PS: É possível baixar qualquer tipo de conteúdo dessa forma.
Para atualizar o sistema, usamos esses comandos:
sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -u dist-upgrade
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
Atualmente, podendo ser também só com apt, assim:
sudo apt install -f
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt clean
sudo apt autoclean
sudo apt autoremove
PS: O dist-upgrade pode ser substituído por full-upgrade.
O comando update apenas atualiza a lista de programas a atualizar, para atualizar os mesmos usamos os comandos upgrade e dist-upgrade.
Esteja atento as diferenças:
apt-get upgrade - Atualiza apenas o que tem uma nova versão.apt-get dist-upgrade - Atualiza o que tem uma nova versão e instala e remove pacotes de forma inteligente, atualiza também o kernel.do-release-upgrade - Executado após o dist-upgrade, para atualizar a versão do sistema.PS: Caso apareça algum erro tipo "não foi possível obter trava /var/lib/dpkg/lock", execute sudo rm /var/lib/dpkg/lock (coloque o caminho que aparecer no erro). Mas o recomendado é matar o processo, usando kill -9 1503 (o número do processo mostrado).
Para listar os pacotes já instalados, use o comando sudo apt list --installed ou dpkg -l. Para listar os pacotes digite apt list e para lista os pacotes a atualizar, digite apt list --upgradable.
Se tiver problemas com atualizações de repositórios, digite sudo rm -r /var/lib/apt/lists/* -vf.
Ao dar erro em busca de arquivos, tente dar um update ou digite sudo apt-get upgrade --fix-missing (podendo fazer também com dist-upgrade).
Se algum pacote não atualizar com upgrade nem dist-upgrade, apenas dê um sudo apt install nomedopacote para forçar a atualização.
Se aparecer problemas com dependências de arquivos ao instalar, execute esses comandos:
sudo apt-get clean
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -f
sudo apt --fix-broken install
sudo rm /var/cache/debconf/*.dat
Em algumas situações, principalmente ao instalar arquivos DEB, as dependências já são corrigidas com o sudo apt-get install -f. Dependendo do caso, pode ser necessário rodar sudo dpkg --reconfigure -a, podendo também ser especificado um pacote específico (o mesmo vale para o configure).
PS: O apt-get clean também é usado para limpar arquivos de instalação já usados, pode ser usado apt-get autoclean também, ou autoremove para remover pacotes não usados.
Para limpar a RAM do Linux, use esses comandos na ordem:
sudo sync
sudo sysctl vm.drop_caches=3
sudo sh -c 'echo 3>/proc/sys/vm/drop_caches'
As dicas dessa página foram em sua maioria, usadas em distros baseadas em Debian (como Ubuntu, Mint, Kali, Parrot), mas a maioria consegue também ser aplicada em distros baseadas em Red Hat (como Fedora, CentOS, OpenSUSE, Oracle Linux), no entanto, essas últimas não utilizam o apt-get e nem o dpkg, e sim o yum e o rpm.
Para atualizar distros baseadas em Red Hat, digite esses comandos:
yum check-update # Checa o que tem pra atualizar
yum upgrade # Atualiza os programas
yum upgrade system-upgrade # Atualiza os programas e o sistema
yum clean packages # Limpa os pacotes em cache
yum clean all # Limpa os pacotes já baixados
yum autoremove # Remove pacotes não usados
Para instalar um pacote específico digite yum install nomedopacote, para remover digite yum remove nomedopacote, e para procurar um pacote, yum search nomedopacote. Para listar os pacotes, digite yum list e se for listar um determinado pacote, use o comando yum list nomedopacote. Para listar pacotes a atualizar use yum list --updates e para listar os pacotes já instalados, digite yum list --installed.
Para instalar um pacote rpm baixado, use o comando rpm -i nomedopacote.rpm (pode ser necessário instalar dependências antes), para atualizar um pacote use o comando rpm -U nomedopacote.rpm e para remover um pacote digite rpm -e nomedopacote (sem a extensão mesmo).
Para listar os pacotes já instalados, use o comando rpm -qa.
Em distros baseadas em Red Hat, também podemos usar o programa Alien para converter deb para rpm, digitando o comando alien --to-rpm nomedopacote.deb como root, e depois pra instalar use normalmente rpm -i nomedopacote.rpm.
Hoje temos como opção também o gerenciador de pacotes dnf, cujos comandos básicos são esses:
dnf check-update # Verifica atualizações
dnf upgrade # Atualiza os programas
dnf system-upgrade # Atualiza o sistema
dnf clean packages # Limpa os pacotes em cache
dnf clean all # Limpa os pacotes já baixados
dnf autoremove # Remove pacotes não usados
dnf install nomedopacote # Instala um pacote
dnf remove nomedopacote # Remove um pacote
dnf search nomedopacote # Procura um pacote
dnf list # Lista os pacotes disponíveis
dnf info nomedopacote # Mostra informações sobre um pacote
dnf check-update # Também lista os pacotes a atualizar
dnf list installed # Lista os pacotes instalados
PS: Todos os comandos devem ser executados como root.
Esses são os diretórios mais importantes do Linux e sistemas baseados em Unix:
PS: Os diretórios são reconhecidos como arquivos no Linux.
O Android (que também usa Kernel Linux) também possuí a maioria desses diretórios (exceto /boot, /cdrom, /home, /mnt, /opt, /run, /srv, /usr e /var) não acessíveis em sistemas sem root, e tem outras pastas como a /cache (armazenamento de dados pra execução), /data (dados), /init (inicialização), /sdcard (cartão SD), /storage (área de armazenamento) e /system (sistema).
PS: A pasta /opt: Pode ser usado para instalar arquivos de downloads.
Para mover entre pastas usamos cd (igual no DOS), para exibir conteúdo do diretório ls.
O arquivo ~/.bashrc é onde está o path do usuário, onde podemos adicionar variáveis de ambiente colocando export PATH=$PATH:/caminhododiretorios/, e em /etc/bash.bashrc podemos colocar outras variáveis de ambiente, na sintaxe NOMEDAVARIAVEL=conteudo. Podemos também colocar outros diretórios no path de forma global no arquivo /etc/environment, separado por dois pontos (como :/caminhododiretorio).
PS: Evite colocar caminhos com espaços.