Rascunhos sobre o Debian e Linux em geral
LVM2 BaculaBackup
Palavras chaves: linux debian gnome ptbr
Debian específico
Como fazer um mirror do Debian
sudo apt-get install debmirror
# mirror da arquitetura 386 do debian sarge e debian etch,
# nas secoes main, contrib, non-free e main/debian-installer
# de ftp.debian.org/debian via http para /var/www/debian/debian
debmirror --ignore-release-gpg --nosource -p -v --arch=i386 --dist="sarge,etch" \
--section=main,contrib,non-free,main/debian-installer --host="ftp.debian.org" \
--method=http --root=/debian /var/www/debian/debian
# sarge/non-us e etch/non-us
debmirror --ignore-release-gpg --nosource -p -v --arch=i386 --dist="sarge/non-US,etch/non-US" \
--section=main,contrib,non-free --host="non-us.debian.org" --method=ftp --root=/debian-non-US \
/var/www/debian/debian-non-US
# debian security
debmirror --ignore-release-gpg --nosource -p -v --arch=i386 --dist="sarge/updates,etch/updates" \
--section=main,contrib,non-free --host="security.debian.org" --method=ftp --root=/debian-security \
/var/www/debian/debian-security
# mirror dotdeb.org
debmirror --ignore-release-gpg --ignore-missing-release --nosource -p -v --arch=i386 --dist="stable" \
--section=all --host="packages.dotdeb.org" --method=http --root=/ \
/var/www/debian/dotdeb.org/
Aspell (Dicionário) pt-br debian etch
Por algum motivo o dicionário pt-br foi compilado com dependecias erradas, entao vamos recompilar.
preparativos
#!/bin/sh
apt-get install aspell-pt-commom
apt-get source aspell-pt-br
Edite o aspell-pt-br/debian/control e remova a linha
Provides: aspell6-dictionary (trocar por
Provides: aspell-dictionary ?)
agora recompilar
#!/bin/sh
cd aspell-pt-br*
dpkg-buildpackage -rfakeroot -d
Referencias:
CriarArquivoDeb
Debian Locales
Mensagem de erro associada:
Locale not supported by C library
# escolha pt.BR-UTF8 e pt.BR-ISO-8859-1
dpkg-reconfigure locales
# firefox em pt-BR
sudo apt-get install mozilla-firefox-locale-pt-br
pacote do dos2unix no debian
sudo apt-get install sysutils
Scripts de inicialização
Instalar rcconf
#!/bin/sh
sudo apt-get install rcconf
Atualizar menus
#!/bin/sh
sudo update-rcconf-guide
Executar rcconf
#!/bin/sh
sudo rcconf
NFS
mensagens de erro:
mount: RPC: Program not registered
mount: RPC: Authentication error; why = Failed (unspecified error)
solução:
/etc/hosts.allow
portmap,mountd: 200.76.51.9
Apt-get
Atualizar informações sobre pacotes disponíveis
Muito útil quando usando testing e unstable.
#!/bin/sh
dselect update
Prioridades de repositórios
Não deixar que um repositório não oficial passe por cima de uma oficial
man apt_preferences
/etc/apt/preferences
Package: *
Pin: origin www.linex.org
Pin-Priority: 1
referencias:
man apt_preferences
Hardwares
USB key
#!/bin/sh
sudo modprobe sd_mod
sudo modprobe usb-storage
sudo mount /dev/sda1 /mnt/
# sudo umount /mnt
Configuração do Monitor Dell E153FP LCD
/etc/X11/XF86Config-4
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 28-50
VertRefresh 43-75
# Os valores abaixo eu achei na internet e nao funcionaram:
#HorizSync 30-63
#VertRefresh 56-76
Option "DPMS"
EndSection
Teclado abnt2 (e us internacional)
#!/bin/bash
setxkbmap -model pc104 -layout br -variant abnt2
# Teclado US internacional
#setxkbmap -model pc104 -layout us_intl
# Teclado abnt2 correto (sem . do teclado numerico)
#setxkbmap -model abnt2
/etc/X11/XF86Config-4
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc104"
Option "XkbLayout" "br"
Option "XkbVariant" "abnt2"
EndSection
teclas "]}" e "|\" invertidas, tecla "." do alfanumerico sem funcionar.
~/.xmodmap
keycode 51 = bracketright braceright
keycode 94 = backslash bar
keycode 245 = period
executar na inicialização do X:
# colocar .xsession
xmodmap ~/.xmodmap
Inicialização do gnome: "Applications" -> "Desktop Preferences" -> "Advanced" ->
-> "Sessions" -> "Startup Programs"
Colocar este script (chmod +x):
#!/bin/sh
# file: $HOME/bin/load_xmodmap.sh
XMODMAP="/usr/bin/X11/xmodmap"
XMODMAP_FILE="$HOME/.xmodmap"
if [ -x $XMODMAP -a -r $XMODMAP_FILE ]; then
$XMODMAP $XMODMAP_FILE
fi
ATUALIZADO
Colocando assim no XF86Config não precisa de .xmodmap.
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection
US internacional não gera cedilha
Para consertar no gtk:
#!/bin/sh
export GTK_IM_MODULE=cedilla
Configurações Pessoais
meu ~/.vimrc
" Syntax highlight
syntax on
" Ignore case on search
set ic
" Lines numbers
set nu
" Auto ident
set ai
" highligth on search matchs
set hlsearch
" Go to last line edited
autocmd BufRead *,.* :normal '"
" ???? tab soft ????
set tabstop=4
set shiftwidth=4
set smarttab
set expandtab
set softtabstop=4
set autoindent
" mostrar inicio abertura de bloco ao finalizar
set showmatch
" my background is dark (to help syntax highlight)
set background=dark
" tags
" -- ctags -R -f ~/.vim/systags /usr/include /usr/local/include
"
set tags+=~/.vim_systags
" --------------------------------------------
" teclas de atalho
" --------------------------------------------
" CTRL + SPACE :autocomplete:
imap <C-Space> <C-x><C-o>
" F9 :make:
"map! <F9> <ESC>:w<CR>:make<CR>
nmap <F9> <ESC>:w<CR>:make<CR>
" CTRL + SPACE :cNext:
nmap <C-Space> :cNext<CR>
" buffers
" TAB :next buffer:
nmap <space><space> :bnext<CR>
nmap <space><tab> :bnext<CR>
nmap <space><backspace> :bprev<CR>
nmap <space>x :bdelete<CR>
" tabs
"nmap <tab><space> :tabnext<CR>
nmap <tab><tab> :tabnext<CR>
"nmap <tab><backspace> :tabprevious<CR>
nmap <tab>x :tabclose<CR>
set listchars=tab:>-,trail:.,eol:$
nmap <tab><return> :tabnew<CR>
X server
Compiz + AIGLX + Ubuntu Feisty + Nvidia
com a placa nvidia as janelas ficaram sem decoração (gtk-window-decorator tinha um problema), o beryl também apresentou o problema,
resolvido com:
Section "Device"
Identifier "Nvidia"
Driver "nvidia"
BusID "PCI:5:0:0"
Option "RenderAccel" "true"
Option "XAANoOffscreenPixmaps"
Option "backingstore" "true"
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
Screen 0
EndSection
fonte:
http://www.linuxquestions.org/questions/showthread.php?t=493176
Fontes
Fontes True Type TTF microsoft no debian
# msttcorefonts -> instalador de fontes (wget dos arquivos, questoes de copyright)
# ttmkfdir -> criar fonts.scale
# xutils -> criar fonts.dir
sudo apt-get install msttcorefonts ttmkfdir xutils
cd /usr/share/fonts/truetype/msttcorefonts
sudo ttmkfdir
sudo mkfontdir
# TIP: ao inves dos dois comandos acima: ttmkfdir -o fonts.dir
cd -
xset +fp /usr/share/fonts/truetype/msttcorefonts
xlsfonts | grep -i microsoft
Inicialização do gnome: "Applications" -> "Desktop Preferences" -> "Advanced" ->
-> "Sessions" -> "Startup Programs"
Colocar este script (chmod +x):
#!/bin/sh
# file: $HOME/bin/load_fonts.sh
XSET="/usr/bin/X11/xset"
MSFONTDIR="/usr/share/fonts/truetype/msttcorefonts"
if [ -x $XSET -a -r "$MSFONTDIR/fonts.dir" ]; then
$XSET +fp $MSFONTDIR
fi
Anti-Aliasing
Fontes com Anti-Aliasing.
Tudo embassado no X
/etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file to configure system font access -->
<fontconfig>
<!-- Enable sub-pixel rendering -->
<!--
<match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
-->
<!-- Use the Autohinter -->
<match target="font">
<edit name="autohint" mode="assign"><bool>true</bool></edit>
</match>
<!-- Disable Autohinting for bold fonts -->
<match target="font">
<test name="weight" compare="more">
<const>medium</const>
</test>
<edit name="autohint" mode="assign"><bool>false</bool></edit>
</match>
<!-- Exclude/Include a range of fonts for Anti Aliasing -->
<match target="font">
<!--
<test qual="any" name="size" compare="more">
<double>6</double>
</test>
<test qual="any" name="size" compare="less">
<double>14</double>
</test>
-->
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
<!-- And/Or disable Anti Aliasing for a range on pixel-based size.
Disabling this using both methods seems to fix Firefox.
<match target="font">
<test compare="less" name="pixelsize" qual="any">
<double>20</double>
</test>
<edit mode="assign" name="antialias">
<bool>false</bool>
</edit>
</match>
-->
</fontconfig>
Desabilitar antialising
O anti-aliasing(AA) é um método de suavização de fontes na tela, isto permite que as fontes fiquem mais bonitas, mas podem deixar seu vídeo muito lento
Para desabilitar o AA no qt adicione esta linha no seu
~/.bashrc
export QT_XFT=0
Para desabilitar o AA no GTK2 adicione esta linha no seu
~/.bashrc
export GDK_USE_XFT=0
Se quiser desabilitar o AA para tudo crie um arquivo chamando
~/.font.conf com o seguinte conteúdo:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
--
IuriDiniz - 18 Nov 2003
Numlock no X
execute:
sudo apt-get install numlockx
Inicialização do gnome: "Applications" -> "Desktop Preferences" -> "Advanced" ->
-> "Sessions" -> "Startup Programs"
Colocar este script (chmod +x):
#!/bin/sh
# file: $HOME/bin/numlock_on.sh
NUMLOCKX="/usr/bin/numlockx"
if [ -x $NUMLOCKX ]; then
$NUMLOCKX on
fi
Outros
Como setar o gereneciador de janelas padrão do Linux...
Muita gente encontra dificuldade para setar um novo gerenciar de janelas no Linux, mas isto é relativamente um procedimento simples....
Quando voce executar
startx da linha de comando ou inicia sua sessão felo *dm(xdm, gdm, kdm), ele procura por um arquivo chamado .xsession ou .xinitrc e executa este arquivo, tudo que estiver contido neste arquivo é executado ao iniciar o modo gráfico...
Se você quer que o fluxbox seja seu gerenciador de janelas, o conteudo deste arquivo poderia ser:
#!/bin/sh
exec /usr/local/bin/fluxbox
Como este arquivo é executado assim que o X é chamando, você pode usá-lo como um "menu iniciar" do ruindows...

a palavra
exec indica que quando o comando a direita de
exec terminar, saia do arquivo, isto é, não executa mais nada abaixo dele.
Caso você queira que o
gaim (Cliente de ICQ, MSN) seja executado toda vez que iniciar o modo gráfico, pode-se incluí-lo antes do fluxbox, ficaria assim:
#!/bin/sh
/usr/bin/gaim &
exec /usr/local/bin/fluxbox

o simbolo
& indica que um programa deve ser executado em segundo plano, ou seja, não é necessário ele terminar para que o próximo comando seja executado.
Vale lembrar que em algumas distribuições (RedHat), é necessário um dos seguintes comandos:
#!/bin/sh
chmod +x .xsession
chmod +x .xinitrc
--
IuriDiniz - 18 Dec 2003
ATUALIZADO
Quando você digita
startx o arquivo a ser executado é o
.xinitrc, quando é pelo *dm, o arquivo a ser executado é .xsession.
--
IuriDiniz - 28 Sep 2005
Configurara time zone para sem horário de verão.
# GMT+3 (nao ao horario de verao)
tzsetup
Verificar quais processos rodam na particao
#!/bin/sh
fuser -m /tmp/
Desabilitar Screen-Saver and Power-Save no terminal
#!/bin/sh
setterm -blank 0
setterm -powersave off
Bibliotecas
./demo: error while loading shared libraries: libdirectfb-0.9.so.22: cannot open shared object file: No such file or directory
#!/bin/sh
export LD_LIBRARY_PATH=/var/lixo/iuri/directfb/lib
ver bibliotecas do sistema
#!/bin/sh
ldconfig -p
ver símbolos de um bliblioteca
nm/readelf
man nm
man readelf
#!/bin/sh
# estatica
nm /usr/lib/libjpeg.a
# dinamica
nm -D /usr/lib/libjpeg.so
Meteorologia de Natal - RN
applet do gnome, url para mapa:
cmu.xml usuarios que comecao com numeros
perl -iBAK -pe 's/98fm/r98fm/g' cmu.xml
rename 98fm r98fm *.xml *.tar.gz
Apache
Erro associado:
httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName ....[FAILED]
Este erro ocorre geralmente porque o nome do seu host nao se encotra com um nome correto em
/etc/hosts.conf
se seu ip é 200.241.100.9 e seu host é
buginganda-danada.com.br coloque em seu
/etc/hosts.conf
200.241.100.9 buginganga-danada.com.br buginganga-danada
Configurar SSL
Ativar o suporte a SSL
#!/bin/sh
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/ssl.*
Configurar um virtual host
# /etc/apache2/sites-avaliable/semnocao.com.br
# detro do virtualhost
<VirtualHost 132.41.199.35:80 132.41.199.35:443>
# ligar o ssl
SSLEngine on
# chave publica
SSLCertificateFile /etc/apache2/ssl/semnocao.com.br.crt
# chave privada
SSLCertificateKeyFile /etc/apache2/ssl/semnocao.com.br.key
# chave da autoridade que me certificou
SSLCertificateChainFile /etc/apache2/ssl/sf_issuing.crt
# ...
</VirtualHost>
Ativar porta do ssl no
/etc/apache2/ports.conf
Listen 132.41.199.35:443
Reinciar apache
#!/bin/sh
apache2ctl restart
A mesma coisa via stunnel
#!/bin/sh
# inciar em background, coloque -f para não entrar em daemon mode.
/usr/sbin/stunnel -d 132.41.199.35:443 -r 132.41.199.35:80 \
-A /etc/apache2/ssl/ca.pem -p /etc/apache2/ssl/semnocao.com.br.pem \
-P /var/run/stunnel -s nobody -g nogroup -N https -v 1
# habilitar no hosts.allow
echo "https: ALL" >>/etc/hosts.allow
/etc/apache2/ssl/ca.pem 
arquivo com o certificado da autoridade
/etc/apache2/ssl/semnocao.com.br.pem 
arquivo com a chave publica e a chave privada combinados
atd
Mensagem de erro:
Error redirecting I/O: Permission denied
Na página do manual do atd, tem dizendo as permissões:
FILES
/var/spool/cron/atjobs The directory for storing jobs; this should be mode 700, owner daemon.
/var/spool/cron/atspool The directory for storing output; this should be mode 700, owner daemon.
/etc/at.allow, /etc/at.deny determine who can use the at system.
Mas meu sistema estava configurado corretamente...
Procurei na internet e nada. Apelei, rodar strace e descobri
open("/dev/null", O_RDWR) = -1 EACCES (Permission denied)
...
...
crwxr--r-- 1 root root 1, 3 2006-04-10 17:00 /dev/null
permissão no /dev/null, vê se pode?
#!/bin/sh
chmod 777 /dev/null
resolvido.
Programas
Vychat
debian sarge
package from:
http://linux.bydg.org/~yogin/
./configure --with-Qt-dir=/usr/share/qt3/
ESD
esdplay, esddsp
pacote: esound-clients
Eclipse / Netbeans ícones no menu do debian
/usr/lib/menu/eclipse
?package(menu):needs="X11" section="Apps/Programming"\
title="Eclipse" icon="/opt/eclipse/icon.xpm" command="/opt/eclipse/eclipse"
/usr/lib/menu/netbeans
?package(menu):needs="X11" section="Apps/Programming"\
title="netbeans" icon="/opt/netbeans-4.1/nb4.1/netbeans.png" command="/opt/netbeans-4.1/bin/netbeans"
/usr/share/applications/eclipse.desktop
Exec="/opt/eclipse/eclipse"
Terminal=0
Type=Application
Icon=/opt/eclipse/icon.xpm
Categories=Application;Development;Java;IDE;
Name=Eclipse 3.1
Comment=Launches Eclipse IDE 3.1
Name[ja]=Eclipse 3.1
Comment[ja]=Launches Eclipse IDE 3.1
Name[zh]=Eclipse 3.1
Comment[zh]=Launches Eclipse IDE 3.1
/usr/share/applications/netbeans4.1.desktop (já vem na instalação do netbeans)
[Desktop Entry]
Exec="/opt/netbeans-4.1/bin/netbeans"
Terminal=0
Type=Application
Icon=/opt/netbeans-4.1/nb4.1/netbeans.png
Categories=Application;Development;Java;IDE;
Name=NetBeans 4.1
Comment=Launches NetBeans IDE 4.1
Name[ja]=NetBeans 4.1
Comment[ja]=Launches NetBeans IDE 4.1
Name[zh]=NetBeans 4.1
Comment[zh]=Launches NetBeans IDE 4.1
Atualizar os menus
#!/bin/sh
sudo update-menus
XMMS
apt-get install xmms xmms-osd-plugin xmms-status-plugin
--
IuriDiniz - 26 Jul 2005
Zope
Changed Zope Site Root
No Zope se você adicionar um objeto Site Root, como retirar?
http://localhost/_SUPPRESS_SITEROOT/manage
--
IuriDiniz - 28 Sep 2005
VIM
Configurar o syntax highlight de um arquivo individual
:set filetype=TIPO
tipos possíveis: algum de
/usr/share/vim/vim63/syntax/
Autotools
saída estilo o kernel do linux:
http://kim.tensta.gannert.se/projects/pretty-am/
no meu caso não ajeitou a macro do libtool para não verbose
#!/bin/sh
# colocar não verbose como default
perl -i -pe 's/^show="\$echo"$/show=:/' /usr/share/libtool/ltmain.sh
para cada projeto executar:
autoreconf --install --force
./configure --enable-pretty-cmds
IP ROUTE
Trocar o nome de uma interface
#!/bin/sh
ip link set eth0 name <NEWNAME>
Apagar arquivo com mais de 24 horas
#!/bin/sh
# > 0 dias ou seja >= 1 dia (24hs)
find . -maxdepth 1 -type f -ctime +0 -exec rm {} \;
Alsa e OSS
Uma raiva que eu tinha constantemente era dos programas que ainda insistem em usar OSS, ao invés de usar alsa, mas o pacote
alsa-oss provê um wrapper
#!/bin/sh
apt-get install alsa-oss
Agora com todo programa maldito que insiste em usar oss, chame ele através do
aoss. Assim:
# kiax usa a libiax (que por sua vez usa OSS)
# ao inves de inciar do modo convencional: /usr/local/bin/kiax, iniciar assim:
/usr/bin/aoss /usr/local/bin/kiax
Agora curta o seu mixer nativo.
tudo automaticamente
se você não quiser chamar o
/usr/bin/aoss para todo programa pode-se fazer duas coisas
1) OU exportar a variavel de ambiente
LD_PRELOAD
Coloque em seu arquivo
$HOME/.bashrc
export LD_PRELOAD="/usr/lib/libaoss.so"
2) OU colocar no
/etc/ld.so.preload
echo '/usr/lib/libaoss.so' >> /etc/ld.so.preload
Firefox
O plugin do flash usa OSS, entao basta iniciar o firefox usando o
aoss, mas ao invés de usar
aoss firefox pode-se alterar o /etc/firefoxrc, pois o firefox já tem suporte no seu script de inicializao a usar
sound wrappers.
Modifique o arquivo
/etc/firefoxrc
FIREFOX_DSP="aoss"
Software MIDI
rodar midi via software ja que o suporte a hardware ta foda (ubuntu)
como root (
sudo -s -H)
#!/bin/sh
apt-get install timidity
cat <<ENDmodules >/etc/modules
snd-seq-device
snd-seq-midi
snd-seq-oss
snd-seq-midi-event
snd-seq
ENDmodules
abra o arquivo
/etc/default/timidity e coloque
TIM_ALSASEQ=true
agora execute os comandos
#!/bin/sh
modprobe snd-seq-device
modprobe snd-seq-midi
modprobe snd-seq-oss
modprobe snd-seq-midi-event
modprobe snd-seq
/etc/init.d/timidity start