Ao fazer um slackpkg -upgrade all, recebi uma nova versão do perl (perl-5.10.1). O problema é que esta nova versão do perl, faz com que os programas que precisam do perl para funcionar deixem de funcionar, como é o caso do Xchat e do IRSSI.
Após a actualização, do perl e ao correr o Xchat obti:
Can't locate File/Spec.pm in @INC (@INC contains: /usr/lib/perl5/5.10.0/i486-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl/5.10.0/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.10.0/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .) at (eval 1) line 28.
Há 2 soluções, compilar de novo todos os programas que necessitem do perl:
# grep 5.10.0 /var/log/packages/* | cut -d: -f1 | sort | uniq
Recompilar todos os programas que resultarem dessa lista (obter source e compilar de novo).
Ou então instalar a antiga versão do perl:
#upgradepkg /var/log/packages/perl-5.10.1-i486-1%perl-5.10.0-i486-1.txz
Neste caso substitui a versão nova 5.10.1 pela antiga 5.10.0 (pode ser obtida num mirror qualquer de slackware, versão 13.0, directório d).
Ao tentar instalar o Oracle no Slackware, verifiquei no site deles, que não possuem pacotes para Slackware, apenas para Debian e RedHat. Sendo assim, e com a ajuda do blog do Roger, lá consegui por o Oracle 10g a funcionar ainda melhor que a instalação do Roger, já que ele teve alguns erros e eu não .
Criar um utilizador Oracle e instalar os grupos de gestão (como root):
#groupadd dba
#groupadd oinstall
#adduser oracle #fazer com que o grupo inicial seja oinstall, e depois adicionar os seguintes grupos adicionais dba users
Fazer o download de: ship.db.lnx32.cpio ou ship.db.cpio
#wget http://download.oracle.com/otn/linux/oracle10g/ship.db.cpio.gz
Descompactar:
#gunzip ship.db.cpio.gz
#cpio -idmv < ship.db.cpio
Se tiver uma SWAP com menos de 1 GB:
#dd if=/dev/zero of=/directory/with/much/free/space/tempswap bs=1k count=1000000
#chmod 600 tempswap
#mke2fs tempswap
#mkswap tempswap
#swapon tempswap
Verificar os requisitos de memória do sistema:
#sysctl -a
Verificar se os valores são iguais ou maiores que estes:
Necessários | Verificar com: |
shmmax = 2147483648 | cat /proc/sys/kernel/shmmax |
shmmni = 4096 | cat /proc/sys/kernel/shmmni |
shmall = 2097152 | cat /proc/sys/kernel/shmall |
shmmin = 1 | ipcs -lm |grep "min seg size" |
semmsl = 250 | cat /proc/sys/kernel/sem | awk '{print $1}' |
semmns = 32000 | cat /proc/sys/kernel/sem | awk '{print $2}' |
semopm = 100 | cat /proc/sys/kernel/sem | awk '{print $3}' |
semmni = 128 | cat /proc/sys/kernel/sem | awk '{print $4}' |
file-max = 65536 | cat /proc/sys/fs/file-max |
ip_local_port_range = 1024 65000 | cat /proc/sys/net/ipv4/ip_local_port_range |
Se for necessário, criar ou alterar o ficheiro /etc/sysctl.conf e colocar os valores correctos:
# Kernel Parameters for Oracle 10.1.0
kernel.shmmax = 2147483648
kernel.semopm = 100
kernel.sem = semmsl semmns semopm semmni
net.ipv4.ip_local_port_range = 32768 65000
Para aplicar estes parâmetros:
#sysctl -p
No meu caso deu erro no kernel.semopm, mas não é um erro crítico.
Depois, criar ou modificar o ~/.profile para que tenha o seguinte:
# user-specific settings
PATH=$PATH:$HOME/bin
# Oracle Environment
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=/opt/oracle; export ORACLE_HOME
ORACLE_SID=ROQDB; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
export TNS_ADMIN=$ORACLE_HOME/config
NLS_LANG=AMERICAN; export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib
export LD_LIBRARY_PATH fi
if [ -z $CLASSPATH ]
then
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
else
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export CLASSPATH
fi
ORAENV_ASK=NO
#set shell search paths
PATH=$PATH:$ORACLE_HOME/bin
Agora a parte da instalação (como root):
mkdir /opt/oracle
chown oracle /opt/oracle
chgrp oinstall /opt/oracle
Como user oracle:
cd Disk1
./runInstaller -ignoreSysPrereqs
As minhas escolhas
Destination;
Name: OraDB10g_home1, Path: /opt/oracle
Installation Type: Enterprise Edition
Escolher "General Purpose" starter database
Global database name: ROQDB.myhost
SID: ROQDB
Não criei schemas.
Depois disto, podemos testar a base de dados com:
#sqlplus /nolog
conn / as sysdba
startup
Para remover o Oracle, caso algo dê problemas:
rm -rf $ORACLE_HOME
rm -rf /etc/ora*
rm -rf /path/to/your/oraInventory
rm -f /usr/local/bin/coraenv
rm -f /usr/local/bin/oraenv
rm -f /usr/local/bin/dbhome
Depois para gerir as bases de dados, utilizei o SQLDeveloper disponível em http://www.oracle.com. Fiz o download do .RPM, converti para .tgz
#rmp2tgz sqldeveloper-1.5.57.83-1.noarch.rpm
Instalei como um .tgz normal
#installpkg sqldeveloper-1.5.57.83-1.noarch.tgz
Para correr o SQLDeveloper é necessário a instalação do JDK.
#wget http://darkstar.ist.utl.pt/slackware/slackware-12.2/extra/jdk-6/jdk-6u11-i586-1.tgz
De seguida é só iniciar o SQLDeveloper:
#sqldeveloper
Assim que tiver algum tempo, irei ver se consigo instalar o TORA, que parece ser um programa mais parecido com o TOAD, que é o mais utilizado, a desvantagem é que não existe versão para Linux.
Links: http://www.roqet.org/oracle_on_slackware.html
http://under-linux.org/wiki/index.php/Tutoriais/BD/instalando-sgbd-oracle11g-ubuntu8
http://www.dicas-l.com.br/print/20080825.html
Recentemente adquiri uma placa de internet móvel do Sapo. Neste momento as placas comercializadas são as Huawei E180, que como já é hábito, vêm com drivers para Windows e Mac. Por ser uma placa recente no mercado, as perspectivas de encontrar suporte para Gnu/Linux não eram boas.
No site do fabricante nenhuma referência ao Linux, e um pedido de informação sobre isso, resultou no seguinte:
"Your feedback subject: E180
Huawei reply: Dear Customer: Thanks for your attention to our product! We are sorry to tell you,E180 don't support Linux OS at present。We only have drivers for WIN/vista/2000/XP /MAC now .Kind regards."
Ao que respondi:
"Well i have it working now under Linux. So it would be nice in the future for you to provide drivers and sfotware for this operating system. Not everybody uses Windows our Mac."
Talvez este tipo de atitude, multiplicada por muitos mais utilizadores, começasse a ter algum efeito nos fabricantes de hardware.
Após uma pesquisa no Google, encontrei uma página que me ajudou bastante. O problema destas pens de internet móvell, é que são ao mesmo tempo modem's e unidades de cdrom, que contêm os drivers necessários para a instalação do modem. No Windows, ao inserir a placa esta inicia o modo CDROM e depois de instalado o modem, alterna o estado para Modem. No Linux esta alternância de estado, não é automática.
1º - Alternar modo da placa (USB_ModeSwitch)
Para contornar este problema, utilizei o programa USB_ModeSwitch. Para instalar, basta ir buscar a fonte, compilar e copiar o binário usb_modeswitch para /sbin e o ficheiro usb_modeswitch.conf para /etc.
Este programa lê as configurações do ficheiro usb_modeswitch.conf, onde se encontram as identificações (ID) dos Fabricantes e Vendedores. Estas informações encontram-se comentadas, pelo que é necessário abrir o ficheiro e descomentar a secção do fabricante da placa, e colocar os IDs certos para Fabricante e Vendedor.
Para sabermos os IDs da nossa placa, basta um lsusb para nos mostrar a informação que precisamos:
#lsusb
Bus 002 Device 007: ID 0951:1603 Kingston Technology Data Traveler 1GB/2GB Pen Drive
Bus 002 Device 006: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
Neste caso, tenho na primeira linha a minha pen USB, e na 2a linha a pen da internet móvel, onde se pode ver o ID que precisamos ID 12d1:1003, o id do fabricante e o 12d1 e o do produto 1003.
Editamos o ficheiro usb_modeswitch.conf
#vi /etc/usb_modeswitch.conf
E na parte correspondente ao fabricante Huawei, descomentamos as linhas e alteramos os IDs caso seja necessário, como o meu ficheiro só trazia uma secção para o modelo E170, acrescentei uma secção nova e ficou assim:
########################################################
# Huawei E180
#
# Contributor: Bruno Queiros
DefaultVendor= 0x12d1;
DefaultProduct= 0x1003
# choose one of these:
;DetachStorageOnly=1
HuaweiMode=1
A parte importante é a descomentação da linha HuaweiMode=1 que transforma a pen num modem.
2º Criar a ligação /dev/ttyUSB0
Primeiro é necessário criar um script para o udev e gravá-lo como /sbin/usb_modeswitch.sh:
#!/bin/sh
# close these FDs to detach from udev
exec 1<&- 2<&- 5<&- 7<&-
sh -c "sleep 4; /usr/bin/usb_modeswitch" &
exit 0
Depois é necessário dizer ao processo udev para executar este script sempre que inserimos o modem, e depois disso carregar o módulo usb_serial:
# vi /etc/udev/rules.d/66-huawei.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003", RUN+="/sbin/usb_modeswitch.sh"
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", SYSFS{idProduct}=="1003", RUN+="/sbin/modprobe usbserial vendor=0x12d1 product=0x1003"
O importante é acertar nos ID's do fabricante e do produto, e no comando do script e do modprobe.
Neste momento, devemos ter a ligação para /dev/ttyUSB0 criado.
3º Executar a marcação para o ISP
Finalmente é ncessário executar a ligação para o nosso ISP, neste caso o Sapo. Pode-se utilizar qualquer programa de marcação para isto, mas como eu gosto das coisas simples, eu escolhi o wvdial. Este programa lê as informações do ficheiro /etc/wvdial.conf e de seguida executa a marcação. O meu ficheiro contém 2 marcações, uma para a padrão e outra para o Sapo:
[Dialer sapo]
username = 123
baud = 115200
password = 123
stupid mode = on
dial command = ATDT
modem type = Analog Modem
phone = *99#
init5 = AT+CGDCONT=1,"IP","internet"
init3 = ATQ0V1E1S0=0&C1&D2+FCLASS=0
init2 = ATZ
modem = /dev/ttyUSB0
isdn = 0
Finalmente, para executar a marcação, executamos o comando:
#wvdial sapo
Se tudo correr bem, devemos ter um link ppp0 criado e podemos começar a navegar.
ppp0 Link encap:Point-to-Point Protocol
inet addr:89.214.32.241 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:37320 errors:0 dropped:0 overruns:0 frame:0
TX packets:35855 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:30571808 (29.1 MiB) TX bytes:5150106 (4.9 MiB)
Para desligar basta Control+C na consola onde foi executado o comando.
Informação retirada de http://chankle.org/blog/index.php?/archives/24-Using-Huawei-E180-modem-in-linux-RHEL5.html.
Apesar disto ser o suficiente para utilizar a placa de internet, dá sempre jeito neste tipo de ligações que costumam ter pouco tráfego disponível, termos uma ferramenta para podermos visualizar o tráfego que estamos a consumir. Existem várias, mas escolhi uma simples e bastante funcional o pywvdial.
O pywvdial, permite marcar a ligação, e verificar o tráfego que se está a consumir, só é pena não ter um histórico, onde se pudesse verifcar o tráfego consumido no dia, na semana ou no mês.
O pywvdial, não é mais que um front-end para o wvdial, e lê o mesmo ficheiro de configuração, contudo necessita que tenhamos uma ligação com o nome Default, pelo que acrescentei a mesma ao ficheiro /etc/wvdial.conf
[Dialer Defaults]
baud = 115200
dial command = ATDT
username = 123
password = 123
stupid mode = on
ask password = off
phone = *99#
init5 = AT+CGDCONT=1,"IP","internet"
init3 = ATQ0V1E1S0=0&C1&D2+FCLASS=0
init2 = ATZ
login = 123
modem = /dev/ttyUSB0
Não é preciso ter 2 entradas iguais, basta terem uma com esse nome, importante também é que, esta ferramenta precisa ser executada com permissões de root, pelo que no KDE basta um ALT+F2, escrever o comando pywvdial, e clicar em opções, correr como outro utilizador - root.
Interface
Informação sobre o tráfego
De momento a aplicação está em inglês, mas assim que tiver algum tempo, vou tentar traduzi-la para Português, e também sugerir a inclusão da visualização de um histórico detalhado do tráfego.
Os únicos aspectos negativos, são o facto de não haver um software próprio para a gestão da ligação e do tráfego e o facto de a luz estar sempre ligada e não piscar.
Já saiu a nova versão da melhor distribuição de Gnu/Linux alguma vez criada, o Slackware Linux.
A nova versão não traz o KDE 4 (pelo simples facto de as próprias pessoas que o desenvolvem, dizerem que ainda não está o maduro suficiente), mas traz outras novidades:
Existem muitas mais novidades, as quais podem ser lidas na totalidade no anúncio oficial.
Quem quiser fazer o download pode fazê-lo aqui.
Quem já tiver o Slackware 12.1 (tal como eu) e quiser fazer o upgrade para o 12.2, basta seguir estas instruções:
" Before you begin, I would strongly recommend making a backup of your
system, or, if not the entire system, at least the /etc directory. You
might find that you need to refer to a few things after the upgrade
process is complete. Back it up, or take your chances.
OK, now that everything is safely backed up, let's proceed. :-)
To do this, you'll need the Slackware 12.2 packages. If these are on a CD,
create a new directory to mount the CD on so that it doesn't get in the way
during the upgrade:
mkdir /packages
mount /dev/cdrom /packages
The packages don't have to be on a CD-ROM, as an alternative you could
copy the slackware directory (the one with the various package
subdirectories in it, basically the "slackware" directory from the install
CD) to someplace like /root/slackware/. The important thing is that you
know where the slackware packages directory is. We'll use /root/slackware
in the following examples.
0. Put your machine in single-user mode:
telinit 1
Note that this is _not_ strictly required, and there have been reports
of success remotely upgrading machines that are still in multiuser
mode. However, more things can do wrong in multiuser, so especially
if you're considering a remote upgrade in multiuser mode, you might
want to clone the machine locally so that you can do a test run to
uncover any problem areas and come up with workarounds for them.
1. Upgrade your glibc shared libraries. This is important, or things
might go haywire during the first part of the upgrade:
upgradepkg /root/slackware/a/glibc-solibs-*.tgz
2. Upgrade your package utilities:
upgradepkg /root/slackware/a/pkgtools-*.tgz
3. Upgrade everything else (and install new packages):
upgradepkg --install-new /root/slackware/*/*.tgz
If you wish to upgrade everything except for the KDEI language
packs for KDE (these take a lot of space and can be dealt with
after the main upgrade more quickly and easily), running this
script in the "slackware" directory will do the trick:
#!/bin/sh
for dir in a ap d e f k kde l n t tcl x xap y ; do
( cd $dir ; upgradepkg --install-new *.tgz )
done
4. Make sure your system will boot. First, be sure your initrd is up
to date (if you use one). If you use LILO, make sure the paths in
/etc/lilo.conf point to a valid kernel and then type 'lilo' to
reinstall LILO. If you use a USB memory stick to boot, be sure to
copy the new kernel to it in place of the old one.
5. Remove obsolete packages. The CHANGES_AND_HINTS.TXT file should have a
list of these. You may also wish to go into /var/log/packages and take
a look at the package list:
ls -lt | less
You may spot some old, obsolete, or discontinued packages. If so,
you can remove these using 'removepkg'.
6. Fix your config files. Some of the config files in /etc are going to
need your attention. You'll find the new incoming config files on
your system with the ".new" extension. You may need to fill these in
with information from your old config files and then move them over.
Feel brave? You can use this little script to install most of the
.new config files in /etc. If you've made any local changes you'll
need to add them to the newly installed files. Your old config files
will be copied to *.bak. Anyway, it might be an easier starting
point. Here it is:
#!/bin/sh
cd /etc
find . -name "*.new" | while read configfile ; do
if [ ! "$configfile" = "./rc.d/rc.inet1.conf.new" \
-a ! "$configfile" = "./rc.d/rc.local.new" \
-a ! "$configfile" = "./group.new" \
-a ! "$configfile" = "./passwd.new" \
-a ! "$configfile" = "./shadow.new" ]; then
cp -a $(echo $configfile | rev | cut -f 2- -d . | rev) \
$(echo $configfile | rev | cut -f 2- -d . | rev).bak 2> /dev/null
mv $configfile $(echo $configfile | rev | cut -f 2- -d . | rev)
fi
done
7. If you use a non-en_US language pack for KDE and you already have it
installed, then you may upgrade it by moving into the slackware/kdei
directory and using this command:
upgradepkg --install-new k*<your KDE locale>*tgz
To have upgradepkg cycle through all of the available packages, and
see which ones need to be upgraded, use this in slakckare/kdei:
upgradepkg *tgz
If your language has been added to KDE since Slackware 12.1, you'll
need to install it using installpkg, or upgradepkg --install-new.
Typically you'll need to make sure that you have installed the
slackware/kdei packages for kde, koffice, and k3b (if you use those).
8. Return to multi-user mode:
telinit 3
At this point you should be running Slackware 12.2. :-)
I wish everyone good luck with this!
---
Patrick Volkerding "
Depois de ter sentido na pele o que é instalar esta placa no Gnu/Linux, e de ter visto a quantidade de pessoas com dificuldades a instalar a mesma, decidi fazer aqui um pequeno tutorial, sobre como instalar esta placa (e outras) no Gnu/Linux. Ao que parece existem não 3 soluções como tinha dito no post anterior, mas sim 4, sendo que o Madwifi adicionou um driver novo para as placas novas tal como a minha as AR2425. Visto que a minha distribuição é o Slackware, vou deixar aqui as instruções para a minha distro, para as restantes o procedimento é igual.
Mais informação aqui: Gentoo Atheros 5xxx
Esta versão do madwifi funciona para as placas AR242{3,4} com chipsets AR5006* e não para a mais recente AR2425 chipset AR5007, neste caso utilizar o driver Madwifi Hal como descrito aqui
#ndiswrapper -i net5211.inf
echo “blacklist ath_pci” | sudo tee -a /etc/modprobe.d/blacklist
Instalação para Linux Mint e utilizando a source
Notas:
Depois da saga de avarias com o meu anterior portátil HP Pavillion dv6131eu, chegou a altura de experimentar outra marca sem ser HP ou Acer (esta última é má demais para ser verdade).
Como não tenho grandes necessidades gráficas ou mesmo de processamento, a escolha caiu num mais que barato Sony Vaio VGN-NR38M, à venda na Radio Popular:
RAM | 2 GB |
Sistema Operativo | Microsoft Windows Vista Premium Home Edition |
Memoria Cache | 1 MB |
Processador | Intel Pentium Dual-Core T2390 clocked at 1.86 GHz |
Disco Rigido | 250 GB |
Placa Video | Intel GMA X3100 chipset |
Monitor | 15.4" WXGA screen - X-Black Resolução: 1366 x 768 |
Leitor Optico | SuperMulti dual-layer DVD writer |
USB | 2 portas USB 2.0 |
Modem/Ethernet | Modem 56K Ethernet network interface |
i-Link | 1 Porta FireWire |
WLAN | WiFi 802.11 b/g |
Bluetooth | Não |
Tamanho | 314 x 360 x 269.1 mm |
Peso | 2.9 kg |
Acessórios Incluidos | Carregador, batteria e manual de utilizador |
Instalação do Slackware Linux, correu sem problemas, onde a parte que necessitou de mais atenção, foi a do particionamento, visto que o portátil traz Windows Vista numa partição, outra partição é a de Recovery e ainda outra que não sei o que é, ou para quê.
A instalação correu bem, tendo detectado a grande maioria do hardware.
Gráfica: Apenas necessário editar o ficheiro xorg.conf e mudar de vesa para intel na secção "Graphics device section", e ainda adicionar a resolução de 1280x800. Mas se no framebuffer do lilo, escolhermos vga=773 (resolução 1024x768, o máximo que a placa é capaz de fazer), depois no X, somos agraciados com a mesma resolução, mas com a imagem transformada num quadrado, deixando uma grande parte do ecrã a preto e com uma barra cinzenta por baixo. Ou seja, para termos a gráfica a funcionar em condições, é preciso no lilo, escolher a opção vga=simple (levar com aquelas letras enormes ao arrancar e ainda perder os pinguins ) para podermos usufruir de uma resolução correcta de 1280x800. Contudo o DRI e aceleração 3D funcionam out of the box.
Rato: No mesmo ficheiro colocar IMPS2 em vez do PS2, para ter a roda do meio a funcionar.
Placa Wireless: Aqui é que o pinguim bateu as asas. A placa é detectada como uma Atheros AR242X 802.11abg, que não é detectada out of the box, como tinha acontecido com a minha antiga Broadcom. Depois de procurar pela internet, encontrei 3 soluções:
Visto que a minha placa é bastante recente, nem a solução do ath5k, ou do Madwifi resultou, pelo que neste momento a placa está a funcionar com o ndiswrapper e com os drivers do Windows, o que não foi fácil, já que a placa AR242X tem vários modelos, e cada modelo seu driver, através de pim-pão-pum (já que não há maneira de ver qual o chipset em concreto) decidi que a minha placa seria uma AR2425 que utiliza os drivers AR5007EG.
Portas USB, Leitor DVDs: tudo a funcionar out of the box.
Firewire, Modem e Bluetooth: ainda não experimentei.
Contras:
Cabo do carregador muito pequeno;
Carregador grande e pesado;
Muitos autocolantes no portátil;
Ecrã brilhante;
Placa intel incapaz de grandes resoluções no frame buffer do linux;
Não possui webcam;
CPU Dual Core em vez de um puro Core 2 Duo;
Prós:
Leve;
Bateria com boa capacidade;
Disco rígido de alta capacidade;
Firewire;
Mais do que suficiente para as minhas necessidades, trabalhar, programar, navegar internet.
De 0 a 5
A melhor distribuição de Gnu/Linux do mundo teve o seu logotipo actualizado.
Não foram muito felizes, acho que ainda conseguiu ficar pior que o antigo.
A subscrição é anónima e gera, no máximo, um e-mail por dia.
. Slackware -Current e o no...
. Oracle 10g no Slackware 1...
. [Tutorial] Instalação pla...
. Review Sony Vaio VGN-NR38...