Todo iniciante Debian deve conhecer essas 13 dicas do Fernando Debian para se dar bem com a distro Debian
13 dicas de ouro para Debian
Essas 13 dicas são o basico para qualquer usuário Linux que deseja se aventurar na distribuição de pacotes Debian GNU/Linux.
Debian é diferente das demais distribuições e muito diferente do uso que você aprendeu a dar as distros ( refisefuquis da distrowatch ).
1º- O que é o Debian, Vídeo iniciante:
2º- Razões para Utilizar o Debian
O Debian é software livre
O Debian é feito de software livre e de código aberto, e sempre será 100% livre. Livre para qualquer pessoa usar, modificar e distribuir. Esta é nossa principal promessa para nossos(as) usuários(as). Ele também é livre de custo.
O Debian é estável e seguro
O Debian é um sistema operacional baseado no Linux para uma ampla variedade de dispositivos, incluindo laptops, desktops e servidores. Fornecemos uma configuração padrão razoável para cada pacote, bem como atualizações de segurança regulares durante a vida útil dos pacotes.
O Debian tem um vasto suporte a hardware
A maior parte do hardware é suportado pelo kernel Linux, o que significa que o Debian também irá suportá-lo. Se necessário, drivers proprietários para hardware estão disponíveis.
O Debian fornece um instalador flexível
Nosso Live CD é útil para todas as pessoas que desejam experimentar o Debian antes de instalá-lo. Ele também inclui o instalador Calamares que torna fácil instalar o Debian a partir do sistema live. Usuários(as) mais experientes podem usar o instalador Debian com mais opções de ajuste fino, incluindo a possibilidade de usar uma ferramenta de instalação de rede automatizada.
O Debian fornece atualizações suaves
É fácil manter nosso sistema operacional atualizado, se você deseja atualizar para uma versão completamente nova ou apenas atualizar um único pacote.
O Debian é a base para muitas outras distribuições
Muitas distribuições Linux populares, como Ubuntu, Knoppix, PureOS ou Tails, são baseadas no Debian. Fornececemos todas as ferramentas para que qualquer pessoa possa estender os pacotes de software a partir do repositório Debian, com seus próprios pacotes se necessário.
O projeto Debian é uma comunidade
Qualquer pessoa pode fazer parte da nossa comunidade; você não precisa ser um(a) desenvolvedor(a) ou um(a) administrador(a) de sistema. O Debian tem uma estrutura de governança democrática. Como todos(as) os(as) membros(as) do projeto Debian possuem direitos iguais, o Debian não pode ser controlado por uma única empresa. Nossos(as) desenvolvedores(as) estão em mais de 60 países, e o Debian é traduzido para mais de 80 idiomas.
Olá galera! Lhes trago um tutorial sobre sources.lits, a grande maioria das pessoas, pegam os repositórios de sites, com uma “googlada” e jogam no arquivo sources.list, isso é um péssimo hábito. Pensando nisso resolvi fazer um tutorial completo com todos os espelhos do Brasil e suas seções, para fins de configuração e agilidade no downloads de pacotes, baseado no melhor repositórios para sua localização.
Bom eu vou começar com o básico, afinal tem inciantes com dúvidas.
Seções do repositório.
MAIN
Contém todos os pacotes que estão completamente de acordo com o Debian Free Software Guilines.
CONTRIB
É um conjunto de programas de código aberto que não podem funcionar sem um elemento não livre.
NON-FREE
Contém programas os quais não estão (completamente) de acordo com estes princípios do Software Livre, mas que podem, contudo, ser distribuídos sem restrições. Estes pacotes, o qual não é parte oficial do Debian, é um serviço para os usuários que podem precisar de alguns desses programas, entretanto o Debian sempre recomenda dar prioridade aos programas livres.
UPDATES
Esse repositório recebe as atualizações de pacotes, com correções e melhorias.
BACKPORTS
O repositório backports oferece “pacotes backports”. O termo refere-se a um pacote de algum software recente, que foi recompilado para uma distribuição mais velha, geralmente para Stable.
Quando a distribuição começa a envelhecer, vários projetos de software lançam novas versões que não são integradas na Stable atual (que é modificada apenas para resolver os problemas mais críticos, como problemas de segurança). Como as distribuições Testing e Unstable podem ser mais arriscadas, mantenedores de pacotes oferecem recompilações de software recente para a Stable, que tem a vantagem de limitar instabilidade potencial a um pequeno número de pacotes escolhidos.
SECURITY
As atualizações de segurança não são hospedadas na rede habitual de espelhos do Debian, mas em security.debian.org (em um pequeno conjunto de máquinas mantidas pelos Administradores de Sistema Debian). Estes arquivos contém as atualizações de segurança (elaboradas pela equipe de segurança do Debian e/ou mantenedores de pacotes) para a distribuição Stable.
PROPOSED-UPDATES
depois de publicada, a distribuição stable é atualizada em aproximadamente de dois em dois meses. o repositório atualizações-propostas é onde as atualizações esperadas são preparadas (sob a supervisão dos gerentes de versão estável).
Os mantenedores de pacotes também têm a oportunidade de corrigir erros importantes que não merecem uma libertação imediata.
qualquer um pode usar este repositório para testar estas atualizações antes de sua publicação oficial.
DEBIAN MULTIMEDIA
Fornece pacotes para fins de edição de vídeo, imagem e codecs, entre outros.
Para consular outros repositórios não oficiais do Debian:
--- https://wiki.debian.org/UnofficialRepositories
ATENÇÃO OS SERVIDORES FTP DO DEBIAN SERÃO FECHADOS A A PARTIR DE 1 NOVEMBRO DE 2017.
Se você tem repositórios que começam, com FTP, altere eles, lendo todo esse tutorial.
Notícia:
https://www.debian.org/News/2017/20170425
Veja um típico repositório:
deb http://ftp.br.debian.org/debian stable main contrib non-free
1º item “deb” identifica que o repositório é de pacotes “.deb”.
2º Alguns repositórios pode usar um nome de release para apontar para uma versão do debian, no link acima é usado (stable) para apontar a versão estável atual (Debian Jessie 8). O nome de release (testing) aponta para a versão em desenvolvimento (Debian 9 Stretch não foi lançada e não tem previsão de lançamento. Por último a release (unstable) aponta para o Debian instável SID esse nunca será lançado e sempre se chamará SID.
Eu particularmente prefiro usar o codinome da distribuição no lugar de stable, testing e unstable.
Então o link acima:
deb http://ftp.br.debian.org/debian "stable" main contrib non-free
Ficaria assim para a versão estável atual:
deb http://ftp.br.debian.org/debian "jessie" main contrib non-free
Sem aspas. Isso vale para demais versões do debian como testing e unstable.
3º item “http://ftp.br.debian.org/debian” é o link do servidor.
4º Os itens “main contrib non-free” são as seções explicadas acima.
O primeiro item “deb” pode ser substituído por “deb-src”, com isso é possível baixar o programa na forma de código fonte, exemplo:
deb http://ftp.br.debian.org/debian stable main contrib non-free (pacotes binários pré compilados e instaláveis pelo APT)
deb-src http://ftp.br.debian.org/debian wheezy-updates main contrib non-free (fonte dos pacotes)
5º O ato de inserir um "#" na frente de um repositório se chama "comentar" isso diz para o apt ou outra ferramenta de gestão de pacotes desconsiderar aquela linha (como se o repositório não existisse).
(O apt vai baixar pacotes deste repositório, pois ele está ativado)
deb http://ftp.br.debian.org/debian stable main contrib non-free
(Com o "#" na frente do "deb" o apt ou outra ferramenta vai desconsiderá-lo.)
#deb http://ftp.br.debian.org/debian stable main contrib non-free
Se o repositório estiver com um "#" e você quiser ativá-lo novamente é só retirar o "#".
DICA:
Se você acabou de instalar o Debian e o apt está pedindo para inserir um CD-ROM quando você tenta instalar um pacote/programa, isso acontece porque tem um linha de CD-ROM no sources.list, o erro deve parece com este:
Mudança de mídia: Por favor, insira o disco nomeado 'Debian GNU/Linux 8.1.0 _Jessie_ - Official amd64 DVD Binary-1 20150606-14:19' na unidade '/media/cdrom/' e pressione [E
Para você conseguir instalar pacotes da internet, basta comentar ela inserindo um "#" na frente da linha do CD-ROM em /etc/apt/sources.list, dessa maneira:
#deb cdrom:[Debian GNU/Linux 8.1.0 _Jessie_ - Official amd64 DVD Binary-1 20150606-14:19]/ jessie contrib main
Depois é só rodar um "apt-get update" que o apt irá instalar os pacotes da internet.
CONFIGURAR REPOSITÓRIO DE TERCEIROS EM /etc/apt/sources.list.d/
Diretórios terminados em ".d" como sources.list.d, são comuns no sistema de arquivos do linux, diretórios com essa terminação são usados para você configurar fragmentos de arquivos de configuração. Por exemplo, imaginamos que você tem no seu sources.list, além dos repositórios oficiais do debian, vários repositórios de terceiros, por mais organizado que você deixe, se houver vários repositórios pode ser confuso e dispendioso na hora de modificar/excluir, para resolver esse problema, basta você acessar o diretório /etc/apt/sources.list.d/ e dentro dele criar um arquivo com um nome que você desejar terminado em ".list", por exemplo google-chrome.list e dentro desse arquivo colocar o repositório do google-chrome, ele vai ser processado pelo apt, normalmente como se estivesse no arquivo /etc/apt/sources.list, #ATENÇÃO é obrigatório a extenção ".list" no final do arquivo.
VárioS pacotes (.DEB) que você baixa para a instalação manual, como Chrome, Opera, entre outros, criam esses repositórios nesse diretório para evitar mexer no arquivo principal de configuração.
No arquivo /etc/apt/sources.list eu recomendo somente os repositório oficiais, repositório base, segurity, updates, proposed-updates e backports.
RECOMENDAÇÃO: Nunca misture repositórios testing e nem unstable e nem do UBUNTU (PPA) na versão estável do Debian, isso vai deixar seu sistema inutilizável.
"httpredir.debian.org" ###((ATENÇÃO SERVIÇO DESCONTINUADO, ALTERADO PARA deb.debian.org))##
O site https://deb.debian.org/, não é um repositório real, mas ele sempre aponta para o mais rápido para sua geografia, além de prometer resolver problemas com servidores fora do ar, ou em manutenção, balanceamento de carga, entre outros. Acesse o site para mais detalhes.
GERENCIAMENTO DE PACOTES COM O APT-GET.
Parte 01: apt-get
Parte 02: apt-cache
PARTE 01: APT-GET
Atualizar a lista de pacotes disponíveis no repositório, o apt vai pegar uma lista com todos os
programas do repositório para sua máquina, por isso, para manter o cache atualizado, você deve
rodar esse comando antes de uma operação com o cache ou instalar um programa.
apt-get update
------------------------------------------------------------------------------------------------------------------------
Atualizar todos os pacotes do sistema, mas em nenhumas circunstâncias os pacotes presentemente
instalados serão removidos, nem pacotes já instalados serão obtidos e instalados. Os pacotes
presentemente instalados com novas versões e que não possam ser atualizados sem alterarem o
estado da instalação de outro pacote serão deixados na versão presente.
apt-get upgrade
------------------------------------------------------------------------------------------------------------------------
Atualizar tudo similar o upgrade, mas esse vai remover pacotes para a tarefa, ou seja, ele vai lidar
com as dependências e vai atualizar a qualquer custo.
apt-get dist-upgrade
Ele comumente usado para atualizar uma versão do Debian, antes de fazer esse tipo atualização em
locais críticos, leia as notas de lançamento da versão, provavelmente você irá encontrar dicas de
como fazer isso de forma segura. Nós manuais antes do dist-upgrade é recomendável rodar primeiro
o upgrade.
apt-get upgrade
apt-get dist-upgrade
------------------------------------------------------------------------------------------------------------------------
Instalar um pacote:
apt-get install pacote
Vamos a alguns exemplos:
Vou instalar o pacote tree, esse é um programa para mostrar uma lista de diretórios e arquivos em
formato de árvore genealógica.
apt-get install tree
O você pode fazer uma coisa curiosa aqui, você pode remover um pacote com o install. Passando o
sinal de “-” após o nome do pacote:
apt-get install tree-
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Os pacotes a seguir serão REMOVIDOS:
tree
Você também pode passar um nome de versão para o pacote a ser instalado, com o sinal de “=”.
apt-get install tree=1.7.0-3
O apt-get por padrão não faz downgrade, ou seja, ele não instala uma versão velha do pacote
só uma versão recente, mas se você passar uma versão menor de um pacote instalado o
pacote vai regredir de versão (CUIDADO).
Você também pode indicar de qual versão do debian você deseja pegar o pacote, exemplos:
apt-get install tree/jessie-backports
apt-get intall tree/testing
apt-get install tree/unstable
OBS: Se você proceder com o comando acima, talvez terá problemas com dependências, a
forma mais recomendada é:
apt-get -t jessie-backports install pacote
Você também pode reinstalar o mesmo pacote, caso ele apresente algum problema.
apt-get install --reinstall pacote
------------------------------------------------------------------------------------------------------------------------
Remover um pacote, esse comando remove o pacote, mas mantém os arquivos de configuração no
sistema.
Apt-get remove pacote
Uma curiosidade é que você pode usar o remove, para instalar, passando o comando “+”.
apt-get remove tree+
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Os NOVOS pacotes a seguir serão instalados:
tree
------------------------------------------------------------------------------------------------------------------------
Remover o pacote e também seus arquivos de configuração:
apt-get purge pacote
------------------------------------------------------------------------------------------------------------------------
Fazer o download de um pacote fonte, você pode compilar pacotes com o apt :), para isso você vai
precisar das linhas deb-src no sources.list. Se você não sabe muito sources.list, leia por favor:
http://goo.gl/37IBZE
Para fazer apenas o downlaod:
apt-get source pacote
Para compilar um pacote, a melhor maneira é usa o comando build-dep, ele irá baixar todas as
dependências necessárias para compilação, depois é só usa o comando source para compilar.
Vou compilar o pacote tree, minha cobaia geralmente nos tutoriais :)
Vou primeiro baixar todas as dependências para compilação.
apt-get build-dep tree
Agora com o comando source, eu vou baixar o arquivo fonte do pacote tree, e compilar com
o comando:
apt-get source tree –compile
Isso vai gerar pacotes .deb compilados localmente no diretório corrente.
------------------------------------------------------------------------------------------------------------------------
Ferramenta check mostra os problemas no sistema de pacotes atuais do sistema, muito útil.
apt-get ckeck
------------------------------------------------------------------------------------------------------------------------
Fazer o download de um pacote do repositório sem instalar, você terá no diretório corrente um
pacote deb.
apt-get download pacote
------------------------------------------------------------------------------------------------------------------------
Clean limpa o repositório local dos arquivos de pacotes obtidos remove tudo exceto o ficheiro lock
de /var/cache/apt/archives/ e /var/cache/apt/archives/partial/.
apt-get clean
------------------------------------------------------------------------------------------------------------------------
Autoclean Tal como o clean, autoclean limpa o repositório local de Arquivos de pacotes obtidos. A
diferença é que apenas remove arquivos de pacotes que já não podem ser mais baixados, e são na
maioria dos casos inúteis.
apt-get autoclean
------------------------------------------------------------------------------------------------------------------------
autoremove é usado para remover pacotes que foram instalados automaticamente para satisfazer
dependências de outros pacotes e que já não são necessários.
apt-get autoremove
------------------------------------------------------------------------------------------------------------------------
Instalar programas, mas sem instalar os pacotes recomendados que é padrão no apt-get.
Isso é útil quando você precisa de um programa que faz parte de um metapacote, se você
instalar pelas vias normais, vai baixar muita coisa inútil junto, consumindo espaço de disco,
para resolver o problema use o parâmetro –no-install-recommends.
apt-get --no-install-recommends install pacote
------------------------------------------------------------------------------------------------------------------------
O comando -install-suggests instala todos os pacotes sugeridos, veja PACOTES SUGERIDOS SÃO
DIFERENTE DE RECOMENDADOS, pacotes sugeridos, podem ser plugins ou arquivos que
expanda a funcionalidade do software, mas não são necessários para o funcionamento do programa,
mas pode melhorá-lo. O apt-get nem o aptitude instala por padrão pacotes sugeridos.
apt-get -install-suggests install pacote
------------------------------------------------------------------------------------------------------------------------
Corrigir um sistema de pacotes quebrado, esse comando é normalmente usado quando se instala um
pacote .deb manualmente, e o mesmo requer dependências para o funcionamento.
Exemplo:
dpkg -i programa-exemplo.deb
O programa programa-exemplo depende das dependências A, B e C , por favor rode o
comando apt-get install -f
apt-get install -f
Baixando e instalando dependências A, B e C....
Se o apt-get encontrar as dependências necessárias para o pacote, ele irá instalar, mas se ele
não encontrar, removerá imediatamente o pacote.
------------------------------------------------------------------------------------------------------------------------
Instala um pacote já existente no cache de pacotes, isso quer dizer que o apt vai pegar o pacote já
presente no sistema e não vai realizar o download, isso é padrão no apt.
apt-get --no-download install tree
------------------------------------------------------------------------------------------------------------------------
Simular uma instalação e remoção com o apt, você pode simular uma remoção ou instalação com
apt-get, você não precisa nem logar-se como root ou usar o sudo, basta como usuário comum rodar,
o comando de instalação ou remoção, seguido de “-s”.
apt-get install pacote -s
apt-get remove pacote -s
apt-get purge pacote -s
Ótimo para determinar algo antes de realmente executar.
------------------------------------------------------------------------------------------------------------------------
Por padrão o apt-get irá perguntar se deseja instalar um programa que tenha algumas dependências
para ser instalado, se o programa for simples e o sistema já ter o que ele precisa, o apt-get irá
instalar automaticamente sem perguntar.
Para programas que tenham dependências, você pode usar “-y” que assume sim e não
vai pergunta nada.
apt-get install pacote -y
apt-ger remove pacote -y
apt-get purge pacote -y
Existem também o –assume-no que faz basicamente o contrário, irá perguntar sempre.
------------------------------------------------------------------------------------------------------------------------
ARQUIVOS:
/etc/apt/sources.list
Localizações de onde obter pacotes. Item de Configuração:
Dir::Etc::SourceList.
/etc/apt/sources.list.d/
Arquivos fragmentados para localizações de onde obter pacotes.
Item de Configuração: Dir::Etc::SourceParts.
/etc/apt/apt.conf
Arquivos de configuração do APT. Item de Configuração:
Dir::Etc::Main.
/etc/apt/apt.conf.d/
Arquivos de configuração fragmentados do APT. Item de
Configuração: Dir::Etc::Parts.
/etc/apt/preferences
Arquivos de preferências de versão. Isto é onde você deve
especificar "pinning", isto é, uma preferência para obter certos
pacotes A partir de uma fonte separada ou a partir duma versão
diferente de uma distribuição. Item de Configuração:
Dir::Etc::Preferences.
/etc/apt/preferences.d/
Arquivos fragmentados para as preferências de versão. Item de
Configuração: Dir::Etc::PreferencesParts.
/var/cache/apt/archives/
Área de armazenamento para Arquivos de pacotes obtidos. Item de
Configuração: Dir::Cache::Archives.
/var/cache/apt/archives/partial/
Área de armazenamento para Arquivos de pacotes em curso. Item de
Configuração: Dir::Cache::Archives será implicitamente acrescentado
(partial)
/var/lib/apt/lists/
Área de armazenamento para informação de estado para cada recurso
de pacote especificado em sources.list(5) Tem de Configuração:
Dir::State::Lists.
/var/lib/apt/lists/partial/
Área de armazenamento para informação de estado em trânsito. Item
de Configuração: Dir::State::Lists será implicitamente acrescentado
(partial)
------------------------------------------------------------------------------------------------------------------------
PARTE 02: APT-CACHE
O comando apt-cache, usa o cache de pacotes do apt, para procurar padrões que você passa, vamos
ver na prática.
Procurar por um pacote.
Apt-cache search pacote
------------------------------------------------------------------------------------------------------------------------
O parâmetro shopkg, mostra várias informações sobre um pacote, como por exemplo as
dependências necessárias.
apt-cache showpkg pacote
------------------------------------------------------------------------------------------------------------------------
O parâmetro stats mostra o estado do cache.
apt-cache stats
------------------------------------------------------------------------------------------------------------------------
O parâmetro showsrc, faz o mesmo que o showpkg, mas para pacotes fonte.
apt-cache showsrc pacote
------------------------------------------------------------------------------------------------------------------------
O parâmetro depends mostra todas as dependências de um pacote
apt-cache depends pacote
------------------------------------------------------------------------------------------------------------------------
O parâmetro rdepends mostra todas as dependências reversas, ou seja, dependências que as
dependências do pacote precisam para funcionar.
apt-cache rdepends pacote
------------------------------------------------------------------------------------------------------------------------
O parâmetro pkgnames mostra o nome de todos os pacotes relacionados com a busca.
apt-cache pkgnames pkgnames
------------------------------------------------------------------------------------------------------------------------
O parâmetro policy, mostra a prioridade do pacote, por exemplo todos os pacotes do repositório
estável tem prioridade 500, mas o backports tem prioridade 100, é por essa prioridade que nada no
backports é instalado automaticamente.
apt-cache policy pacote
------------------------------------------------------------------------------------------------------------------------
O parâmetro madison, mostra de que repositório o pacote vem, pegar o tree de exemplo :)
apt-cache madison tree
tree | 1.7.0-3 | http://httpredir.debian.org/debian/ jessie/main amd64 Packages
tree | 1.7.0-3 | http://httpredir.debian.org/debian/ jessie/main Sources
Aqui ele mostra que o pacote tree vem de um repositório de binários, amd64 e também de
repositório de fontes.
------------------------------------------------------------------------------------------------------------------------
Autor: Fernando Debian.
Comunidade Debian Brasil no facebook, acessem:
https://goo.gl/qfNjkj -- https://goo.gl/9gv0zp
Nesse documento, vou tentar passar um pouco da minha experiência com essa ferramenta.
Se você desconhece com um pacote debian funciona, sugiro a leitura http://goo.gl/OsIaPN
Instalação de um pacote .deb
Opção “-i” para instalação de um pacote .deb.
No mesmo diretório do pacote, rode o comando:
dpkg i pacote.deb
Basicamente o pacote e seus arquivos serão extraídos, e os script de pós e pré instalação,
fará configurações adicionais. ATENÇÃO o dpkg não resolve dependência, ou
seja, se o pacote que você esta instalando depender de outro pacote para funcionar, ele vai
emitir um aviso que o programa depende de A, B, ou C dependências geralmente,
em um sistema bem configurado, o comando “apt-get install -f” resolve.
ATENÇÃO nunca misture pacotes das versões testing, unstable e principalmente nunca
instale PPA do Ubuntu no Debian, isso deixará seu sistema inutilizável.
------------------------------------------------------------------------------------------------------------------------
Opção –unpack descompacta o pacote no sistema, mas não processa nenhum script de pré ou pós-
instalação.
dpkg unpack pacote
O pacote está no sistema, mas ele ainda não está instalado, para concluir a instalação, você
deve usar o comando –configure, para que os scripts de pós instalação e gatilhos de outro
pacote sejam lançados, para isso:
dpkg configure pacote
------------------------------------------------------------------------------------------------------------------------
Opção “-r” remove tudo do pacote, exceto os arquivos de configuração.
dpkg r pacote
------------------------------------------------------------------------------------------------------------------------
Opção “-P” purge, apaga tudo do pacote até seus arquivos de configuração.
dpkg P pacote
------------------------------------------------------------------------------------------------------------------------
Opção “-V” verifica a integridade do pacote, com essa opção você pode verificar se o pacote
instalado no sistema está, por exemplo, com um arquivo de configuração faltando.
Vamos ao exemplo, e adivinha? Vou usar o pacote tree, esse carinha sofre sempre nos
meus artigos xD. Esse pequeno programa mostra uma saída de arquivos e diretórios
no formato de árvore genealógica.
Vou usar o dpkg -L para mostrar todos os arquivos desse pacote no sistema, mais a frente
você terá informações sobre o “-L”, por hora ele serve para mostrar todos os arquivos no
sistema de um determinado pacote. Com o tree instalado, eu vou usar o comando já citado.
dpkg L tree
/usr
/usr/bin
/usr/bin/tree
/usr/share
/usr/share/doc
/usr/share/doc/tree
/usr/share/doc/tree/copyright
Eu suprimi a saída para o que interessa, veja esses são os arquivos do pacote tree dentro da
árvore de diretórios do sistema, eu vou apagar último arquivo /usr/share/doc/tree/copyright,
para demostrar o comando dpkg -V.
dpkg V
??5?????? /usr/share/doc/tree/copyright
Aqui ele informa que o arquivo copyright está faltando no pacote tree, claro que
esse arquivo não vai causar nenhum mal funcionamento, é só para demostrar.
------------------------------------------------------------------------------------------------------------------------
Opção “-C” usada para checar o sistema de pacotes, e mostrar se existe algum problema, muito útil.
Vou usar o aptitude download tree para baixar o pacote tree.deb no meu diretório
corrente, e vou executar a instalação do pacote com dpkg -i tree.deb, quando chegar na
metade da instalação eu vou abortar com CONTROL+C para deixar o pacote
desconfigurado, após eu vou executar:
dpkg C
Os pacotes a seguir estão apenas meio configurados, provavelmente devido a
problemas ao configurá-los pela primeira vez. A configuração deve ser feita
novamente usando dpkg --configure pacote ou a opção no menu do dselect:
tree displays an indented directory tree, in color
Os pacotes a seguir foram disparados por gatilhos, mas o processamento de
gatilhos ainda não terminou. O processamento de gatilhos pode ser executado
usando dselect ou dpkg --configure --pending (ou dpkg --triggers-only):
man-db on-line manual pager
Veja que ele me indicou o problema e também a solução, basta executar:
dpkg configure tree
------------------------------------------------------------------------------------------------------------------------
Opção –get-selections mostra uma lista de pacotes que estão instalados.
dpkg getselections
Você também pode enviar a saída para um arquivo.
dpkg getselections > pacotes.txt
------------------------------------------------------------------------------------------------------------------------
Opção –set-selections aceita uma entrada padrão, para modificar o estado de pacote, você pode
marcar o pacote como deinstall que significa desinstalado, e também como hold que é comumente
feito quando você não quer que um determinado pacote atualize de versão.
Para marcar um pacote instalado como desinstalado, basta:
echo "pacote deinstall" | dpkg setselections
Para confirmar:
dpkg getselections | grep pacote
Para marcar um pacote como hold e impedir sua atualização:
echo "pacote hold" | dpkg setselections
Para confirmar:
dpkg getselections | grep pacote
OBS estou usando “pacote” aqui como exemplo, substitua pelo pacote que você deseja
fazer a alteração.
------------------------------------------------------------------------------------------------------------------------
Opção –add-architecture serve para você adicionar uma arquitetura diferente para um pacote, isso é
comumente usado para instalar pacotes x86 em sistema amd64.
Adiciona a arquitetura i386, para instalação de um programa como o Skype por exemplo.
dpkg addarchitecture i386
OBS sempre que utilizar esse comando rode o comando apt-get update imediatamente, para
que uma lista de pacotes da arquitetura seja baixada no sistema, caso contrário, você terá
vários erros com dependências.
O parâmetro --remove-architecture serve para remover uma arquitetura adicionada.
dpkg removearchitecture i386
------------------------------------------------------------------------------------------------------------------------
Opção –print-architecture imprime na tela a arquitetura atual usada no dpkg.
dpkg printarchitecture
------------------------------------------------------------------------------------------------------------------------
Opção “-c” mostra o conteúdo de um pacote deb, se você baixou um pacote e deseja ver qual o
conteúdo do pacote basta:
dpkg c pacote.deb
------------------------------------------------------------------------------------------------------------------------
Opção “-I” você pode ver informações do pacote.
dpkg I pacote.deb
------------------------------------------------------------------------------------------------------------------------
Opção “-l” mostra todos os pacotes instalados, é muito útil para verificar se um programa está
instalado, com o auxilio do grep.
Vou verificar se o programa tree está instalado na minha maquina
dpkg l | grep tree
ii tree 1.7.0-3
------------------------------------------------------------------------------------------------------------------------
Opção “-s” mostra o estado pacote.
dpkg s tree
Package: tree
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 100
Maintainer: Florian Ernst florian@debian.org
Architecture: amd64
Version: 1.7.0-3
Depends: libc6 (>= 2.14)
------------------------------------------------------------------------------------------------------------------------
Opção “-L” mostra cada arquivo do pacote e a onde ele se encontra no sistema, vou usar ele no
programa tree para determinar todos os arquivos dele no sistema:
dpkg L tree
/.
/usr
/usr/bin
/usr/bin/tree
/usr/share
/usr/share/doc
/usr/share/doc/tree
/usr/share/doc/tree/copyright
/usr/share/doc/tree/TODO
/usr/share/doc/tree/changelog.Debian.gz
/usr/share/doc/tree/changelog.gz
/usr/share/doc/tree/README.gz
/usr/share/man
/usr/share/man/man1
------------------------------------------------------------------------------------------------------------------------
Opção “-S” é útil para determinar de que pacote determinado arquivo no sistema vem.
dpkg S usr/bin/tree
tree: /usr/bin/tree
dpkg S /bin/cat
coreutils: /bin/cat
Ele me informa que o comando tree vem do pacote tree e que o comando cat vem do pacote
coreutils.
------------------------------------------------------------------------------------------------------------------------
Opção –force, essa é grande e complexa, vou abordar só o que eu acho útil, mas informações você
pode verificar a página de manual.
Opção –force-all vai fazer todas as opções de force, até encontrar uma que funciona, ou desmanchar
o seu sistema inteiro rsrsrsr xD
Às vezes é útil, quando você quer reinstalar um pacote muito problemático:
dpkg i –forceall pacote.deb
Opção downgrade, essa opção vai instalar um pacote velho substituindo um novo.
Por exemplo tenho o tree na versão 2.0 instalado no sistema, mas quero instalar a versão
1.0, o dpkg já faz isso por padrão, sem reclamar (CUIDADO).
Opção remove-reinstreq é muito útil, suponhamos que você tem um pacote no sistema quebrado ao
quadrado rsrsrsrsr, e você não consegue remover e nem fazer nada no maldito, com esse comando
você dá uma boa noite Cinderela no dpkg, ele vai esquecer que o pacote existe.
Isso é útil quando você está com um pacote muito problemático e você não está conseguindo
nem instalar programas com o apt por causa dele, ele ainda vai permanecer no sistema,
mas o dpkg não vai mais encher o saco.
Vou usar o tree, coitado ele nem tem tamanho para ser problemático, mas alguém tem que
ser a cobaia xD
dpkg r forceremovereinstreq tree
Recuperar arquivos de configuração apagados acidentalmente ou por qualquer motivo
dpkg forceconfmiss forceconfnew i pacote
Você também pode remover pacotes essências do sistema o que não é uma boa ideia, também pode
instalar pacotes com conflitos de versão, ou que quebram com um pacote já instalado, novamente
isso não é uma boa ideia, geralmente o –force-all na maioria dos casos ajuda, mas se você precisa
de umas dessas peculiaridades, consulte: man dpkg.
------------------------------------------------------------------------------------------------------------------------
Opção –no-act simula uma instalação com o dpkg, ou seja, ele não vai instalar realmente o pacote.
dpkg –noact i pacoite.deb
Opção “-R” instalação recursiva de todos os pacotes, ele vai adentrar em todos os diretórios e
instalar o que ele encontrar com *.deb
dpkg iR diretório/
------------------------------------------------------------------------------------------------------------------------
Opção “-G” por padrão o dpkg não nem aí, se você tiver um pacote dá versão 5 instalado no
sistema e mandar um ele instalar a versão 1, ele vai fazer isso e não vai emitir nada, com essa opção
você pode instalar vários pacotes e garantir que eles não irão regredir de versão.
dpkg iG pacote.deb
dpkg iG *.deb (instalar vários pacotes e garantir que nada vai regredir de versão)
------------------------------------------------------------------------------------------------------------------------
Opção “-E” não instala o pacote se a mesma versão já estiver instalado.
dpkg Ei pacote
dpkg Ei *.deb (útil para instalar vários pacotes)
------------------------------------------------------------------------------------------------------------------------
Opção –instdir=dir você pode instalar o pacote em um diretório diferente;
Por exemplo vou instalar o pacote tree em uma pasta na minha home chama dir.
dpkg i –instdir=/home/fernando/dir tree_1.7.03_amd64.deb
------------------------------------------------------------------------------------------------------------------------
Autor: Fernando Debian.
Comunidade Debian Brasil no facebook, acessem:
https://goo.gl/qfNjkj -- https://goo.gl/9gv0zp
Esse tutorial não tem o intuito de fazer você trocar o apt-get ou apt pelo aptitude, eu
acredito que essas ferramentas têm que serem usadas em conjunto.
Vocês verão no inicio das linhas nos comandos de exemplo abaixo, algumas letras como “p” e “i”,
essas letras são os estados dos pacotes, veja uma pequena lista.
i - o pacote está instalado e todas as suas dependências estão satisfeitas.
c - o pacote foi removido, mas seus arquivos de configuração ainda estão presentes.
p - o pacote e todos os seus arquivos de configuração foram removidos ou o pacote nunca foi
instalado.
v- o pacote é virtual.
B - o pacote quebrou dependências.
u- o pacote foi descompactado mas não configurado.
C - semi-configurado: a configuração do pacote foi interrompida.e
H - semi-instalado: a instalação do pacote foi interrompida.
W - triggers-awaited: o pacote aguarda processamento de trigger por outro pacote.
T - triggers-pending: O pacote teve uma atualização disparada devido a alterações em outro
pacote.
Instala um pacote qualquer
aptitude install pacote
Remove um pacote qualquer
aptitude remove pacote
Atualiza o metadados de repositório, e mostra quantos pacotes a serem atualizados, e novos
pacotes introduzidos no repositório.
aptitude update v
Purga um pacote qualquer
aptitude purge pacote
Atualizar o sistema, ou apenas um pacote de forma segura:
aptitude safeupgrade
Atualizar o sistema e totalmente, removendo pacotes se necessário para atender dependências,
(não é tão seguro, mas nunca vi problema na versão estável do Debian, no stable é bem
seguro.)
aptitude fullupgrade
Ver todas as versões de pacotes passados ao aptitude:
aptitude versions inkscape
Pacote inkscape:
i 0.48.5-3 stable 500
p 0.91-5~bpo8+1 jessie-backports 100
(No exemplo o aptitude exibe duas versões, uma versão do pacote do repositório
estável, quem prioridade maior “500” e uma versão do repositório backports com
prioridade menor “100”, essa prioridade garante que nenhum software do
backports seja instalado automaticamente, só se você passar o parâmetro para
instalação o mesmo ocorrerá.
Isso é comumente feito com o comando:
aptget install t jessiebackports
Procura por um pacote
aptitude search pacote
Aqui entra todo o potencial do software, ele tem seu próprio conjunto de expressões.
Procurar por um programa, mas somente mostrar se ele estiver instalado:
aptitude search '?installed(iceweasel)'
i iceweasel - Navegador web baseado no Firefox
i iceweasel-l10n-pt-br - pacote da língua portuguesa (Brasil) para o Iceweasel
Procurar por kernels apenas no repositório backports:
aptitude search '?archive(jessiebackports) linuximage'
p linux-image-4.2.0-0.bpo.1-amd64 - Linux 4.2 for 64-bit PCs
p linux-image-4.2.0-0.bpo.1-amd64-dbg - Debugging symbols for Linux 4.2.0-0.bpo.1-amd64
p linux-image-4.3.0-0.bpo.1-amd64 - Linux 4.3 for 64-bit PCs
p linux-image-4.3.0-0.bpo.1-amd64-dbg - Debugging symbols for Linux 4.3.0-0.bpo.1-amd64
i linux-image-amd64 - Linux para computadores de 64 bits (meta-pacote)
p linux-image-amd64-dbg
Procurar por pacotes que não são provenientes do repositório oficial do debian:
aptitude search '!?origin(debian) ?installed'
Os resultados são todos os pacotes eu instalei de sites e repositórios terceiros ao debian.
i cool-retro-term - Emulator de terminais antigos.
i deb-multimedia-keyring - GnuPG archive key of the deb-multimedia repository
i dropbox - cloud synchronization engine - CLI and Nautilus extension
i gstreamer0.10-ffmpeg - FFmpeg plugin for GStreamer
i A libaacplus2 - AAC+ encoding library - runtime files
i A libaudcore3 - Audacious core engine library
Procurar por pacotes que foram removidos, mas não purgados, ou seja, existem resíduos no
sistema:
aptitude search '?configfiles'
c conky-std - highly configurable system monitor (default version)
c galculator - scientific calculator
c hplip - Sistema de Imagem e Impressão HP Linux (HPLIP)
c libappindicator1 - allow appl
Para apagar esses arquivos ainda no sistema basta:
aptitude purge '?configfiles'
Procurar por pacotes a ser atualizados:
aptitude search '?upgradable'
i chromium - navegador web
i chromium-l10n - navegador da web - pacotes de idioma
i A curl - ferramenta em linha de comando para transferência de dados com sintaxe URL
i iceweasel - Navegador web baseado no Firefox
Procurar por um metapacote, por exemplo eu quero instalar o ambiente completo do gnome
na minha máquina, eu sei que ele é proveniente de um metapacote, mas não tenho certeza do
seu nome, então eu vou procurar por um metapacote que contenha a palavra gnome:
aptitude search '?task(gnome)'
p task-gnome-desktop - GNOME
p task-hebrew-gnome-desktop - Hebrew GNOME desktop
p task-japanese-gnome-desktop - área de trabalho do GNOME em japonês
p task-korean-gnome-desktop - Korean GNOME desktop
p task-malayalam-gnome-desktop - Malayalam GNOME desktop
p task-tamil-gnome-desktop - Tamil GNOME desktop
p task-telugu-gnome-desktop - Telugu GNOME desktop environment
p task-thai-gnome-desktop - Thai GNOME desktop
A tarefa (metapacote) task-gnome-desktop vai instalar o ambiente gnome completo na minha
maquina.
Para instalar basta:
aptitude install taskgnomedesktop
Procurar por todas as versões dos pacotes linux-image.
aptitude search '?allversions(linuximage)'
v linux-image -
i A linux-image-3.16.0-4-amd64 - Linux 3.16 for 64-bit PCs
p linux-image-3.16.0-4-amd64-dbg - Debugging symbols for Linux 3.16.0-4-amd64
v linux-image-4.2 -
p linux-image-4.2.0-0.bpo.1-amd64 - Linux 4.2 for 64-bit PCs
p linux-image-4.2.0-0.bpo.1-amd64-dbg -
p linux-image-4.3.0-0.bpo.1-amd64 - Linux 4.3 for 64-bit PCs
p linux-image-4.3.0-0.bpo.1-amd64-dbg
Agora procurar por todas as versões do pacote linux-image apenas "instaladas no sistema",
um exemplo de combinação de padrões.
aptitude search '?allversions(linuximage) ?installed'
i A linux-image-3.16.0-4-amd64 - Linux 3.16 for 64-bit PCs
i linux-image-4.2.2-fernando - Linux kernel binary image for version
Deixo uma lista de expressões abaixo, o exemplo acima é bem explicativo, basta colocar a
expressão como acima, e entre as aspas o nome do pacote, você também pode combinar as
expressões para filtrar ainda mais a busca:
PADRÕES:
?installed ( pacotes somente instalado)
?depends (procura por pacotes que dependam do pacote pesquisado)
?maintainer (procurar por mantenedores de pacotes)
?version (procura com uma versão passada)
?not (pesquisar tudo que não contenha a palavra passada)
?action (seleciona pacotes selecionados para instalação ou remoção por exemplo)
?all-versions (todos os pacotes que contenham o nome passado)
?and (instrução lógica and: pattern1 pattern2 Selecione qualquer pacote que corresponda tanto
pattern1 e pattern2)
?architecture (busca por pacotes pela arquitetura passada)
?archive (procura pacotes de uma versão, por exemplo SID)?
?automatic (procura pacotes instalados automaticamente)
?broken (procura por pacotes quebrados)
?conflicts (procura por um conflito para o pacote passado)
?config-files (procura por todos os pacotes removidos, mas não purgados)
?description (procura por a descrição passada nos pacotes)
?essential (procura por pacotes essenciais)
?exact-name (procura exatamente pelo nome)
?multiarch (procura por pacotes capazes de rodar em outras arquiteturas)
?new (procurar por pacotes novos não instalados PADRÃO)
?automatic (procura por pacotes automaticamente instalados)
?origin (pegar pacotes da origem, por exemplo procurar por pacotes de terceiros, exemplo:
aptitude search '!?origin(debian) ?installed' (procura por pacotes que não são oficiais do debian.)
?task (seleciona pacotes por tarefa metapacote)
?upgradable (seleciona pacote para serem atualizados)
?user-tag (procurar por pacotes por tag)
?virtual (procurar por pacotes virtuais)
?garbage (procurar por pacotes que foram instalados automaticamente mais agora ele não sevem
mais para nada "autoremove")
?source-package (procura pelo nome pacote fonte )
?source-version (procura por uma versão de pacote fonte)
?tag (pesquisar debian tags)
Proibir o aptitude instalar uma versão especifica de pacote, mas atualizar para outra quando
ela aparecer, este comando é útil para evitar uma versão em particular com problemas, mas
atualizar para uma próxima quando aparecer.
Exemplo:
Por padrão o aptitude irá proibir a versão normal que o aptitude iria instalar.
Suponhamos que o leafpad está na versão 1.0 e seja uma versão problemática, eu não quero que o
sistema instale, então:
aptitude forbidversion leafpad
O aptitude vai proibir que a versão 1.0 seja instalada, mas quando a versão 2.0 surgir, ela será
instalada e com uma nova versão espera-se a correção do problema.
Autor: Fernando Debian.
Comunidade Debian Brasil no facebook, acesse:
https://goo.gl/qfNjkj
https://goo.gl/9gv0zp
Conhecendo o SystemD.
Como todos sabem o Systemd é o init padrão do debian desde a versão 8 ( Jessie). Nesse documento será
abordado como habilitar e desabilitar recursos, também será abordado como analisar os logs do sistema, com
o (journalclt) e várias outras dicas.
O Utilitário systemctl
Em um sistema usando SysV é comum acessar uma pasta como /etc/init.d/script e passar ao script um
comando como stop ou reload ,ou então usar o comando service , que faz o mesmo , o systemd
mantéma retrocompatibilidade com o SysV, e suporta esses comandos, porém a documentação orienta que
seja usando os comandos que mostrarei abaixo, visto que com a popularidade do systemd esses comandos
mais antigos irão cair em desuso.
Vamos agora a demostrar como inciar um serviço, vou iniciar o serviço ModemManager.service , que é um
serviço para redes 3/4G tecnologia para celular, veja que esse comando apenas incia o serviço
temporariamente no sistema, ele não ativa o serviço nainicialização.
Eu vou usar o ModemManager.service , mas use aunidade que desejar. O systemctl suporta bash-
completion, portando basta digitar o começo como "Mode " para completar, você não precisa digitar
se desejar a extensão ".service" no final.
Para inciar um serviço.
Vou agora apenas parar o serviço, isso não desabilita o serviço permanentemente do sistema, apenas para
ele temporariamente, se você reiniciar e o serviço continuará ativo, se esse estiver configurado para inciar com
o sistema.
Para reiniciar uma unidade, lembrando que se a unidade não estiver ativa o systemd irá iniciar a unidade.
Para reiniciar uma unidade somente se ela estiver ativa.
Caso você esteja com unidade problemática mas não quer desabilitar por algum motivo, fazendo apenas ela
reler os arquivos de configuração.
Observe que os serviços do sistema que não suportam este recurso ignoram esse comando completamente.
Iniciando e retirando unidades no início do sistema
sudo systemctl start ModemManager.service
sudo systemctl stop ModemManager.service
systemctl restart ModemManager.service
sudo systemctl try-restart ModemManager.service
sudo systemctl reload ModemManager.service
Iniciando e retirando unidades no início do sistema
Para iniciar uma unidade no início do sistema.
Para desabilitar uma unidade do início do sistema.
O comando acima desativa a unidade do início do sistema, porém se algum outro serviço necessitar dela, e
solicitar, o systemd vai reativar, para desativar em definitivo a unidade para que ela não volte nem se
solicitado por outro serviço, use a opção "mask".
Como isso vai ser criado um link simbólico para /dev/null da unidade, garantindo que mesmo se solicitada a
unidade não irá mais iniciar.
Para remover essa mascará, basta.
Verificar o estado geral das unidades e também
unidades específicas
Para ver o estado geral das unidades do sistema.
sudo systemctl enable ModemManager.service
sudo systemctl disable ModemManager.service
sudo systemctl mask ModemManager.service
Created symlink /etc/systemd/system/ModemManager.service → /dev/null.
sudo systemctl unmask ModemManager.service
Removed /etc/systemd/system/ModemManager.service
Os campos
1. UNIT (Mostra o nome da unidade)
2. LOAD (Mostra se a unidade foi iniciada)
3. ACTIVE (Mostra se a unidade está ativa)
4. SUB (Mostra o estado da unidade)
5. DESCRIPTION (Uma descrição da unidade.)
Se você rodar o comando vai notar que o systemd chama um pager para mostrar as informações, assim fica
mais simples, bastando usar os direcionais do teclado, e PageUP , PageDown para se movimentar e ver o
conteúdo, você pode desabilitar isso, passando a opção " --no-pager"
Para ver o estado de uma unidade específica, neste exemplo vou usar o Network-Manager .
systemctl
UNIT LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable
File
sys-devices-pci0000:00-0000:00:1b.0-sound-card0.device loaded active plugged NM10/ICH7
sys-devices-pci0000:00-0000:00:1c.0-0000:01:00.0-net-ens32.device loaded active plugged
sys-devices-pci0000:00-0000:00:1c.1-0000:02:00.0-net-wls33.device loaded active plugged
sys-devices-pci0000:00-0000:00:1d.7-usb5-5\x2d1-5\x2d1:1.0-host2-target2:0:0-2:0:0:0-
bloc
sys-devices-pci0000:00-0000:00:1d.7-usb5-5\x2d1-5\x2d1:1.0-host2-target2:0:0-2:0:0:0-
bloc
sys-devices-pci0000:00-0000:00:1d.7-usb5-5\x2d1-5\x2d1:1.0-host2-target2:0:0-2:0:0:0-
bloc
sys-devices-pci0000:00-0000:00:1d.7-usb5-5\x2d2-5\x2d2:1.0-net-wlx00e1b0111132.device
loa
sys-devices-pci0000:00-0000:00:1d.7-usb5-5\x2d8-5\x2d8.2-5\x2d8.2:1.2-sound-card1.device
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda1.device
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0![Capa_systemd]
(/home/diogo/Capa_systemd.png)-target0:0:0-0:0:0:0-block-sda-sda2.device
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda3.device
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda4.device
sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda.device
loade
sys-devices-platform-serial8250-tty-ttyS0.device loaded active plugged
/sys/devices/pla
sys-devices-platform-serial8250-tty-ttyS1.device loaded active plugged
/sys/devices/pla
systemctl --no-pager
Nesta tela você muitas opções, que são realmente úteis, mostrando o estado geral da unidade.
por exemplo você vê o local de instalação da unidade (/lib/systemd/system/NetworkManager.service) ,
vê também que ela está carregada , o PID da unidade, pagina de manual e grupo que ela pertence.
Para obter uma lista de unidade que estão apenas estão carregadas.
Mostrar todas as unidades ativas, não ativas e mascaradas.
sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset:
en
Active: active (running) since Thu 2017-08-10 20:04:47 -03; 15h ago
Docs: man:NetworkManager(8)
Main PID: 632 (NetworkManager)
Tasks: 5 (limit: 4915)
CGroup: /system.slice/NetworkManager.service
├─ 632 /usr/sbin/NetworkManager --no-daemon
├─20272 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf
/v
└─20499 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf
/v
systemctl list-units --type service
UNIT LOAD ACTIVE SUB DESCRIPTION accounts-
daemon.service loaded active running Accounts Service alsa-
restore.service loaded active exited Save/Restore Sound Card S
atd.service loaded active running Deferred execution
schedu
avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack
console-setup.service loaded active exited Set console font and
keym
cpufrequtils.service loaded active exited LSB: set CPUFreq kernel
p
cron.service loaded active running Regular background
progra
dbus.service loaded active running D-Bus System Message Bus
dnsmasq.service loaded active running dnsmasq - A lightweight
D
exim4.service loaded active running LSB: exim Mail Transport
getty@tty1.service loaded active running Getty on tty1
gpm.service loaded active running LSB: gpm sysv init
script
hddtemp.service loaded active exited LSB: disk temperature mo
Ver as unidades que estão com erro.
Reiniciando, desligando suspendendo e hibernando.
systemctl list-unit-files --type service
UNIT FILE STATE
accounts-daemon.service enabled
alsa-restore.service static
alsa-state.service static
alsa-utils.service masked
anacron.service enabled
apparmor.service enabled
apt-daily-upgrade.service static
apt-daily.service static
atd.service enabled
autovt@.service enabled
avahi-daemon.service enabled
bluetooth.service enabled
bootlogd.service masked
bootlogs.service masked
bootmisc.service masked
checkfs.service masked
checkroot-bootclean.service masked
checkroot.service masked
console-getty.service disabled
console-setup.service enabled
container-getty@.service static
cpufrequtils.service generated
cron.service enabled
cryptdisks-early.service masked
cryptdisks.service masked
systemctl --state=failed
0 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
halt systemctl halt Para o sistema.
poweroff systemctl poweroff Desliga o sistema.
reboot systemctl reboot Reinicia o sistema.
pm-suspend systemctl suspend Suspende o sistema.
pm-hibernate systemctl hibernate Hiberna o sistema
pm-suspend-hybrid systemctl hybrid-sleep Hiberna e suspende o sistema
Verificar rapidamente se a unidade está rodando, em
falha, ativa, e se está habilitada no início do sistema.
Verificar se uma unidade está ativa.
Verificar se uma unidade está ativa em tempo de boot.
Verificar se uma unidade está com erro.
Outro comando que mostra se está tudo bem, ou saí com erro, similar ao comando systemctl --
state=failed .
Verificando o log do sistema.
Além dos arquivos presentes em /var/log , você pode verificar o log do sistema e com o utilitário
journalctl, que é muito bom nessa função.
Verificar o estado geral do log, saída longa e paginada.
systemctl is-active NetworkManager
active
systemctl is-enabled NetworkManager
enabled
systemctl is-failed NetworkManager
active
systemctl is-system-running
running
Se você não quer que a saída fique paginada, útil para usar em conjunto com o grep , usa a opção já citada
"--no-pager" vou usar o comando e pesquisar por ACPI no log.
Acompanhando o log ao vivo, às vezes, você quer acompanhar o log com forme ele é gerado, útil para
depurar problemas, similar ao comando sudo tail -f /var/log/messages.
Ao invocar journalctl sem parâmetros, você verá todo o conjunto de logs, começando com a mensagem
mais antiga armazenada. Isso, é claro, pode ser uma grande quantidade de dados. Muito mais útil é apenas
visualizar os logs da inicialização atual:
Isso mostrará apenas os logs da inicialização atual, com todos os truques acima mencionados. Mas às vezes,
até mesmo, é uma forma de dados demais para processar. Então, o que é apenas listar todos os problemas
reais a se preocupar: todas as mensagens de níveis de prioridade ERROR e pior, a partir da inicialização atual:
Verificar um problema com disco /dev/sdc ? Vamos descobrir o que estava acontecendo lá:
E se um binário começar a apresentar problemas?
Autor: Fernando Debian - Comunidade Debian Brasil no Facebook.
Acessem: https://goo.gl/qfNjkj -- https://goo.gl/9gv0zp
sudo journalctl
sudo journalctl --no-pager | grep ACPI
sudo journalctl -f
sudo journalctl -b
sudo journalctl -b -p err
sudo journalctl /dev/sdc
sudo journalctl /usr/sbin/vpnc
Site Debian Backports, explica como configurar o repositório backports no sources.list.
--- Site: http://backports.debian.org/
Site de Pacotes Debian, neste site é possível pesquisar por pacotes de todas as releases do Debian.
--- Site: https://packages.debian.org/index
Site Acompanhamento de bug, neste site você pode pesquisar por um bug de um pacote, útil quando quero atualizar um pacote do estável para o instável, faço uma pesquisa antes para saber a situação do pacote.
--- Site: https://www.debian.org/Bugs/
Wiki Pulseaudio, explica a instalação e resolução de problemas.
--- Site: https://wiki.debian.org/PulseAudio
Debian Snapshot, este repositório mantém versões antigas de pacotes, útil quando você atualiza um pacote e o mesmo está com algum bug, você pode obter a versão anterior até sair uma atualização com a correção.
--- Site: http://snapshot.debian.org/
Lista completa de espelhos (repositórios)
--- Site: https://www.debian.org/mirror/mirrors_full#BR
Explica a configuração do Debian em firmware UEFI
--- Site: https://wiki.debian.org/GrubEFIReinstall
Documentação do Debian em Português!
--- Site: https://www.debian.org/doc/manuals/debian-reference/index.pt.html
Este portal lida com instalação e configuração de dispositivos Wifi.
--- Site: https://wiki.debian.org/pt_BR/WiFi
Esta página descreve como instalar o driver de vídeo proprietária AMD (AMD Catalyst, aka fglrx) em sistemas Debian.
--- Site: https://wiki.debian.org/ATIProprietary
Esta página descreve como instalar o driver de vídeo NVIDIA proprietário em sistemas Debian.
--- Site: https://wiki.debian.org/NvidiaGraphicsDrivers
Documentação sobre o apt-get, gerenciamento de pacotes.
--- Site: https://www.debian.org/doc/manuals/apt-howto/ch1.pt-br.html
Descreve a instalação, configuração e resolução de problemas do pacote ALSA no Debian.
--- Site: https://wiki.debian.org/ALSA
Descreve a instalação e configuração do VirtualBox no Debian.
--- Site: https://wiki.debian.org/VirtualBox
Guia completo de instalação do Debian para todas as arquiteturas suportadas.
--- https://www.debian.org/releases/stable/installmanual
Versões do Debian Live CD
--- https://www.debian.org/CD/live/
Dicas de configuração para Wifi.
--- https://wiki.debian.org/WiFi/HowToUse
Instalação e configuração de dispositivos Bluetooth no Debian
--- https://wiki.debian.org/BluetoothUser
Instalação do plugin PepperFlash no Debian.
--- https://wiki.debian.org/PepperFlashPlayer/Installing
Instalação de pacotes de versões de testes ou instáveis no Debian estável (APT-PINNING) ##OBS###
Ao usar o apt-pinning, você deve garantir a compatibilidade de pacotes por si mesmo já que o Debian não garante isso. Note que o apt-pinning é totalmente opcional e o Debian não incentiva o seu uso, sem uma análise aprofundada.(OU VOCÊ SABE O QUE FAZ OU NÃO :D)
--- https://wiki.debian.org/AptPreferences
Pesquisar por wikis do Debian.
--- https://wiki.debian.org/FindPage?action=fullsearch&advancedsearch=1&and_terms=codesc&or_terms=¬_terms=&mtime=&categories=&language=&mimetype=
A multiarquitetura permite que você instale pacotes de bibliotecas de múltiplas arquiteturas na mesma máquina. Isso é útil de diversas formas, mas a mais comum é instalar tanto software de 64 quanto 32 bits na mesma máquina e ter as dependências resolvidas corretamente de forma automática.
--- https://wiki.debian.org/pt_BR/Multiarch/HOWTO
Dica simples para construir um sources.list no Debian.
--- https://wiki.debian.org/pt_BR/SourcesList
Montar dispositivos (celulares) com protocolo MTP no Debian.
--- https://wiki.debian.org/mtp
Trabalhando com chaves de segurança do APT-GET.
--- https://wiki.debian.org/SecureApt
Tutorial para instalação do navegador Opera no Debian.
--- https://wiki.debian.org/Opera
Instalação de codecs no Debian.
--- https://wiki.debian.org/pt/MultimediaCodecs
Instalação Skype no Debian Wheezy
--- https://wiki.debian.org/skype
Identificando Hardware no Debian
--- https://wiki.debian.org/HowToIdentifyADevice/PCI
Repositório não oficiais do Debian.
--- https://wiki.debian.org/UnofficialRepositories
Udev - Linux gerenciamento de dispositivo dinâmico
--- https://wiki.debian.org/udev
Como "identificar" os dispositivos PCI-like (AGP, PCI-Express, CardBus , Express Card, etc) que são conectados ao seu computador.
--- https://wiki.debian.org/HowToIdentifyADevice/PCI
Como configurar o Xorg.
--- https://wiki.debian.org/Xorg
10º- Recuperar inconsistência sistema de arquivos (fsck)
11º- Recuperar o disco inicial de ram (initramfs)
12º-Como recuperar o grub
13º- Não quebre o Debian
Não crie um FrankenDebian
O Debian estável (stable) não deve ser combinado com outras versões sem o devido cuidado. Se você está tentando instalar software que não está disponível na versão estável atual do Debian, não é uma boa ideia adicionar repositórios de outras versões do Debian.
Antes de tudo, o comportamento padrão do apt-get upgrade é atualizar qualquer pacote instalado para a mais nova versão disponível. Se, por exemplo, você configura o repositório bookworm em um sistema bullseye, o APT tentará atualizar quase todos os pacotes para bookworm.
Isto pode ser mitigado ao se configurar o apt pinning para dar prioridade para pacotes da bullseye.
Contudo, mesmo instalando poucos pacotes de uma "futura" versão pode ser arriscado. Os problemas podem não acontecer imediatamente, mas na próxima vez em que você instalar as atualizações.
O motivo porque as coisas podem quebrar é que o software empacotado para uma versão do Debian é construído para ser compatível com o resto do software daquela versão. Por exemplo, instalar pacotes da bookworm em um sistema bullseye também poderia instalar versões mais novas de bibliotecas centrais, incluindo libc6. Isto resulta em um sistema que não é teste (testing) ou estável (stable), mas uma mistura quebrada dos dois.
Os repositórios que podem criar um FrankenDebian se usados com o Debian estável (stable):
Versão Debian teste (testing) (atualmente bookworm)
Versão Debian instável (unstable) (também conhecida por sid)
Ubuntu, Mint ou outros repositórios derivados não são compatíveis com o Debian!
Ubuntu PPAs e outros repositórios criados para distribuir determinados aplicativos
Alguns outros repositórios podem parecer seguros para usar já que eles somente contêm pacotes que não têm equivalente no Debian. Entretanto, não há garantias de que qualquer repositório não adicionará mais pacotes no futuro, resultando em quebra.
Finalmente, os pacotes nas versões oficiais do Debian passaram por testes exaustivos, frequentemente por meses, e somente pacotes adequados são permitidos em um lançamento. Por outro lado, os pacotes de fontes externas podem alterar arquivos pertencentes a outros pacotes, podem configurar o sistema de maneiras não esperadas, podem introduzir vulnerabilidades, causar problemas de licenciamento.
Uma vez que pacotes de fontes não oficiais são introduzidos em um sistema, pode ser difícil delimitar a causa da quebra, especialmente se ela acontece meses depois.
Não use scripts de instalação de fabricantes de GPU
O Debian inclui drivers livres e de código aberto que suportam a maioria das placas de vídeo. Os drivers livres fornecem a melhor integração com o resto do sistema Debian e funcionam muito bem para a maioria dos(as) usuários(as).
Se você absolutamente precisa ter drivers proprietários e de código fechado, não faça o download direto do site web do fabricante! Instalar drivers dessa forma somente funciona para o kernel atual, e após a próxima atualização do kernel seus drivers de vídeo não funcionarão até que eles sejam manualmente reinstalados.
Felizmente existe uma maneira Debian de instalar drivers de placa de vídeo usando os pacotes do repositório. Instalar os drivers da maneira Debian garantirá que os drivers continuem a funcionar após a atualização do kernel.
AtiHowTo tem instruções de como configurar os drivers livres e de código aberto para placas de vídeo ATI/AMD (em inglês).
NvidiaGraphicsDrivers tem instruções para instalar drivers proprietários da NVIDIA pela maneira Debian (em inglês).
Não sofra da síndrome das coisas novas e brilhantes
A razão pela qual o Debian estável (stable) é tão confiável é porque o software é exaustivamente testado e têm seus bugs corrigidos antes de ser incluído. Isto significa que a versão mais recente do software frequentemente não está disponível nos repositórios estáveis (stable). Mas isso não significa que o software é muito antigo para ser útil!
Antes de tentar instalar a versão mais nova de algum software de algum lugar outro que não o repositório do Debian estável (stable), aqui estão algumas coisas para ter em mente:
O Debian adiciona correções de segurança e correções de confiabilidade. Julgar o software comparando o número de versão do pacote no Debian com o número de versão do(a) autor(a) upstream não leva em consideração este fato.
Instalar software de lugares outros que não os repositórios oficiais do Debian não é coberto pelo time de segurança do Debian.
Por favor, note que os bugs são encontrados em softwares existentes e que somente novas versões de um software podem introduzir novos bugs e vulnerabilidades.
Quando um lançamento entra no Debian e recebe correções contra bugs, o número de vulnerabilidades conhecidas e bugs constantemente diminuirá durante o ciclo de vida do pacote.
'make install' pode criar conflitos com pacotes
É muito fácil compilar software do código-fonte de arquivos tarball baixados de sites web de software, mas não é tão fácil removê-los posteriormente. Frequentemente as instruções que vêm com o código-fonte incluem procedimentos para usar comandos como ./configure make make install.
Quando você instala softwares dessa forma, você não será capaz de removê-los com apt-get ou Synaptic. O sistema de empacotamento APT só pode remover software que foi instalado pelo sistema de empacotamento APT. Pior até, o software instalado deste modo às vezes conflita com o software empacotado para o Debian.
O software instalado dessa forma também não se beneficia de atualizações de segurança da mesma maneira que os pacotes do Debian. Se você quer manter seu sistema atualizado sem ter que manualmente compilar e reinstalar a cada atualização, fique com os pacotes do Debian.
O script make install pode fazer suposições inválidas sobre onde o binário compilado e seus arquivos associados devem existir no sistema de arquivos e sobre qual conjunto de permissões / propriedade eles devem ser executados. O software instalado deste modo também pode substituir importantes softwares vitais ao sistema e à manutenção de pacotes, tornando difícil reparar seu sistema usando as ferramentas padrão do Debian.
Não siga maus conselhos às cegas
Infelizmente existe muito conselho ruim na Internet. Tutoriais encontrados em blogs, fóruns e outros sites frequentemente incluem instruções que quebrarão seu sistema de formas sutis. Não siga a primeira sugestão que você encontrar ou o tutorial que ache ser o mais fácil. Gaste algum tempo lendo a documentação e compare as diferenças entre os tutoriais.
É melhor gastar seu tempo descobrindo a maneira correta de fazer algo do que gastar até mais tempo consertando um sistema quebrado depois. Você não permitiria que uma pessoa estranha alimentasse seu bebê; não execute comandos sem primeiro entender o que fazem.
Blogs e postagens em fóruns não expiram. Instruções que podem ter sido seguras uns anos atrás podem não ser mais seguras agora. Quando em dúvida, continue pesquisando e leia a documentação da sua versão.
Leia os fantásticos manuais
Frequentemente, ler um tutorial é o suficiente para obter uma ideia geral de como instalar ou usar um aplicativo. Quase todo o software empacotado para o Debian tem ao menos alguma documentação disponível. Alguns lugares para olhar:
A página principal da documentação do Debian: https://www.debian.org/doc/index.pt.html
O Manual do(a) Administrador(a) Debian: https://debian-handbook.info/browse/pt-BR/stable/
O comando apropos ajuda a encontrar páginas de manual.
O comando man para leitura de páginas de manual para comandos que você não entende.
Alguns softwares têm um pacote nome do pacote-doc em separado que contém documentação.
Cada pacote Debian instalado em seu sistema possui um diretório em /usr/share/doc que geralmente contém um arquivo README.Debian com informações sobre as diferenças com a versão do(a) autor(a) do software, além de documentações adicionais.
Não remova software às cegas
Algumas vezes quando você remove um pacote, o gerenciador de pacotes precisa remover outros pacotes também. Isto ocorre porque esses outros pacotes dependem do pacote que você está tentando remover.
Se isto acontecer, o gerenciador de pacotes mostrará a você uma lista de tudo o que será removido e pedirá a sua confirmação. Certifique-se de ler essa lista cuidadosamente! Se você não sabe o que faz alguns desses pacotes que serão removidos, leia as descrições de cada um. Quando em dúvida, pesquise mais. Algumas fontes que podem ajudar em sua pesquisa sobre os pacotes:
https://www.debian.org/distrib/packages.pt.html
Comandos apt-cache(8):
apt-cache show nome do pacote para ver informações sobre um pacote
apt-cache policy nome do pacote para ver informações de versão de um pacote
apt-cache depends nome do pacote para ver as dependências de um pacote
Comandos aptitude(8) (em inglês):
aptitude why nome do pacote para ver a justificativa incompleta do porquê um pacote está instalado
aptitude why-not nome do pacote para ver as justificativas do porquê um pacote não pode ser instalado
Use a opção --simulate com apt-get(8) e aptitude, que como os outros comandos nesta lista, não precisa ser executado como root:
apt-get --simulate remove nome do pacote
Leia as descrições dos pacotes antes de instalar
Recomenda-se ler as descrições dos pacotes antes de instalá-los. Algumas vezes o software terá diferentes pacotes disponíveis no repositório do Debian, com cada pacote configurado de forma diferente. Leia a descrição do pacote e procure por nomes de pacote similares para certificar-se de que é o que você quer.
Este ponto pode ser especialmente importante para pacotes que instalam módulos de kernel.
Faça anotações
É fácil esquecer das etapas pelas quais você passou para fazer alguma coisa no seu computador, especialmente muitos meses depois quando você está tentando atualizar. Às vezes, quando você tenta diversas maneiras de resolução de um problema, é fácil esquecer quais métodos foram bem sucedidos.
É uma ideia muito boa fazer anotações sobre o software que você instalou e sobre as alterações nas configurações que você fez. Ao editar os arquivos de configuração, é também uma boa ideia incluir comentários no arquivo explicando as razões para as alterações e a data que elas foram feitas.
Alguns modos mais seguros de instalar softwares que não estão disponíveis no Debian estável (stable)
Algumas vezes surge a necessidade de instalar software que não está empacotado para o Debian, ou uma versão mais nova do que aquela que está empacotada para a versão estável (stable). A seguir estão algumas maneiras de reduzir os riscos que mencionamos acima.
Pacotes backport
Versões mais novas de pacotes geralmente podem ser encontradas no repositório Debian Backports. Esses pacotes não são testados tão exaustivamente quanto os pacotes incluídos em uma versão estável (stable) do Debian e devem ser instalados com moderação.
Usuários(as) mais experientes podem fazer seus próprios backports dos mais recentes softwares do Debian. Fazer o backport você mesmo(a) é geralmente mais seguro do que outras abordagens. Quando seu próprio backport falha, isto indica que instalar o software manualmente (com make install ou com um script instalador, por exemplo) poderia comprometer seu sistema Debian.
Criação simples de backport (em inglês)
Instruções alternativas estão disponíveis como um factoid em Debian IRC bot (ambos em inglês).
Também no IRC, o bot judd fornece o comando checkbackport que oferece orientações sobre a possibilidade do backport, ao pesquisar o UltimateDebianDatabase (em inglês).
Construindo a partir do código-fonte
Se você está construindo software a partir da fonte obtida em outro lugar que não o Debian, é uma boa ideia construí-lo e executá-lo como um(a) usuário(a) normal, dentro de um diretório pessoal de usuário(a). Se você mantém dados sensíveis, valiosos ou insubstituíveis em seu diretório pessoal, pode ser uma boa ideia criar outra conta de usuário(a) para este propósito.
O automake e outros sistemas de construção podem instalar software que se autoconstroem em localizações não padronizadas. É uma má ideia ser root ou usar "sudo" para instalar software que se autoconstrói em /usr/bin ou outras localizações padrão onde pacotes regulares instalam seus arquivos. É quase sempre possível, ao contrário, instalar em seu diretório pessoal (usando ./configure --prefix=~/.local ou similar). Se você entende sobre edição de Makefiles, então você pode alterar o makefile de modo que processe make install de maneira útil ao seu sistema, ou adicione uma opção prefix=~/.local.
Se quiser disponibilizar o software para todo(a)s os(as) usuários(as), não permita que ele autoinstale para a hierarquia de diretório /usr, já que somente pacotes Debian são orientados a criar arquivos ali. Instalar o software em /usr/local o tornará disponível para todos(as) os(as) usuários(as) e não interferirá com o gerenciador de pacotes. O pacote stow pode ser útil para gerenciar software instalado em /usr/local.
Modos menos seguros de instalar softwares que não estão disponíveis no Debian estável (stable)
Por favor, note: os pacotes nas versões oficiais do Debian passaram por testes exaustivos, frequentemente por meses, e somente pacotes adequados são permitidos em um lançamento. Por outro lado, os pacotes de fontes externas podem introduzir problemas de segurança, confiabilidade e questões legais. O Debian não aprova o uso de software de fontes externas.
Usando chroot, contêineres e máquinas virtuais
Uma outra estratégia para utilizar software não disponível no Debian estável (stable) é executar o software em um sistema Debian virtual contido em um diretório ou em um arquivo de imagem. Isto permite que o software seja instalado em um sistema Debian virtual sem efeitos no sistema Debian primário ou hospedeiro que está rodando em seu computador.
O Debian inclui uma variedade de ferramentas que fornecem variados graus de isolamento do sistema operacional hospedeiro. Algumas incluem:
Schroot (em inglês)
LXC (em inglês)
gnome-boxes
libvirt e KVM (ambas em inglês)
Pacote systemd-container para comandos de contêiner systemd-nspawn e machinectl
Docker (em inglês)
flatpak - veja abaixo
snap - veja abaixo
Flatpak
Algumas aplicações e jogos também estão disponíveis no novo formato de pacote Flatpak (em inglês). Aplicativos flatpack também podem ser executados em um ambiente seguro de testes (sandbox). Um pacote flatpak está disponível para o Debian desde o stretch. O gnome-software pode atualizar e instalar apps Flatpak com o pacote gnome-software-plugin-flatpak instalado. Para mais informações, veja a página wiki FlatpakHowto (em inglês).
Snap
Uma outra alternativa é o sistema Snappy (em inglês) desenvolvido pela Canonical, a companhia que fornece o suporte ao Ubuntu. Snaps são essencialmente similares a Flatpaks, mas atualmente (26-10-2018) o repositório central snapcraft tem mais aplicativos empacotados do que o Flathub.
Nota importante: muitos(as) usuários(as) são receosos(as) quanto aos Snaps. Use por sua própria conta. Eles atualizam segundo uma programação própria e instalam arquivos em localizações não padronizadas. Pode não ser prudente usar Snaps sem antes entender sua reputação e limites.
Obtendo o máximo retorno do suporte da comunidade
Quando procurar por ajuda, é importante lembrar-se de que o Debian é um projeto voluntário e que as pessoas estarão mais propensas a ajudar se você for educado e disposto(a) a se esforçar um pouco. Aqui estão algumas diretrizes gerais que podem ajudar a conseguir suporte:
Pesquise o problema você mesmo(a) primeiramente, incluindo ler a documentação e usar motores de busca.
Forneça detalhes e faça perguntas inteligentes: http://www.catb.org/~esr/faqs/smart-questions.html (em inglês).
Se ficar frustrado(a), não jogue isso nos(as) voluntários(as) que estão tentando ajudar, mesmo que eles(as) também pareçam estar frustrados(as).
Não espere receber tudo "de bandeja"; se você precisa ser guiado(a) através de um passo a passo é sinal de que você precisa aprender mais sozinho(a) lendo a documentação.
Se você sabe como responder a uma questão de outro(a) usuário(a), encorajamos você a contribuir!
Especialmente no IRC:
Não pressione a cada poucas palavras, fica difícil seguir.
Aguarde por uma resposta, as pessoas geralmente desaparecem momentos antes de alguém responder.
Use https://paste.debian.net/ em vez de colar diretamente no canal.
Comentários
Postar um comentário
olá, seja bem vindo ao Linux Dicas e suporte !!