Samba e passwords

Isto já me aconteceu várias vezes. No total, já perdi talvez uma dúzia de horas até descobrir a solução.

Instalo o Samba numa máquina Linux nova, e depois, quando tento aceder a partir do Windows, ele pede-me autenticação.

O que é que está errado?

De todas as vezes, o que me esqueci foi de vriar uma password na máquina Linuxa para o utilizador do Samba:

smbpasswd -a

Apagar o último caráter de cada linha, no editor vi

Como edito muitos ficheiros de Linux, via Samba, no Notepad, tenho muito código em Linux com linhas a terminar com CRLF, em vez de apenas LF, como é normal no Linux.

Entretanto, a nova versão do vi (nvi) usada pelo Slackware, passou a mostrar esses carateres, que antes estavam escondidos. Agora vejo um ^M no fim de cada linha dos ficheiros editados no Notepad.

Para remover esse caráter, ao longo de todo o ficheiro, pode usar-se o seguinte comando, no vi:

:%s/.$//

vtown e xfce

Atualizei as máquinas para a nova versão --current do Slackware.
Neste momento, o ambiente gráfico deixou de ser o kde, e passou a ser o vtown com xfce.
Quando arranquei com as máquinas, não tinha ambiente gráfico.

Em consola, corri startx e recebi um ecrã com erros.
Corri, então xwmconfig e escolhi a opção xinitrc.xfce.
Corri novamente startx e o ambiente gráfico arrancou!

Som no Ubuntu

Sempre que arranco com o Ubuntu, não tenho som. Nem sequer tenho dispositivo de audio.
Encontrei, na net@, algumas “soluções”. Como sempre, no que toca ao Ubuntu, há publicações com todo o tipo de disparates.

Desta vez usei esta solução e funcionou. O dispositivo apareceu na lista e já deu para configurar.

pulseaudio -D --system

O parâmetro --system é necessário porque eu trabalho sempre como root, o que no Ubuntu é considerado uma anormalidade.

Lançar janela GUI numa máquina VirtualBox headless

O VirtualBox tem um botão “Show”, na barra de ferramentas, que deveria lançar uma janela GUI na máquina VirtualBox headless selecionada. Mas, por algum motivo, nalguns casos não funciona.

No entanto, é possível lançar uma janela GUI através da consola, com o comando:

VBoxSDL --startvm --separate

Para mais opções do comando VBoxSDL, pode correr-se esse comando sem parâmetros.

Cores no grep

Sou fã do preto e branco. A coisa que mais me chateia são editores de texto com texto a cores, ou comandos de consola que respondem a cores. Há, mesmo, combinações de cor que não consigo ler.

Tenho tido imensa dificuldade com os resultados do grep, em roxo sobre fundo preto, no Ubuntu, e decidi mudar isso.

Editei o ficheiro ~/.bashrc e comentei as linhas

alias grep=’grep –color=auto’
alias fgrep=’fgrep –color=auto’
alias egrep=’egrep –color=auto’

Uma alternativa é alterar as cores, para cores com contraste maior. Para isso, junto às linhas

alias grep=’grep –color=auto’
alias fgrep=’fgrep –color=auto’
alias egrep=’egrep –color=auto’

adicionar

export GREP_COLOR=’0;33;40′

para a resposta passar a vir a amarelo.

Para a lista de cores de frente e fundo, assim como outras formatações, consultar estas páginas: [1], [2], [3] e [4].

Mas atenção que, algumas destas páginas têm um erro no nome da variável de ambiente GREP_COLOR (correto), e escrevem-na GREP_COLORS (incorreto).

Comandos para ver a memória

Eis uma série de comandos interessantes para ver a memória no linux. Tirei-os de linux.com.

top
top -o %MEM
free
free -m
free -mt
vmstat
vmstat -s
dmidecode
cat /proc/meminfo
egrep --color 'Mem|Cache|Swap' /proc/meminfo

Ficheiro de SWAP no Slackware

No Slackware costumo usar partições de swap em vez de ficheiros de sawp. No entanto, com a máquina já em produção e sem espaço para novas partições, esta é uma boa solução.

fallocate -l 20G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
vi /etc/fstab
swapon --show
free -h

No ficheiro /etc/fstab acrescentei a linha:

/swapfile             none            swap    sw              0       0

CD-ROM em Linux

Como descobrir o nome do device CD-ROM?

Consultar o ficheiro /proc/sys/dev/cdrom/info

Eventualmente, também dá para correr o comando seguinte:

dmesg | egrep -i --color 'cdrom|dvd|cd/rw|writer'

E, já agora, para ver as caraterísticas do CD-ROM, usar o comando:

cd-drive

Tirado deste site.

Spamassassin

Instalar software em Linux ainda continua a ser um desafio. A maior parte dos pacotes até se instala facilmente com um

./configure
make
make install

Mas o Spamassassin não. Precisa de uma série de módulos do Perl, e do próprio Perl para correr. E, depois, tem uma série de detalhes estranhos associados.

Para poder instalar os módulos obrigatórios e opcionais seguintes

cpan install HTML::Parser
cpan install Net::DNS
cpan install NetAddr::IP

cpan install Digest::SHA1
cpan install Mail::SPF
cpan install GeoIP2::Database::Reader
cpan install Geo::IP
cpan install IP::Country::DB_File
cpan install IO::Socket::INET6
cpan install Encode::Detect::Detector
cpan install Net::Patricia
cpan install Net::DNS::Nameserver
cpan install BSD::Resource
cpan install Archive::Zip
cpan install IO::String

tive que configurar o CPAN, como referido no artigo anterior.

Para instalar o Spamassassin, usei os comandos indicados no ficheiro INSTALL, que vem na raiz do ficheiro bz2.

	perl -MCPAN -e shell                    [as root]
	o conf prerequisites_policy ask
	install Mail::SpamAssassin
	quit

Depois, atualizei as regras com o comando sa-update.

Mas ainda assim, o spamd não arrancava. No ficheiro /var/log/maillog escrevia o erro:

spamc[13023]: connect to spamd on ::1 failed, retrying (#1 of 3): Connection refused

Para resolver isto, criei o ficheiro /etc/mail/spamassassin/spamc.conf e coloquei lá dentro a linha

-d 127.0.0.1

Continuava a não arrancar. E produzia uma mensagem de conflito de versões:

spamassassin script is v3.003000, but using modules v3.004000

Descobri, então, que o comando /usr/bin/spamd era um link simbólico a apontar para uma versão antiga:

/usr/bin/spamd -> /root/.cpan/build/Mail-SpamAssassin-3.3.2-X536zH/spamd/spamd

Removi todas as versões antigas que estavam na diretoria /root/.cpan/build/ e atualizei o link simbólico.

Agora já corre!