Videotutorial: permissões de arquivos e pastas no GNU/Linux

Depois de algum tempinho, eis um novo videotutorial, dessa vez explicando de forma simples e clara as permissões de arquivos e pastas e a utilização do comando chmod, assunto fundamental para usuários finais, administradores de rede e profissionais da web.

Observação: não sei o por quê do áudio ter ficado dessincronizado a partir de dado momento, mas ainda assim é possível entender tudo.

Habilitando o login gráfico no Slackware

Embora haja um post chamado “Pós-configuração do Slackware 12″ que exploque isso, aí vai, de novo, o que você precisa fazer:

Como root, preferencialmente no modo texto, digite:

# nano /etc/inittab

Procure a linha:

id:3:initdefault

E substitua por

id:4:initdefault

Salve o arquivo, reinicie a máquina e seja feliz.

Observação: não se esqueça de rodar o xorgsetup primeiro.

Montando seu pendrive/MP3 player no Slackware

Aqui vai uma dica sobre como você pode usar seu pendrive, MP3 player e afins no Slackware.

Primeiro, você deve ter certeza que os módulos relativos a dispositivos de armazenamento usb serão carregados no boot. Para isso, edite, como root, o arquivo /etc/rc.d/rc.modules. Encontre a linha

#/sbin/modprobe usb-storage

e remova o # de seu início, descomentando-a. Adicione, após essa linha, as duas seguintes:

/sbin/modprobe usb-ohci
/sbin/modprobe usbcore

Reinicie o micro e os módulos serão carregados. Pronto, seu Slackware está pronto para reconhecer dispositivos de armazenamento usb.

Agora, ainda como root, crie a pasta na qual serão montados os arquivos do pendrive:

# mkdir /mnt/pendrive

Plugue seu pendrive. Se o KDE se oferecer para abrí-lo, recuse, pois isso ainda não funciona. Agora, dê um dmesg para saber onde o kernel colocou o seu dispositivo, geralmente /dev/sda, o que significa que ele será montado em /dev/sda1, que é a primeira partição, mas isso pode variar! De posse dessa informação, como root, digite:

# nano /etc/fstab

E acrescente essa linha no final do arquivo:

/dev/sda1        /mnt/pendrive    vfat        noauto,users,rw  0   0

Isso significa que o dispositivo /dev/sda1 será montado em /mnt/pendrive com sistema de arquivos vfat de forma não automática, com acesso de leitura e gravação para todos os usuários.

Agora, se você clicar no ícone Sistema – Mídia de Armazenamento, verá que existe um ícone para seu pendrive lá. Clique nele e veja se consegue visualizar o conteúdo do dispositivo. Se não, clique com o botão direito no ícone e escolha “remover do modo seguro”, o que irá desmontá-lo, e plugue-o novamente.

Uma vez que você tenha visto o conteúdo do pendrive, fatalmente notará que você não pode criar, copiar, mover  ou apagar arquivos dentro dele, pois essas operações resultam em acesso negado. Isso ocorre porque a pasta /mnt/pendrive possui permissão 775, o que permite a gravação dos arquivos apenas pelo dono da pasta /mnt/pendrive (root) e pelos usuários do grupo onde ele esteja (4 + 1 + 2); os outros podem apenas ver e executar arquivos (4 + 1) Para não diminuir a segurança do sistema dando um 777 na pasta, a solução é colocar o seu usuário num grupo comum do root, e o grupo criado especialmente para isso se chama… plugdev!

Vá em K – Sistema – KUser,  clique no usuário root, Usuário – Editar, aba Grupos e marque o grupo plugdev; dê OK. Faça o mesmo com seu usuário. Pronto, agora você pode usar seu pen à vontade!

Resolvendo os erros na inicialização do MySQL no Slackware

Como você sabe, o Slackware faz o mínimo de configurações, e é você que deve se virar para deixar o sistema redondo e do seu agrado.

Uma das maiores reclamações é quando alguém instala o MySQL e vê uma mensagem como “STOPPING server from pid file /var/run/mysql/mysql.pid 061208 23:30:45 mysqld ended” na inicialização. Isso ocorre porque o MySQL foi instalado, mas não configurado, ou seja, não possui os bancos de dados iniciais, necessários à sua inicialização.

Para resolver isso, abra um Konsole e digite:

su -
su – mysql
/usr/bin/mysql_install_db

Explicando: o primeiro comando vai torná-lo root; o segundo vai tornar o root o usuário do mysql, criado durante a instalação do pacote e o terceito é um script que instala os tais bancos de dados. Um dos erros comuns é rodar o mysql_install_db como root: esse comando deve ser dado como usuário mysql.

Instalando pacotes no Slackware

No mundo do GNU/Linux, os programas, bibliotecas, documentação e código-fonte geralmente vêm em pacotes. Pacotes, a grosso modo, são arquivos compactados que, com uma ferramenta específica, ao serem descomprimidos, instalam os recursos neles contidos.

Assim, para instalar um pacote num sistema baseado no Debian, você usaria o apt-get, para baixá-lo e instalá-lo da Internet ou o dpkg -i, se você o tivesse localmente; Num sistema baseado no Red Hat ou Fedora, o comando para instalar um pacote via internet é o urpmi e, para instalá-lo localmente, você usaria o rpm.

O formato de pacotes do Slackware é o tgz. Esse é um dos formatos mais simples que existem pois, se para criar um .deb ou .rpm, é necessário usar programas especiais, um pacote .tgz é simplesmente os arquivos que serão instalados em uma árvore de pastas que imita a estrutura de pastas do sistema com mais alguns arquivos de controle compactados no formato .tar.gz, mas com sua extensão mudada. Assim, não é necessário nenhum programa especial para criar um pacote do Slackware além de um bom editor de textos e o famoso tar -cxvf.

Outra característica dos pacotes do Slackware é que eles não possuem controle de dependências. Calma, não vai se alegrando ainda, eu explico. Se você vai instalar um pacote .deb ou .rpm, o sistema, antes de instalar o pacote, verifica se já tem todos os demais pacotes necessários para que aquele pacote funcione antes de instalá-lo. Caso não tenha, ele baixará ou pedirá as mídias necessárias para fazer isso antes de usar o pacote propriamente dito. O que parece uma comodidade pode, muitas vezes, se tornar um pesadelo. Já ouvi relatos de pessoas que queriam simplesmente remover o amaroK num sistema Debian e o apt anunciou que removeria o KDE inteiro! No Slackware, isso não acontece. O fato do Slackware não ter dependências não significa que você pode instalar um programa e já sair usando; Muitas vezes, você instala um programa e ele não roda. Então, é necessário descobrir as bibliotecas que estão faltando eos pacotes que as contém. Isso parece assustador, mas você verá que é bem simples.

Obtendo pacotes

Existe um projeto de se fazer um controle de dependências para os pacotes tgz. Alguns desenvolvedores colocam um arquivo texto padronizado com as dependências em seus pacotes, mas esse arquivo é simplesmente ignorado pelo sistema. Da mesma forma, existem projetos para se fazer um instalador de pacotes baseado na Web para o Slackware, tanto que o brasileiro Peter Punk teria desenvolvido o famoso Swaret, que agradou até o Patrick Volkerding mas, no momento, isso não existe oficialmente, use por sua conta e risco!

Assim, você deve pesquisar os pacotes que deseja na Internet. As duas maiores fontes de pacotes Slackware que existem atualmente são o

www.linuxpackages.net

e o

www.slackware.it

Se não estiver nesses dois ou no site do desenvolvedor, não existe.

Uma vez que o pacote tenha sido baixado, vá para o modo texto (tava esperando o quê?), vá para a pasta onde você baixou o pacote (usando o comando cd) e digite:

# installpkg nome-do-arquivo.tgz

E aperte <ENTER>. Se o nome for muito grande, você pode digitar as primeiras letras e apertar <TAB> que o sistema o completa para você. Após você retornar para o prompt, você pode ter certeza que seu pacote foi instalado. Se algum ícone foi criado em algum lugar, selecione-o e inicie o aplicativo que você instalou.

A propósito, isso deve ser feito como root, sim?

Listando, Removendo e Atualizando pacotes

No Slackware, para cada pacote instalado, é criado um arquivo de referência em /etc/logs/packages. Sem você der um ls nessa pasta, você terá uma lista dos pacotes que possui.

Remover um pacote é simples. Primeiro, você deve descobrir o seu nome correto. Para tal, digite:

$ ls /etc/log/packages | grep <nome do pacote>

Onde <nome do pacote> é alguma referência ao que você quer desinstalar, por exemplo:

$ ls /etc/log/packages | grep blender

Isso vai nos dar o nome correto do pacote do editor de animações Blender.

Para desinstalar, use o comando

# removepkg <nome completo do pacote>

Isso vai remover o pacote e todos os seus arquivos do sistema. Note que não há uma trava. Por exemplo, se você digitar algo como

# removepkg kernel-generic-2.6.17.13-i486-1.tgz

Você simplesmente irá apagar o kernel do sistema e o Slack não vai fazer nada para impedí-lo! O que parece ser algo desastroso pode ser uma salvação, tanto que essa “remoção do kernel” é ensinada pelo Lucas Timm em um artigo onde ele ensina a como atualizar o kernel do Slackware 11 sem precisar recompilá-lo.

Para atualizar um pacote para sua versão mais recente, o mais recomendado é que você o desinstale com o removepkg e instale a nova versão com o updatepkg. No entanto, você também pode usar o comando updatepkg para fazer isso.

Uma alternativa gráfica

Se você não gostar de usar installpkg, removepkg e updatepkg, pode usar o…

# pkgtool

Ele abre um menu gráfico onde você pode, com o teclado, selecionar os pacotes que deseja e o que quer fazer com eles.