Tudo atualizado via cvsup e compilado. Deve ter levado uns 10 dias no total (incluindo o ports).
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-STABLE #2: Wed Mar 21 12:55:18 BRST 2007 This email address is being protected from spambots. You need JavaScript enabled to view it. :/usr/src/sys/i386/compile/MUSASHI
WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant
WARNING: MPSAFE network stack disabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) M processor 1.73GHz (799.68-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6d8 Stepping = 8
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-STABLE #2: Wed Mar 21 12:55:18 BRST 2007 This email address is being protected from spambots. You need JavaScript enabled to view it. :/usr/src/sys/i386/compile/MUSASHI
WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant
WARNING: MPSAFE network stack disabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) M processor 1.73GHz (799.68-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6d8 Stepping = 8 Features=0xafe9fbff&
<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,
MMX,FXSR,SSE,SSE2,SS,TM,PBE> Features2=0x180<EST,TM2>
real memory = 528285696 (503 MB)
avail memory = 507547648 (484 MB)
kqemu version 0x00010300
kqemu: KQEMU installed, max_locked_mem=253584kB.
kbd1 at kbdmux0
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
ACPI: Overriding _OS definition with "Windows 2001"
acpi0: on motherboard
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: port 0x1008-0x100b on acpi0
acpi_ec0: port 0x62,0x66 on acpi0
cpu0: on acpi0
acpi_perf0: on cpu0
acpi_perf0: failed in PERF_STATUS
attach device_attach: acpi_perf0 attach returned 6
acpi_perf0: on cpu0
acpi_perf0: failed in PERF_STATUS
attach device_attach: acpi_perf0 attach returned 6
acpi_throttle0: on cpu0
pcib0: port 0xcf8-0xcff on acpi0
pci0: on pcib0
agp0: port 0x5000-0x5007 mem 0xd0800000-0xd087ffff,0xc0000000-0xcfffffff,
0xd0880000-0xd08bffff irq 10 at device 2.0 on pci0
agp0: detected 7932k stolen memory
agp0: aperture size is 256M
drmsub0: : (child of agp_i810.c) on agp0
info: [drm] AGP at 0xd0800000 0MB
info: [drm] Initialized i915 1.5.0 20060119
pci0: at device 2.1 (no driver attached)
pcib1: irq 10 at device 28.0 on pci0
pci16: on pcib1
bge0: mem 0xd0000000-0xd000ffff irq 10 at device 0.0 on pci16
miibus0: on bge0
brgphy0: on miibus0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto
bge0: Ethernet address: 00:14:c2:e7:d2:55
bge0: [GIANT-LOCKED]
pcib2: at device 28.1 on pci0
pci32: on pcib2
uhci0: port 0x2000-0x201f irq 10 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: port 0x2020-0x203f irq 11 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: port 0x2040-0x205f irq 11 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: mem 0xd0980000-0xd09803ff irq 10 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: wrong number of companions (4 != 3)
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: on ehci0
usb3: USB revision 2.0
uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 8 ports with 8 removable, self powered
pcib3: at device 30.0 on pci0
pci2: on pcib3
cbb0: mem 0xd0400000-0xd0400fff irq 11 at device 6.0 on pci2
cardbus0: on cbb0
pccard0: on cbb0
pci2: at device 6.5 (no driver attached)
pcm0: port 0x2100-0x21ff,0x2200-0x223f mem 0xd0981000-0xd09811ff,0xd0982000-0xd09820ff
irq 11 at device 30.2 on pci0
pcm0:
isab0: at device 31.0 on pci0
isa0: on isab0
atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2240-0x224f irq 10 at device 31.1 on pci0
ata0: on atapci0
ata1: on atapci0
battery0: on acpi0
battery1: on acpi0
acpi_acad0: on acpi0
acpi_button0: on acpi0
acpi_lid0: on acpi0
acpi_tz0: on acpi0
acpi_tz1: on acpi0
acpi_tz2: on acpi0
atkbdc0: port 0x60,0x64 irq 1 on acpi0
atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
sio0: port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: port 0x3e8-0x3ef,0x100-0x10f irq 3 drq 3 on acpi0
sio1: type 16550A
ppc0: port 0x378-0x37f,0x778-0x77a irq 7 drq 1 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: on ppc0
lpt0: on ppbus0
lpt0: Interrupt-driven port
ppi0: on ppbus0 pmtimer0 on isa0
orm0: at iomem 0xc0000-0xcffff on isa0
sc0: at flags 0x100 on isa0
sc0: VGA
vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 799681511 Hz quality 800
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
ad0: 38154MB at ata0-master UDMA100
acd0: DVDROM at ata0-slave PIO4
Trying to mount root from ufs:/dev/ad0s1a
interface tap0 Not found in bridge
interface tap1 Not found in bridge
Faz tempo que não publico nada, então não fiquem com a impressão que tudo falhou no upgrade. Realmente demorou e encontrei o seguinte erro:
---> Cleaning out obsolete shared libraries
[Updating the pkgdb in /var/db/pkg ... - 823 packages found (-0 +1) . done]
[...]
* misc/kdeaddons3 (kdeaddons-3.5.5)
---> Packages processed: 18 done, 652 ignored, 143 skipped and 4 failed
** Could not clean up temporary directory: Directory not empty
- /var/tmp/portupgradeviBK2OZ6
Como o símbolo "!" mostra, realmente alguns aplicativos falharam. Removi o xine e recompilei a libkde3 com um "make work; make deinstall; make install". Depois disso tudo funcionou. No fim ainda subi o sistema para um 6.2 STABLE. Agora só alegria, até o próximo upgrade :-)
---> Cleaning out obsolete shared libraries
[Updating the pkgdb in /var/db/pkg ... - 823 packages found (-0 +1) . done]
---> Skipping 'www/kdewebdev' (kdewebdev-3.5.5,2) because a requisite package 'kdelibs-3.5.5_2' (x11/kdelibs3) failed (specify -k to force)
---> Skipping 'x11/kde3' (kde-3.5.5) because a requisite package 'kdegames-3.5.5' (games/kdegames3) failed (specify -k to force)
---> Skipping 'games/atlantikdesigner' (kdeaddons-atlantikdesigner-3.5.5) because a requisite package 'kdelibs-3.5.5_2' (x11/kdelibs3) failed (specify -k to force)
---> Skipping 'comms/kallers' (kallers-0.3.0_7) because a requisite package 'kdelibs-3.5.5_2' (x11/kdelibs3) failed (specify -k to force)
---> Skipping 'multimedia/noatun-plugins' (kdeaddons-noatun-plugins-3.5.5) because a requisite package 'kdemultimedia-3.5.5' (multimedia/kdemultimedia3) failed (specify -k to force)
---> Skipping 'misc/kdeaddons3' (kdeaddons-3.5.5) because a requisite package 'kdeaddons-konq-plugins-3.5.5' (misc/konq-plugins) failed (specify -k to force)
** Listing the failed packages (*:skipped / !:failed)
! ports-mgmt/portupgrade (portupgrade-2.2.2_4,2) (invalid package name)
! x11/kdelibs3 (kdelibs-3.5.5_2) (linker error)
* sysutils/eventwatcher (eventwatcher-0.4.2)
* print/kcdlabel (kcdlabel-2.12_4)
* misc/knewsticker-scripts (kdeaddons-knewsticker-scripts-3.5.5)
* x11/xscreensaver-kde (kdeartwork-xscreensaver-kde-3.5.5)
* math/pgcalc (pgcalc2-2.2.4)
* misc/k3b-i18n (k3b-i18n-0.12.17)
* deskutils/ksmoothdock (ksmoothdock-3.6.1)
* deskutils/ktagebuch (ktagebuch-0.74_3)
* sysutils/kcpuload (kcpuload-1.99_6)
* games/kamikaze (kamikaze-0.2.1)
* sysutils/k3b (k3b-0.12.17)
* sysutils/klaptopdaemon (kdeutils-klaptopdaemon-3.5.5)
* x11-themes/qnxstyle (qnxstyle-0.2_3)
* misc/kwatch (kwatch-2.3.3_2)
* databases/kbibtex (kbibtex-0.1.5)
* net/lanbrowsing (kdenetwork-lanbrowsing-3.5.5_1)
* misc/kdeedu3 (kdeedu-3.5.5)
* editors/koffice-kde3 (koffice-1.6.1_1,2)
* net/krdesktop (krdesktop-1.8_4)
* accessibility/kdeaccessibility (kdeaccessibility-3.5.5)
* databases/ksqlanalyzer (ksqlanalyzer-0.2.2_1)
* math/fung-calc (fung-calc-1.3.2b_7)
* misc/ksig (kdeaddons-ksig-3.5.5)
* graphics/libkipi (libkipi-0.1.5)
* ftp/kbear (kbear-3.0.a.1_6)
* graphics/kooka (kdegraphics-kooka-3.5.5)
* databases/ksqlshell (ksqlshell-0.2_1)
* lang/klogoturtle (klogoturtle-0.6_4)
* misc/renamedlgplugins (kdeaddons-renamedlg-plugins-3.5.5)
* irc/kmyirc (kmyirc-0.2.9_5)
* graphics/libkexif (libkexif-0.2.5)
* audio/xmms-kde (xmms-kde-3.1_5)
* deskutils/kblticker (kblticker-0.2.1_2)
* net-im/kpopup (kpopup-0.9.8.2)
* emulators/kmamerun (kmamerun-1.1.0_5)
* ports-mgmt/kports (kports-0.6.1)
* audio/mpeglib_artsplug (kdemultimedia-mpeglib_artsplug-3.5.5)
* security/kgpg (kgpg-1.0.0_6)
* x11-wm/kompmgr (kdebase-kompmgr-3.5.5)
* x11/kdebase3 (kdebase-3.5.5_3)
* x11-themes/kde-windeco-smoothblend (kde-windeco-smoothblend-1.2_3)
* x11-themes/kde-windeco-activeheart (kde-windeco-activeheart-1.1_1)
* deskutils/kickpim (kickpim-0.5.3_4)
* sysutils/kcube (kcube-0.61_4)
* sysutils/kmilo (kdeutils-kmilo-3.5.5)
* finance/kexchange (kexchange-1.0_4)
* net-p2p/ktorrent (ktorrent-2.1)
* databases/mysql-navigator (mysql-navigator-1.4.2_4)
* x11-themes/kdeartwork3 (kdeartwork-3.5.5)
* deskutils/kompose (kompose-0.5.1_3)
* sysutils/krename (krename-3.0.13)
* textproc/kbedic (kbedic-4.0_2)
* misc/kicker-applets (kdeaddons-kicker-applets-3.5.5)
* x11-themes/baghira (baghira-0.8)
* misc/konq-plugins (kdeaddons-konq-plugins-3.5.5)
* converters/ktextdecode (ktextdecode-3.0_4)
* x11-themes/phase (phase-0.7_1)
* net/smb4k (smb4k-0.8.0)
* sysutils/cdbakeoven (cdbakeoven-1.8.9_9)
* graphics/kbarcode (kbarcode-2.0.5)
* games/kbilliards (kbilliards-0.8.7b)
! graphics/ImageMagick (ImageMagick-6.3.2.0) (unknown build error)
* x11-themes/qinx (qinx-1.4_1)
* x11-themes/kde-windeco-neos (kde-windeco-neos-0.2b_3)
* graphics/pstoedit (pstoedit-3.44_1)
* graphics/digikam (digikam-0.9.0)
* graphics/digikamimageplugins (digikamimageplugins-0.9.0)
* x11-clocks/kdetoys3 (kdetoys-3.5.5)
* misc/kdeutils3 (kdeutils-3.5.5_2)
* graphics/autotrace (autotrace-0.31.1_7)
* sysutils/kdirstat (kdirstat-2.4.4_1)
* devel/kdbg (kdbg-2.0.4)
* deskutils/metabar (metabar-0.8_2)
* databases/knoda (knoda-0.8.1)
* x11-themes/kde-style-comix (kde-style-comix-1.3.7_1)
* x11-themes/kdmtheme (kdmtheme-1.1.2)
* deskutils/dragstack (dragstack-1.4_2)
* x11-themes/kde-style-lipstik (kde-style-lipstik-2.2_1)
* devel/kdesdk3 (kdesdk-3.5.5)
* devel/kdevelop (kdevelop-3.3.5)
* textproc/kdiff3 (kdiff3-0.9.91)
* misc/katalog (katalog-0.3_3)
* multimedia/xine_artsplugin (kdemultimedia-xine_artsplugin-3.5.5)
* graphics/kallery (kallery-1.0.7a_6)
* games/easysok (easysok-0.3.5_2)
* sysutils/filelight (filelight-1.0)
* x11-themes/kde-windeco-knifty (kde-windeco-knifty-0.4.2_3)
* x11-themes/kde-windeco-crystal (kde-windeco-crystal-1.0.2)
* games/kwappen (kwappen-1.1.5_4)
* multimedia/k9copy (k9copy-1.0.4)
* graphics/kuickshow (kdegraphics-kuickshow-3.5.5)
* graphics/potracegui (potracegui-1.3.4)
* multimedia/kaffeine (kaffeine-0.8.3_1)
* editors/kate-plugins (kdeaddons-kate-plugins-3.5.5)
* games/kdegames3 (kdegames-3.5.5)
* games/kfreerings (kfreerings-1.0_3)
* misc/kfile-plugins (kdeaddons-kfile-plugins-3.5.5)
* ftp/kasablanca (kasablanca-0.4.0.2_2)
* deskutils/kchmviewer (kchmviewer-2.7)
* editors/kxmleditor (kxmleditor-1.1.4_3)
* net-p2p/kmldonkey (kmldonkey-0.10.1_3)
* x11-themes/kde-style-tiblit (kde-style-tiblit-1.2_3)
* audio/juk (kdemultimedia-juk-3.5.5)
* multimedia/kdemultimedia3 (kdemultimedia-3.5.5)
* deskutils/kdepim3 (kdepim-3.5.5_1)
* mail/kshowmail (kshowmail-3.1.0_5)
* graphics/kamera (kdegraphics-kamera-3.5.5)
* print/kpdftool (kpdftool-0.22)
* mail/kbiff (kbiff-3.8)
* deskutils/kluje (kluje-0.7_4)
* games/ksudoku (ksudoku-0.3_1)
* ftp/kwebget (kwebget-0.8.1_2)
* sysutils/desktopbsd-tools (desktopbsd-tools-1.1)
* deskutils/kbirthday (kbirthday-0.7.3_3)
* science/kst (kst-1.3.1)
* audio/klira (klira-0.1_3)
* graphics/gwenview (gwenview-1.4.1)
* net/kdenetwork3 (kdenetwork-3.5.5_1)
* games/kpuzzle (kpuzzle-0.4_3)
* print/kover (kover-2.9.5_4)
* x11-wm/kappdock (kappdock-0.46.1_5)
* games/knights (knights-0.6_4)
* graphics/pixieplus (pixieplus-0.5.4.1_7)
! multimedia/xine (xine-0.99.4_8) (install error)
* games/ktritoc (ktritoc-1.0_6)
* graphics/kalbum (kalbum-0.8.0_4)
* sysutils/komparator (komparator-0.5)
* deskutils/basket (basket-0.6.0)
* multimedia/hayes (hayes-1.4_5)
* x11-themes/kde-style-polyester (kde-style-polyester-1.0)
* x11-themes/moodin (moodin-0.4.2)
* sysutils/kdeadmin3 (kdeadmin-3.5.5)
* graphics/kdegraphics3 (kdegraphics-3.5.5_1)
* editors/kile (kile-1.9.3)
* deskutils/kchm (kchm-0.6.5_4)
* misc/krecipes (krecipes-0.9.1)
* ports-mgmt/barry (barry-0.7_2)
* misc/kaddressbook-plugins (kdeaddons-kaddressbook-plugins-3.5.5)
* net/knemo (knemo-0.4.1)
* www/kdewebdev (kdewebdev-3.5.5,2)
* x11/kde3 (kde-3.5.5)
* games/atlantikdesigner (kdeaddons-atlantikdesigner-3.5.5)
* comms/kallers (kallers-0.3.0_7)
* multimedia/noatun-plugins (kdeaddons-noatun-plugins-3.5.5)
* misc/kdeaddons3 (kdeaddons-3.5.5)
---> Packages processed: 18 done, 652 ignored, 143 skipped and 4 failed **
Could not clean up temporary directory: Directory not empty - /var/tmp/portupgradeviBK2OZ6
Ano novo, vida nova, sistema novo... com a chegada de 2007, resolvi encarar a atualização de meu FreeBSD, de 6.1 para 6.2 (que no momento encontra-se ainda em RC2, mas acho que pouca coisa vai mudar). E também fazer minha primeira postagem de 2007 :-)
Ao invés de iniciar pelo sistema, resolvi começar pelos aplicativos, autilizando primeiramente o ports. Pelas minhas experiências anteriores, a atualização é o único ponto fraco do FreeBSD. Comparando com Debian, com seu sistema via apt, é realmente chato, moroso, e frequentemente com falhas o sistema de atualização dos BSDs. Mesmo assim resolvi encarar o ports, já que o mesmo se encontra em FROZEN para o lançamento do release 6.2.
Antes de iniciar, busquei algumas dicas de atualização e achei a página
http://sig9.com/articles/ports-howto
com um howto sobre atualização do ports. Como não era exatamente o que eu pensava em fazer, resolvi seguir, pois aparenta ser uma solução bem simples.
Já tinha feito a atualização do ports via portsnap, usando as opções fetch e depois extract, então somente refiz o INDEX para iniciar a atualização.
Alterei a sequência de comandos para:
portupgrade -arRP && pkgdb -F && pkgdb -fu
A opção -P do portupgrade faz com que seja buscado primeiramente o pacote já compilado antes de re-compilar a partir dos fontes. Isso tornaria a atualização mais rápida, porém...
---> Fetching the package(s) for 'ctags-5.6' (devel/ctags)
---> Fetching ctags-5.6 fetch:
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6.1-release/All/ctags-5.6.tbz:
File unavailable (e.g., file not found, no access)
O sistema continua buscando packages-6.1-release, o que é correto já que ainda não foi atualizado, mas os pacotes compilados só estão disponiveis pro release 6.2... sendo assim, não consegui poupar o tempo que queria...
Até o momento a atualização dos aplicativos já consumiu 20 horas, sem vistas de acabar. Ao menos está indo de uma forma menos traumáticas que das outras vezes. Vamos ver qual vai ser o resultado final...
Para quem diz que hacker não bebe: encontrei uma cerveja, e deliciosa, chamada "Hacker-Pschorr". Cerveja de trigo, alemã, feita segunda a lei da pureza. Dilissa!!!!!!!!!
A foto ficou meio tremidinha, mas é que depois de uma caixa de Hacker.... difícil manter o prumo...
A vida em Dallas, EUA, não é fácil: a cada dia somos tentados pelas belezas da tecnologia e por seus preços tentadores. Não resistindo a tais tentações, sucumbi com meu cartão de crédito em tudo quanto é traquitana eletrônica com led (se o led pisca então...).
O resultado disso pode ser visto na figura. Entre viagens à China e EUA, pude adquirir, somente nesse ano:
O fato de algumas coisas não funcionarem como deviam me deixa irritado às vezes, mas basta ver alguns leds piscando que esqueço tudo e volto a gastar. Para minha sorte as vendas de PS3 esgotaram mais rápido do que eu pude gastar. Só me resta ficar com meus brinquedos caros e ficar tentando descobrir como corrigir os endereçamentos de memória para poder funcionar no meu FreeBSD 6.0 bonitinho.
Antes de algum espertão perguntar o motivo pelo qual eu só testei alguns dos equipamentos, como placas PCMCIA, somente em FreeBSD: no meu laptop só tem o mesmo. No windows, no Linux, no fear. Just BSD.
Dica retirada de http://www.network-theory.co.uk/docs/cvsmanual/cvs_53.html.
Em alguns trabalhos cooperativos, sempre que baixo uma versão específica do cvs, utilizando algo como "cvs checkout -r1.1 programa", acabou com um erro de "sticky tag" ao fazer o novo commit.
Pelo link acima vi que basta usar um "cvs update -A" para resolver isso.
Nesse domingo de feriadão, fui saudado com uma alteração no horário de verão de minhas máquinas. Eu já sabia que isso iria acontecer algum dia, já que o governou alterou o início do mesmo para seguir o calendário eleitoral.
Porém eu aguardava algum arquivo de zona lançado oficialmente por alguma entidade como o CAIS. Como isso não ocorreu, criei meu próprio arquivo de zona, baseado em um modelo de 2005, chamado hverao2006.zic, e coloquei a data de início, 00:00 horas de 05 de novembro, e a data final, 00:00 horas de 25 de fevereiro de 2007:
Rule Brazil 2006 only - Nov 05 00:00 1 D Rule Brazil 2007 only - Feb 25 00:00 0 S Zone America/Sao_Paulo -3:00 Brazil BR%sT Zone Brazil/East -3:00 Brazil BR%sT
Verifiquei se meu /etc/localtime apontava como link simbólico para /usr/share/zoneinfo/Brazil/East ou /usr/share/zoneinfo/America/Sao_Paulo(ambos são corrigidos pelo arquivo acima) e simplesmente atualizei a informação de timezone:
zic hverao2006.zic
Hoje me deparei com mais um problema estranho, daqueles que vemos nos momentos mais indesejados durante as tarefas mais corriqueiras.
Copiei minha imagem de Windão do meu laptop, FreeBSD 6.1, para meu desktop de casa, Ubuntu 6.06.1 (LTS). Minha idéia é usar a imagem do Windão para levantar uma conexão VPN à empresa. Como o aplicativo só roda em Windão... nada resta além de instalar no gateway de casa e começar a debugar a conexão (acho que é só um IPsec, mas....).
Fiz a conexão remote via ssh com o parâmetro "-X". Qual foi minha surpresa quando recebi o seguinte erro:
helio@picasso tmp> qemu -hda windows.img
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 25 (X_SendEvent)
Resource id in failed request: 0x44
Serial number of failed request: 12
Current serial number in output stream: 17
Cara de "ué?!" e alguns momentos de leitura da manpage me deram a seguinte alternativa:
helio@picasso tmp> qemu -hda windows.img -std-vga
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 25 (X_SendEvent)
Resource id in failed request: 0x44
Serial number of failed request: 12
Current serial number in output stream: 17
A cara de "ué?!" passou para um rosto de "saco...". Testei a conexão com um simples "xclock" que funcionou perfeitamente. Fiquei mais perdido ainda. Não restando muita opção, busquei ajuda no google. Felizmente achei exatamente o que queria:
O grande macete foi reiniciar a conexão ssh com o parâmetro "-Y". Funcionou!!!! VPN debugging, aqui vou eu!!!!!!!!!
Após meses de Ubuntu instalado em minha máquina em casa, minha filha reclamou que o som estava "quicando". Fui dar uma olhada e qual não foi minha surpresa: o som estava realmente quicando.
Como a nova geração de kernels 2.6 não dispõe mais da facilidade de patch para low latency, o que permite uma funcionalidade multimídia muito boa no sistema (evita esses "pulos" durante a execução de uma música), resolvi utilizar uma dica que havia lido na LinuxMagazine do Brasil.
Infelizmente eu havia doado a revista para futuras leituras. Busquei o mesmo artigo no bom e velho google e.... nada! Procurei na Linux Magazine, Brasil, e... nada! Em pleno desespero comecei a procurar por tudo no Google: "multimedia", "multimedia priority", "multimedia priority scheduling", "multimedia priority scheduling ubuntu",e assim fui. Felizmente, entre os vários chutes, acertei o artigo:
http://www.linux-magazine.com/issue/65/Realtime_Computing_With_Multimedia_Apps.pdf
O excelente artigo, de Oliver Frommel, descreve as alternativas para melhorar a prioridade de som nos kernels atuais. Uma das alternativas, que não exige re-compilação de kernel nem aplicação de patches é através do uso de RTLIMITS. Tão simples que basta somente alterar o arquivo /etc/security/limits.confe adicionar as seguintes linhas:
@audio hard rt_priority 80 @audio hard nice -10
Simples, rápido e eficaz. Ainda não entendi o motivo pelo qual isso já não vem configurado como padrão....
Não sou fã de Windows, já faz uns 10 anos, mas invariavelmente preciso verificar algum documento ou rodar um programa da empresa nele. Para isso instalei no qemu uma imagem do Windows 2000.
Como parte de minha displicência pelos sistema de Bill (Unix: live free or die), eu sempre acabo esqueçendo a senha do administrador. Na rede é possível usar a image do programa abaixo:
Baseado em Linux, faz todo o serviço para reinicializar (recovery) de senha. Muito útil.
Depois de fazer isso, lembre-se de se benzer contra o "Exu tranca sistemas" e voltar a usar o bom e velho (mas sempre moderno) Unix.
Brincando com qemu, um emulador que permite rodar vários sistemas operacionais a partir de um sistema nativo, resolvi instalar o Windows2000 (padrão da empresa) sobre o FreeBSD 6.1 que tenho no laptop. Para ganhar performance, ainda compilei e instalei o módulo kqemuque aumenta a performance do sistema emulado. Fiz uma instalação sobre uma partição de 5 GB criada da seguinte forma:
musashi# dd if=/dev/zero of=/usr/local/tmp/windows.img bs=1024k count=5000
O parâmetro bs=1024k descreve blocos de 1 Kbytes enquanto que count=5000faz 5000 iterações sobre esse valor (5000 * 1 Kbytes = 5 GBytes).
Para utilizar a instalação a partir de um cd, basta seguir a seqüência de comandos abaixo:
helio@musashi: tmp$ kdesu "qemu -hda windows.img \
-win2k-hack \
-net nic \
-net tap \
-usb \
-localtime \
-cdrom /dev/acd0 \
-boot d \
-soundhw all" &
Com kdesu é possível rodar a aplicação como root, o que permite o uso da interface de rede. Já o parâmetro -win2k-hack, é descrito como um workaround para um problema que apareçe na instalação do Windows 200x e XP. Já os parâmetros -net nic -net tap habilitam o uso da interface de rede tap0 (FreeBSD, lembra?). O -usb seria para utilizar os dispositivos usb do sistema, mas não funcionou comigo. -localtime destina-se a utilizar o horário do sistema nativo no emulado, o que evita distorções de tempo. Finalmente, -soundhw allpossibilita o uso de som no sistema emulado.
Com tudo em mão, basta seguir com a instalação normal do Windão.
Se você, assim como eu, notar que o mouse simplesmente não funciona, indo sempre parar no canto esquerdo: não se desespere. Isso é somente um parâmetro de SDL que pode ser resolvido da seguinte forma:
helio@musashi: tmp$ env SDL_VIDEO_X11_DGAMOUSE=0 kdesu "qemu \
-hda windows.img \
-win2k-hack \
-net nic \
-net tap \
-usb \
-localtime \
-cdrom /dev/acd0 \
-boot d \
-soundhw all" &
SDL_VIDEO_X11_DGAMOUSE=0faz todo o serviço necessário.
Se tudo ocorreu sem demais problemas, você verá uma bela tela como essa abaixo:
Mas não se anime muito com o fato de rodar o Windows sobre outro sistema: os defeitos e lentidões continuarão o mesmo...
É interessante quando pessoas não versadas sobre a arte zen da computação (sim, é uma arte) usam os sistemas que para nós são parte de nosso dia-à-dia. Coisas bizarras e inusitadas simplesmente não funcionam ou você, ao contrário, nota que alguém usa aquilo para alguma coisa.
Com a dança de cadeiras de máquina, fiquei com os seguintes equipamentos:
Voltando à questão do som, minha esposa veio reclamar da última máquina descrita: o som não funcionava. Eu, como não a utilizo muito (não via prompt, somente remotamente), nunca tinha notado isso. Fui verificar o que havia ocorrido já que o som funcionava perfeitamente na "era Debian" e eu não havia formatado a máquina, apenas realizado um "aptitude dist-upgrade" para Ubuntu (não foi tão fácil assim, mas também não foi tão difícil...).
Primeiramente verifiquei qual interface de som eu tinha instalado (somente lembrava que era on-board em uma placa ASUS A7V8X-X:
picasso:etc# lspci | grep -i multimedia
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc.
VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
Notei que vários módulos inúteis estavam carregados no kernel, inclusive um redirecionando o som para interface dummy, o que estava causando a "falta de som". Removi os módulos desnecessários e carreguei o módulo snd-via82xx. Para minha surpresa, o som não funcionou...
Escarafunchando pelo google a fora encontrei uma dicas místicas de pessoas que usaram o controle de som do Gnome para configurar a placa. Segui a mesma receita e dessa vez o som funcionou. Verifiquei o que havia alterado e notei que o módulo ad1889 havia sido carregado, o que permitiu que o som funcionasse. Uma vez carregado, pode-se verificar se tudo está corretamente assim:
picasso:etc# cat /dev/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.10rc3 emulation code)
Kernel: Linux picasso 2.6.15-23-k7 #1 SMP PREEMPT Tue May 23 14:20:54 UTC 2006 i686
Config options: 0
Installed drivers:
Type 10: ALSA emulation
Card config: VIA 8235 with AD1980 at 0xe000, irq 201
Audio devices: 0: VIA 8235 (DUPLEX)
Synth devices: NOT ENABLED IN CONFIG
Midi devices: NOT ENABLED IN CONFIG
Timers: 7: system timer
Mixers: 0: Analog Devices AD1980
Depois inclui os módulos necessários para que carregassem no boot assim:
picasso:etc# echo snd-via82xx >> /etc/modules
picasso:etc# echo snd-ad1889 >> /etc/modules
Para evitar que o sistema leia outros módulos e não os que defini, simplesmente renomeei o diretório /etc/modprobe.d para /etc/modprobe.d.sai_seu_feio. Não é uma solução das mais bonitas, mas um dia eu arrumo isso...
Novo trabalho, novos desafios. Umas das primeiras coisas que fiz foi livrar meu laptop dos grilhões que o prendiam e instalar o bom e velho FreeBSD, release 6.1. Bom sistema, tudo funcionando (ou quase tudo). Eis que resolvi recuperar alguns dados que gravei em um DVD:
musashi# ls -skh /cdrom/
ls: Backup-musashi_Win2k-2005-04-17.tar: Value too large to be stored in data type
total 227 227
Backup-musashi_Win2k-2005-04-17.toc.gz
Fora o fato bizarro de eu estar tentando acessar um backup de Windows, achei sacal o problema de não conseguir ler a mídia. Buscando na rede, descobri que existe uma limitação no driver cd9660 para ler arquivos maiores de 2GB.
Uma busca árdua no google me levou ao link:
Apliquei a alteração:
--- sys/isofs/cd9660/cd9660_node.h.org Wed Mar 16 09:09:52 2005
+++ sys/isofs/cd9660/cd9660_node.h Sun Jan 8 00:14:54 2006
@@ -69,7 +69,7 @@
ino_t i_ino; /* inode number of found directory */
long iso_extent; /* extent of file */
- long i_size;
+ u_long i_size;
long iso_start; /* actual start of data of file (may be different */
/* from iso_extent, if file has extended attributes) */
ISO_RRIP_INODE inode;
Ao invés de patch, editei o arquivo não mão, já que alteração era de long para u_long somente. Vamos ver se funciona....
Page 31 of 33