Edgy Eft para Feisty Fawn

Update Manager

Como recente lançamento final do Ubuntu Feisty Fawn, resolvi atualizar meu sistema utilizando seu próprio Update Manager. Após seguir as instruções do site oficial o sistema não subia. Até passava pelo GRUB, mostrava o splashscreen do Ubuntu (um pouco modificado com relação ao do Edgy) mas aparecia um erro e parava num terminal com o prompt dizendo apenas: (initramfs).

E agora?

Bom, tive uma experiência semelhante após reparticionar o disco com o Gparted e eu já sabia que eu deveria:

  1. montar o sistema de arquivos na mão com o mount;
  2. editar o arquivo de configuração do GRUB /boot/grub/menu.lst

Pesquisei também no Google e encontrei isto: http://ubuntuforums.org/showthread.php?t=392854
Que diz para trocar onde diz

kernel        /vmlinuz-2.6.20-13-generic root=UUID=702e3aab-4a86-4374-8763-af456ddb9620 ro splash

para

kernel        /vmlinuz-2.6.20-13-generic root=/dev/sda5 ro splash

(sda5 é a partição em que se encontra o meu Linux, em outros sistemas pode ser outra)

Para não ter de rebootar com sistema usando o Live CD, resolvi aprender a usar o sed, única ferramenta disponível para edição de texto no terminal que me foi dado (aquele do iniotramfs do começo do texto, lembra?).

Assim eu montei o sistema de arquivos:

mkdir /image
mount -o dev /dev/sda5/ /image

E depois editei o arquivo menu.lst

cd /image/boot/grub/
sed -i 's_root=UUID=702e3aab-4a86-4374-8763-af456ddb9620_root=/dev/sda5_' menu.lst

REBOOT!

A estranha seqüencia de caracteres UUID=702e3aab-4a86-4374-8763-af456ddb9620 (veja abaixo) tive de pegar listando o arquivo menu.lst com o comando cat e digitando um por um…

O estranho é que depois de inicializado o sistema, verifiquei outra sequëncia estranha de caracteres no mesmo arquivo, no trecho:

#kopt=root=430e3aab-4a86-4374-8763-af456ddb9620
#kopt_2_6=root=/dev/sda7 ro

que tratei de mudar para:

#kopt=root=/dev/sda5
#kopt_2_6=root=/dev/sda5 ro

Assim na próxima atualização do kernel não terei problemas (espero!).

UUID

Nada como o Wikipedia para tirar nossas dúvidas. O UUID, ou Universally Unique Identifier trata-se de um identificador de propósito geral criado pela Open Software Foundation, que por sua vez foi criada para padronizar a implementação de sistema UNIX.

No nosso caso, no sistema de arquivos ext3, que é o que eu uso, o UUID é utilizado para identificar cada partição da máquina, além dos vários dispositivos de armazenamento que possam ser plugados no mesmo, tais como pen-drives, hds portáteis, mp3 players…

Assim cada dispositivo terá seu próprio número e poderá possuir uma configuração individual.

O Ubuntu, a partir da versão 6.10 (Edgy Eft) passou a utilizar este sistema.

Para descobrir qual o UUID de uma determinada partição podemos utilizar o comando vol_id:

sudo vol_id -u /dev/sda1

O comando acima mostrará o UUID da primeira partição do dispositivo sda, que no caso é meu HD SATA.

Bom, fica a critério usuário manter-se nos /dev/ da vida ou utilizar os UUID. Ao menos no que se refere ao menu.lst =)

Posted in linux, software | Tagged | 1 Comment

Usando o DD

Resolvi trocar o HD do meu notebook por um de maior capacidade. Para isto comprei o dito HD e um case USB/e-SATA para aproveitar o HD que vai sair do computador.

Como eu não queria passar novamente pelo processo de instala/configura/verifica, tanto do Windows como do Linux, decidi procurar alguma alternativa parecida ao Norton Ghost, mas no mundo Linux.
Encontrei o comando dd.

O dd copia um fluxo de dados de uma entrada para uma saída. Pode parecer pouco, mas isto o torna capaz de copiar, bit a bit, partições ou HDs inteiros, mesmo que contenham outros SOs.

Coloquei o HD novo no case USB, e liguei o notebook com o Live CD do Ubuntu 6.06 Dapper Drake. Verifiquei se os HDs realmente não estavam montados e executei a seguinte linha de comando:

sudo dd if=/dev/sda of=/dev/sdb

Após pouco mais de 3 horas de espera, o resultado no terminal foi este:

155910825+0 records in
155910825+0 records out
79826342400 bytes (80 GB) copied, 16510.4 seconds, 4.8 MB/s

Troquei os HDs de lugar e liguei o notebook. Tudo certo! Só precisei usar o Gnome Partition Editor (gparted) para extender a partição com o /home para ocupar o restante do HD.

Outra execução:

dd: writing to `/dev/sdb': No space left on device
145226113+0 records in
145226113+0 records out
74355769344 bytes (74GB) copied, 3674.27 s, 20.2 MB/s
Posted in linux | Leave a comment

Eclipse no Ubuntu (antes)

Para ver como é atualmente: http://seiti.eti.br/blog/2007/eclipse-no-ubuntu

Instalando o Eclipse no Ubuntu. Primeiro baixe o Eclipse no site oficial (htp://www.eclipse.org), descompacte-o e depois mova os arquivos descompactados para o diretório /usr/local/:

tar xzf eclipse-SDK-3.2-linux-gtk.tar.gz
sudo cp -R eclipse /usr/local

Copie o ícone do Eclipse para o diretório de ícones do sistema:

sudo cp /usr/local/eclipse/icon.xpm /usr/share/pixmaps/

Crie o atalho que constará no menu de aplicativos, criando e editando o arquivo usr/share/applications/eclipse.desktop (use seu editor de texto favorito):

sudo vi /usr/share/applications/eclipse.desktop

E insira o seguinte texto:

[Desktop Entry]
Comment=Eclipse SDK
Name=Eclipse SDK
Exec=/usr/local/eclipse/eclipse
MultipleArgs=true
Terminal=false
Type=Application
Categories=Application;Development;
Icon=eclipse.xpm

Quase pronto! Falta ainda criar o grupo development, inserir seu próprio usuário neste grupo, e configurar todos os arquivos e diretórios do Eclipse para pertencer ao grupo development. Só assim para você poder atualizar e instalar plugins sem rodar o Eclipse como root.
Crie o grupo e se insira nele atraves do Gerenciador de Usuários do Gnome. Fácil e indolor.

Depois configure os arquivos do Eclipse para pertencerem ao grupo criado:

sudo chgrp development -R /usr/local/eclipse/
sudo chmod g+w -R /usr/local/eclipse/

Pronto!

Posted in linux, software | Tagged , | Leave a comment

Agrupando arquivos na árvore do VS 2005

Uma dica legal. Sabe quando você cria um controle aspx? Além do arquivo .aspx são criados também arquivos .aspx.cs e aspx.cs.designer, ficando agrupados abaixo do arquivo aspx.
Bom, podemos incluir neste agrupamente outros tipos de arquivos, basta editar a seguinte chave do registro do Windows:

HKLM:\SOFTWARE\Microsoft\VisualStudio\8.0\Projects\{E24C65DC-7377-472B-9ABA-BC803B73C61A}\RelatedFiles\.aspx

Incluindo nela uma chave que represente a extensão desejada, como, por exemplo, .js ou .xsd. Assim, se criarmos um controle bla.aspx e um arquivo bla.aspx.js, este ficará na mesma árvore daquele.

Fonte: http://extraview.co.uk/blog/default,month,2006-07.aspx

Posted in programação, software | Tagged , | Leave a comment

Para os que não vivem sem um terminal de linha de comando

Comandos do Linux com correspondentes no Windows:

  • crontab: at (XP/2000), schtasks (XP only)
  • chmod: cacls (XP, 2000, & NT4.0)
  • diff: comp (XP & 2000) mas não presta
  • vi: edit tá bom, não é a mesma coisa
  • fdisk: diskpart (XP only)
  • lsmod, lsusb, lspci: driverquery (XP only), msinfo32 (XP & 2000)
  • ifconfig: getmac (XP & 2000), ipconfig (XP, 2000 & NT4.0), netsh (XP & 2000)
  • more ou less: more
  • uptime: net statistics server
  • tracert: pathping (XP & 2000)
  • /etc/grub/: bootcfg (XP only)
  • /etc/init.d/: sc (XP & 2000)
  • procinfo: systeminfo (XP only)
  • shutdown, halt: shutdown (XP & 2000)
  • top: tasklist (XP pro only)
  • kill: taskkill (XP only)

E alguns comandos úteis do Windows:

  • contig (works with NT4.0 and newer): A great defrag utility for NTFS partitions.
  • control (XP only) – unpublished!: Allows you to launch control panel applets from the command line. control userpasswords2, for example will launch a helpful local user admin utility.
  • defrag (XP only – NT4.0 and Windows 2000 use contig): Yes, XP comes with a command line disk defrag utility. If you are running Windows 2000 or NT4.0 there is still hope. Contig is a free defrag program that I describe on the defrag page.
  • eudcedit (XP only): Private Character editor. Yes with this program built into Windows XP you can create your own font!
  • fsutil (XP only): This is a utility with a lot of capability. Come back soon for great examples.
  • gpresult (XP & 2000): This generates a summary of the user settings and computer group policy settings.
  • gpupdate (XP only): Use this utility to manually apply computer and user policy from your windows 2000 (or newer) domain.
  • MMC (XP, 2000 & NT4.0) – Microsoft Management Console. This is the master tool for Windows, it is the main interface in which all other tools use starting primarily in Windows 2000 and newer systems.
  • msconfig (XP only): The ultimate tool to change the services and utilities that start when your Windows machine boots up. You can also copy the executable from XP and use it in Windows 2000.
  • narrator (XP only): Turns on the system narrator (can also be found in accessibility options in control panel). Will will allow your computer to dictate text to you.
  • nslookup (all): A DNS name resolution tool.
  • openfiles (XP Only): Allows an administrator to display or disconnect open files in XP professional. Type “openfiles /?” for a list of possible parameters.
  • recover (XP & 2000): This command can recover readable information from a damaged disk and is very easy to use.
  • reg (XP & 2000): A console registry tool, great for scripting Registry edits.
  • secedit (XP & 2000): Use this utility to manually apply computer and user policy from your windows 2000 (or newer) domain. Example to update the machine policy: secedit /refreshpolicy machine_policy /enforce. To view help on this, just type secedit. NOTE: In Windows XP SP1 and news, this command is superceded by: gpupdate /force
  • sfc (XP & 2000): The system file checker scans important system files and replaces the ones you (or your applications) hacked beyond repair with the real, official Microsoft versions.
  • sigverif (XP only): Microsoft has created driver signatures. A signed driver is Microsoft tested and approved. With the sigverif tool you can have all driver files analyzed to verify that they are digitally signed. Just type ‘sigverif’ at the command prompt.
  • sysedit (XP/2000): System Configuration File Editor. An old tool that was very handy for the Windows 9X days. msconfig is what you want to use now.
  • tree (XP & 2000): An amazing experience everyone should try! This command will provide a ‘family tree’ style display of the drive/folder you specify.
  • WMIC (XP & 2000): Windows Management Instrumentation Command tool. This allows you to pull an amazing amount of low-level system information from a command line scripting interface.

E para enviar um email por linha de comando não deixe de testar o script mailsend.

Lista oficial

Posted in software | Tagged , | Leave a comment

Subversion

Uma equipe que tenha de trabalhar em cima de um mesmo projeto necessita de um sistema de controle de código-fonte com versionamento. Decidi testar o Subversion como alternativa ao SourceSafe da Microsoft, um sistema muito criticado pela web afora.

O Subversion (SVN) trata-se de um sistema de controle de código e versionamento.

O TortoiseSVN é um cliente SVN que integra-se ao Windows Explorer, permitindo efetuar o controle de versão de qualquer pasta de sua máquina de trabalho.

Já o AnkhSVN é um addin para o Visual Studio que permite o controle das versões dos arquivos de seu projeto a partir do próprio Visual Studio.

Instalei o Subversion, o AnkhSVN e o TortoiseSVN através de seus respectivos instaladores disponíveis nos sites de seus projetos.

Depois criei um reposítório e nele um projeto, seguindo a documentação do próprio SVN.

Dica: se você tiver uma máquina que sirva de servidor SVN, seria legal instalar o SVN como um serviço do Windows, assim ele estará disponível sempre que rebootar a máquina:

sc create svnserve binpath= "c:\svnserve\svnserve.exe --service --root c:\repos" displayname= "Subversion" depend= tcpip start= auto

Mude o c:\repos para qualquer diretório local do servidor (unidades de rede não funcionam).

Mais info: Manual do TortoiseSVN

Posted in programação | Leave a comment

Acessando o MS SQL Server através do PostGreSQL

Para acessar o MS SQL Server através de aplicativos que não possuam os meios oficiais de acesso (protocolo TDS) devemos utilziar ou o FreeTDS ou uma conexão ODBC (Open Database Communication).
Segue como utilizar uma conexão ODBC através do módulo DBI do Perl:

Configurando o PostGreSQl para acessar fontes externas de dados:

  • instale o Perl (padrão para usuários Unix/Linux, ActivePerl no caso de usuários Windows);
  • instale os módulos DBI e DBD-ODBC do Perl via ppm (ou “Perl Package Manager”);
  • adicione a linguagem plperlu à lista de linguagens de seu banco de dados (utilize o PgAdmin ou vá por linha de comando: psql)
  • instale o módulo dbi-link no PostGreSQL, basta rodar os scripts (note que o script do arquivo remote_query.sql está com problemas, tente este no lugar: remote_query2.sql);
  • teste!!

SELECT * FROM remote_select(
‘dbi:ODBC:DRIVER=SQL Server;UID=nom_usuario;PWD=senha_usuario;WSID=nom_maquina;DATABASE=nome_BD;APP=Microsoft Data Access Components;SERVER=(local);Description=Sql Server ODBC’
, ‘nom_usuario’
, ‘senha_usuario’
, ‘{AutoCommit => 1, RaiseError => 1}’
, ‘SELECT * FROM tabela’)
AS (id int4, coluna varchar, outracoluna varchar)

A consulta acima resulta numa tabela com três colunas: id, coluna e outracoluna.
Talvez seja preciso mudar o primeiro parâmetro da chamada da função, que é onde se encontra o DSN (“Data Source Name”) do ODBC. Tente criar pelo próprio Windows (estou numa estação com Windows 2003), indo na seção de configuração de Fontes de Dados ODBC, na aba Fonte de dados de arquivos (que eu acho que deveria ter sido traduzido como “arquivo de fonte de dados”, mas enfim…). Siga o “wizard” apresentado e depois abra o arquivo .dsn num editor de texto para obter a string de conexão.

Note que é preciso que os nomes das tabelas no SQL Server estejam todos em minúsculo. Se este não for o caso, tente utilizar aspas duplas nos nomes das colunas:

SELECT * FROM remote_select(
‘dbi:ODBC:DRIVER=SQL Server;UID=nom_usuario;PWD=senha_usuario;WSID=nom_maquina;DATABASE=nome_BD;APP=Microsoft Data Access Components;SERVER=(local);Description=Sql Server ODBC’
, ‘nom_usuario’
, ‘senha_usuario’
, ‘{AutoCommit => 1, RaiseError => 1}’
, ‘SELECT * FROM tabela’)
AS (“Id” int4, “coluna” varchar, “outraColuna” varchar)

E é isso.

Posted in programação, software | Tagged , | Leave a comment

ASP.NET Development Server (integrated web server)

O Visual Studio 2005 vem com um web server integrado, cujo nome é Cassini (eu acho). Para utilizarmos os benefícios do Edit & Continue é necessário utilizar este servidor. Para isto basta editar as propriedades do seu projeto.

Infelizmente existem arquivos inseridos na aplicação aspnet_client, registrada no Internet Information Services (IIS), que não ficam disponíveis para a aplicação rodando no Cassini. Isto ocorre pelo fato do Cassini só rodar uma aplicação web por vez. Ao abrir outra aplicação, O Cassini abre outro processo rodando o servidor em uma nova porta http, impossibilitando as referências inter-aplicações.

Solução 1: copiar a pasta aspnet_client inteira (ela se encontra, por padrão, em C:\Inetpub\wwwroot\) para o seu projeto e editar o arquivo web.config inserindo o seguinte trecho na seção system.web:

<webControls clientScriptsLocation=“aspnet_client”/>

Ao copiar a pasta não se esqueça de adicioná-la ao projeto no Visual Studio.

Fonte: http://delphi.about.com/od/adptips2005/qt/cassinivalidate.htm

Solução 2: copiar o conteúdo da pasta aspnet_client, que deve estar em c:\Inetpub\wwwroot\aspnet_client, para dentro de sua aplicação, e renomear o nome da aplicação que aparece na url para aspnet_client. Isto fará com que qualquer referência para os arquivos em http://localhost:porta/aspnet_client sejam encontrados, afinal, este é o nome de sua aplicação agora.
Feio, mas funciona! E dá um jeito nos problemas encontrados em controles third party, que não obedecem a tag xml definida na solução 1.

Posted in programação | Tagged | Leave a comment

String DateTime Formatters em C#

Specifier Type Example (Passed System.DateTime.Now)
d Short date 10/12/2002
D Long date December 10, 2002
t Short time 10:11 PM
T Long time 10:11:29 PM
f Full date & time
December 10, 2002 10:11 PM F Full date &
time (long) December 10, 2002 10:11:29 PM g
Default date & time 10/12/2002 10:11 PM
G Default date & time (long)
10/12/2002 10:11:29 PM M Month day pattern
December 10 r RFC1123 date string
Tue, 10 Dec 2002 22:11:29 GMT s Sortable date string
2002-12-10T22:11:29 u Universal sortable, local time
2002-12-10 22:13:50Z U Universal sortable, GMT
December 11, 2002 3:13:50 AM Y Year month pattern
December, 2002

Custom date formatting:

Specifier Type Example Example Output
dd Day {0:dd} 10
ddd Day name {0:ddd} Tue
dddd Full day name {0:dddd} Tuesday
f, ff, … Second fractions {0:fff} 932
gg, … Era {0:gg} A.D.
hh 2 digit hour {0:hh} 10
HH 2 digit hour, 24hr format {0:HH} 22
mm Minute 00-59 {0:mm} 38
MM Month 01-12 {0:MM} 12
MMM Month abbreviation {0:MMM} Dec
MMMM Full month name {0:MMMM} December
ss Seconds 00-59 {0:ss} 46
tt AM or PM {0:tt} PM
yy Year, 2 digits {0:yy} 02
yyyy Year {0:yyyy} 2002
zz Timezone offset, 2 digits {0:zz} -05
zzz Full timezone offset {0:zzz} -05:00
: Separator {0:hh:mm:ss} 10:43:20
/ Separator {0:dd/MM/yyyy} 10/12/2002

Fonte: http://blog.stevex.net/index.php/string-formatting-in-csharp/

Posted in programação | Tagged , | Leave a comment

Laptop + Debian GNU/Linux

“Os usuários do Linux não apenas gostam de seus sistemas-
eles estão preparados para batalharem por eles,
consertá-los e torná-los melhores, mais rápidos e seguros
do que um computador com Windows jamais sonhou em ser.”
— Nemeth, Snyder e Hein – Manual Completo do Linux

debian laptop


Nota: as informações abaixo se referem ao Debian Sarge. Mudei recentemente (out/2006) o SO para o Ubuntu Dapper (6.06) e tudo funcionou corretamente após instalado (bom, menos a cedilha…). Placa Wi-FI PCMCIA, Ethernet PCMCIA, som, medidor de bateria… Recomendo para todos que desejam uma primeira experiência com o Linux sem dores de cabeça. Sendo assim este texto está em sua maior parte obsoleto.

Como eu me mudei para um lugar um tanto longe de minha casa, e precisava de um micro, acabei optando pelo conforto e conveniência de um laptop (ou notebook). Pesquisando alguns preços, acabei decidindo pela compra de um Toshiba Satellite 1000-S157 usado, cuja configuração pode ser conferida logo abaixo.

Vendo que não conseguiria jogar (no máximo um Starcraft) devido ao fraco desempenho em 3D, e decidido em instalar um sistema Linux, acabei por descartar completamente o Windows como opção até para um eventual sistema dual-boot.

Quebrando um pouco a cabeça para configurar e instalar certas coisas, criei esta página para relatar minhas experiências neste processo. Tenha em mente que isto deu certo para mim. Não quer dizer que dará certo para você. Mas quem sabe não seja útil para alguém. =)

Note que para entender os processos descritos nesta página é necessário um pouco de conhecimento sobre os sistemas GNU/Linux. Um ótimo livro para isto é o Manual Completo do Linux – Guia do Administrador, de Nemeth, Snyder e Hein. A página oficial do livro é www.admin.com (em inglês). A versão que eu tenho é a traduzida, editada pela Pearson Education/Makron Books.

Tuxmobil

descrição

modelo/n. Toshiba Satellite 1000-S157
processador Mobile Intel® Celeron® 1.06GHz (núcleo do PIII)
memória/max. 256MB/512MB
hdd 15GB
monitor 14.1 TFT 1024×768
controladora gráfica Intel 830MG
memória de vídeo 8MB (UMA)
som Crystal CS4299-A Codec Chip
pc card (PCMCIA) TypeIIx2 ou TypeIIIx1
usb 3 portas
modem V.90/56K integrado

instalação do sistema Debian GNU/Linux

A distribuição de Linux que escolhi foi o Debian Sarge, devido à grande quantidade de pacotes disponíveis e à ampla literatura existente para consulta na internet. E também por simpatizar com o conceito do projeto Debian, de ser um sistema totalmente produzido por voluntários de todo o mundo.

O único cuidado na instalação, relativo ao funcionamento do X system, é utilizar o driver de vídeo do Intel i810, pois não existe uma específica ao 830MG do laptop.

Para modificar qual tipo de distribuição Debian você quer após a instalação, basta modificar o arquivo /etc/apt/apt.conf colocando/editando a seguinte linha:

APT::Default-Release "testing";

E para instalar qualquer pacote diretamente dos servidores Debian, basta dar o comando:

# apt-get -t distribution install package


Onde distribution pode ser stable, testing ou unstable e package é o nome do pacote a ser instalado. Veja o manual do apt para mais informações.

Note que o meu kernel é o 2.6, compilado a fim de poder decidir quais módulos incluir.

compilando um kernel otimizado

Para otimizar o desempenho de minha máquina, assim como finalmente aprender a configurar e compilar um kernel Linux, decidi por a mão na massa. O fato é que o processo foi bem mais fácil do que eu esperava, principalmente por causa das ferramentas do pacote kernel-package.

E posso dizer que o trabalho todo compensa! Tomei um susto ao me deparar com diferença no desempenho antes e depois de compilar o kernel. Eu não sei quantificar esta diferença, mas ela foi claramente perceptível em qualquer uso que eu fiz do laptop. Melhor e mais barato que um upgrade de hardware. Deu vontade até de compilar todos meus programas, ao invés de baixar os pacotes pré-compilados. Mas fiquei quieto num canto até esta vontade passar. =)

As instruções para se compilar um kernel no Debian podem ser vistas na seguinte página: newbiedoc.sourceforge.net

HDparm

Primeiramente, vamos melhorar a velocidade do HD. Mas como isto é possível? Bom, o Debian, por padrão, configura seus dispositivos da maneira mais confiável possível, minimizando possibilidade de problemas. Ou seja, o HD é configurado para operar sem o DMA ativado: lerdeza na certa.

Vamos então utilizar o HDparm para melhorar o desempenho do HD. Para ativar o DMA basta inserir o seguinte bloco de texto no arquivo /etc/hdparm.conf:

command_line {
hdparm -c3 -m16 -d1 /dev/hda
}

E pronto! Ao reinicializar sua máquina, tudo estará mais ligeiro.

Para ver o quanto seu HD ficou mais rápido, antes de modificar o arquivo supracitado, dê algumas vezes o comando

# hdparm -t /dev/hda


Agora dê o comando

# hdparm -c3 -m16 -d1 /dev/hda


, e logo após dê o comando

# hdparm -t /dev/hda


novamente. Viu como melhorou?

WindowMaker

Como gerenciador de janelas, ou window manager, eu costumo utilizar o WindowMaker. Antes era por causa do desempenho, agora é por questão de gosto mesmo.

Para instalar o pacote Debian mais recente para sua configuração basta dar o comando:

# apt-get install wmaker

Giro (Vésper)

Finalmente consegui configurar o Giro para funcionar no meu laptop. Para quem não sabe, Giro é o serviço de banda larga da Vésper, em São Paulo. A diferença para outros serviços de banda larga é que este utiliza um modem com tecnologia CDMA (G3) e interface USB. Ou seja, dor de cabeça (ou diversão, dependendo do usuário) para quem usa Linux. A marca e modelo do modem é LG LST-D400.

Antes de mais nada, configure o seu kernel para possuir os seguintes módulos:

alias char-major-108 ppp_generic
alias /dev/ppp ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

Os itens da lista acima foi tirado do meu modules.conf. Aproveite e coloque as linhas acima no modules.conf, caso após ter incluído os módulos via configuração do kernel eles não tenham surgido.

Depois crie/edite os seguintes arquivos: /etc/ppp/peers/giro e /etc/chatscripts/giro. Eis o arquivo /etc/ppp/peers/giro:

/dev/ttyACM0
noauth
connect "/usr/sbin/chat -V -v -f /etc/chatscripts/giro"
defaultroute
lock
usepeerdns
debug
user "kamikaze@giro.com.br"
noipdefault
nobsdcomp

E eis o /etc/chatscripts/giro:

TIMEOUT 10
ABORT "BUSY"
ABORT "NO ANSWER"
ABORT "NO CARRIER"
ABORT "NO DIAL TONE"
ABORT "RING\r\n\r\nRING\r"
'' AT+CRM=1
TIMEOUT 60
OK ATD\#777
CONN

Só falta definir sua senha no arquivo /etc/chap-secrets. Basta inserir no arquivo a seguinte linha:

"usuario@giro.com.br" * "suasenha"

É claro que você deve utilizar suas próprias informações.

Agora basta dar o seguinte comando:

$ sudo pon giro


E pronto! Você estará conectado! Caso isto não ocorra, dê um tail no arquivo /var/log/messages para saber qual o problema.

placa de rede wireless

debian laptop Comprei uma plaquinha PCMCIA para poder acessar o Speedy Wi-Fi, cuja marca e modelo é TRENDnet tew-226pc.

Embora eu ainda não tenha acessado os hotspots Speedy Wi-Fi, consegui estabeler com sucesso uma conexão caseira usando o roteador D-Link DI-514, um roteador com 4 portas RJ45 e access point padrão 802.11b (11Mbps) para acesso sem-fio. Assim, basta eu ligar o laptop que já estou ligado à internet.

Seguem os passos executador por mim, recolhidos de fontes na internet. (a maior parte das informações foi obtida em http://tiefighter.et.tudelft.nl/~arthur/wpc54g/)

Primeiro identifiquei qual o driver certo para o funcionamento da placa pcmcia em sistemas Linux. Meus dados são:
* modelo: TRENDnet tew-226pc
* núcleo: Realtek RTL8180L
* driver: driver correspondente ao núcleo RTL8180L, para Windows XP(v1.73), através do ndiswrapper

Após baixar o driver e descompactá-lo em local conveniente, editei o arquivo /etc/apt/sources.list adicicionado o seguinte endereço:

deb http://rigtorp.se/debian/ unstable/

Após atualizar o apt (com o comando apt-get update), instalei o restante dos pacotes necessários:

# apt-get install ndiswrapper ndiswrapper-source


Abri o pacote com o código fonte do módulo, e entrei no mesmo para criar um pacote debian (adapte KSRC para apontar para o código-fonte de seu kernel)(note que rules é um executável que se encontra dentro do diretório criado):

# debian/rules binary-modules KSRC=/lib/modules/`uname -r`/build

Instale o pacote debian criado:

# dpkg -i ../ndiswrapper-modules-*.deb


Agora vá para o diretório com o driver de sua placa e carregue o módulo com o driver:

# ndiswrapper -i NET8180.inf # update-modules # modprobe ndiswrapper


Para que o módulo seja sempre carregado em tempo de boot:

# echo ndiswrapper “”>>“” /etc/modules


Agora instale o pacote dhcpcd:

# apt-get install dhcpcd


Acrescentei estas linhas ao arquivo /etc/dhcpc/config:

wlan0)

# Uncomment this to allow dhcpcd to set the DNS servers in /etc/resolv.conf
# If you are using resolvconf then you can leave this commented out.
#SET_DNS='yes'

# Add other options here, see man 8 dhcpcd-bin for details.
OPTIONS=''
;;

Embora eu ache que não faça diferença =).

debian laptop Para que tudo se automatize, e as configurações entrem em vigor ao inserir a placa pcmcia, instale os pacotes waproamd e ifplugd:

# apt-get install waproamd ifplugd


Edite o arquivo /etc/default/ifplugd, configurando HOTPLUG_INTERFACES para “all” e edite /etc/default/waproamd configurando HOTPLUG_INTERFACES para “all”. Por fim edite o arquivo /etc/network/interfaces e inclua:

iface wlan0 inet dhcp

E reinicie os seguintes serviços:

# /etc/init.d/ifplugd restart # /etc/init.d/waproamd restart


Cheque se tudo está funcionando através dos comandos iwlist e iwconfig. Cheque as páginas de manual para saber como utilizar estas ferramentas (inclusas no pacote wireless-tools).

câmera digital

Comprei uma câmera digital, uma Canon PowerShot A400. Esta câmera é muito boa, considerando a qualidade das imagens e funcionalidades. Mas existe um porém: não consegui acessar seu conteúdo montando sua memória como um dispositivo de armazenamento USB padrão.

O problema é que as câmeras da Canon não utilizam o protocolo “USB Mass Storage”. Sendo assim, é necessário a instalação dos seguintes pacotes Debian: libgphoto2-2, gphoto2 e gtkam (opcional).

Após instalados, é só digitar a seguinte linha de comando (note que é necessário estar como superusuário, ou usar sudo) :

# gphoto2 –auto-detect


Assim é possível observar se a câmera foi detectada corretamente. Para ter acesso às imagens em sua memória, basta entrar com:

# gphoto2 –list-files


O resto dos comando veja nas páginas de manual do gphoto2, ou utilize o gtkam, um ui para o gphoto2.

USB Mass Storage Device

Comprei um HD de 200GB para armazenar alguns títulos de MP3 e coloquei-o em um dispositivo USB para acesso externo ao HD, mas tive problemas em montá-lo utilizando o comando:

$ mount /media/usb


Descobri que, devido ao modo como particionei o HD, o mesmo não constava como /dev/sda1, como acontece costumeiramente com pendrives e similares, e sim em /dev/sda5. Descobri isto através do comando:

# fdisk -l


Assim, bastou acrescentar a seguinte linha no arquivo /ets/fstab:

/dev/sda5 /media/ehdd auto rw,user,noauto 0 0

E, obviamente, criar o diretório /media/ehdd:

# mkdir /media/ehdd


Assim, para montar o HD externo, basta executar:

$ mount /media/ehdd

Unison

Como possuo contas em vários micros (casa, estágio, faculdade), com arquivos interrelacionados espalhados por todos eles, é muito difícil saber qual arquivo está onde e em que máquina está o arquivo mais recententemente editado. Para solucionar isto procurei por algum sofware que pudesse sincronizar meus arquivos, inclusive entre sistemas Windows e Linux. Encontrei o Unison

Muito prático. Para que funcione também no Windows (que não possui SSH, necessário ao Unison), instale o OpenSSH. Posso dizer que funciona bem, pois sincronizei quase 1GB de fotos que tirei em minha câmera digital entre o o meu desktop (Windows) e meu laptop (Debian Linux). E para visualizar estas fotos utilizo o gtksee.

Xine e MPlayer

Para instalar o MPlayer siga as instruções da página http://debian.video.free.fr/, que hospeda pacotes não oficiais (e portanto mais recentes) do MPlayer.

Ou seja, caso sua distribuição Debian seja Sarge (testing), coloque a seguinte linha no arquivo /etc/apt/sources.list:

deb ftp://ftp.nerim.net/debian-marillat/ testing main

Agora instale o pacote mplayer-686 e todos os pacotes recomendados e sugeridos por ele.

O Xine eu não me lembro, mas devo ter instalado dos repositórios oficiais mesmo, com o comando:

# apt-get -t unstable install xine-lib xine-ui

TeX/LaTeX

Para produzir textos na faculdade, costumo utilizar o LaTeX. Caso você se interesse, existe um ótimo tutorial para editar textos usando esta ferramenta, o The Not So Short Introduction to LaTex (arquivo PDF).

Para ter um ambiente LaTeX em sua máquina, basta instalar os seguintes pacotes:

# apt-get install tetex-base tetex-bin tetex-extra tetex-doc lacheck

Squeak

Squeak se trata de um arcabouço (ou framework) para a linguagem SmallTalk, considerada por muitos a melhor linguagem já escrita.

Infelizmente o Squeak, apesar de ser um projeto Open Source, não possui um pacote oficial do Debian. Assim foi preciso modificar algumas coisinhas antes de instalá-lo em meu sistema.

Assim foi necessário inserir no arquivo de fontes do APT os repositórios para os pacotes pré-compilados do Squeak. O arquivo a ser modificado é o /etc/apt/sources.list, e deve-se colocar as seguintes linhas:

deb http://box2.squeakfoundation.org/files/debian/ unstable main
deb-src http://box2.squeakfoundation.org/files/debian/ unstable main

Depois devemos atualizar o banco de dados do APT e instalar o Squeak com os seguintes comandos:

$ sudo apt-get update
$ sudo apt-get install squeak squeak-image3.6


E pronto, basta digitar squeak na linha de comando e tudo funcionará bem.

Fonte: http://minnow.cc.gatech.edu/squeak/3616

Posted in linux, software | Tagged , , | Leave a comment