my sftp beats your ftp’s ass big time!

Het klinkt onwaarschijnlijk, maar soms wordt me nog gevraagd om de FTP-toegang naar een unix/linux-server waar ik vaagweg iets mee te maken heb, open te laten zetten. Ik zeg dan steevast “Neen”, want ik ben -dat weet ge- een moeilijk mens. Daarnaast kan ik mijn botte weigering ook met een paar stevige argumenten staven, zoals daar zijn:

  • FTP is by design absoluut geen veilig protocol
  • op een server mag nooit meer geïnstalleerd staan dan het allernoodzakelijkste; dit beperkt onnodig gebruik van system resources en maakt de attack vector voor hackers (crackers) kleiner
  • en vooral: er is een fantastisch alternatief, SFTP

Mijn antwoord is in de realiteit dus eerder: “Neen, maar ge kunt wel SFTP-toegang krijgen” en ik vervolg met “Dat kan ongeveer hetzelfde, maar het is een uitbreiding op Secure SHell en staat standaard al op de server geïnstalleerd”.
“Maar dat kennen we niet, SFTP”, verzetten de laatsten der FTP’ers zich soms nog. Ik verwijs hun dan naar het sublieme WinSCP voor Windows of naar de FileZilla voor Windows, Mac OS X of Linux en vermeld tenslotte dat ook bv. Dreamweaver SFTP ook perfect ondersteund. Met die (en vele andere) software kan iedereen in een fancy grafische omgeving genieten van het veilige gevoel van SFTP. Zeg nu zelf, waarom zoudt ge dan nog FTP-toegang moeten hebben?
(Voetnoot: wat ik meestal niet vertel 😉

futtta klunst weer (met MBR’s)

Ik had weer eens stom gedaan! Ubuntu installeren, daar kan tegenwoordig niets fout bij gaan, toch? Dacht ik ook, toen ik mijn laptop bootte met de Ubuntu Gutsy CD om van een externe HD (a whopping 4Gb in een Icybox!) een ‘disktop’ te maken. Met die disktop wilde ik de regel dat een werknemer geen ander OS mag installeren op de precious company hardware, een beetje geniepig omzeilen.
Wat er dan fout liep? Wel, omdat ik mijn laptop eerst had laten booten van de Ubuntu CD en dan pas de externe HD had ingeplugd, overschreef de Ubuntu installer (na succesvolle setup op /dev/sdb) de MBR van de interne harde schijf (/dev/sda, hd0 voor grub) waarop mijn corporate WinXP stond. Het nuken van de MBR op de eerste HD is in een aantal scenario’s ongetwijfeld wenselijk, maar ik zat daar wel mooi met de gebakken peren: Grub bleef hangen in stage 1 zolang de externe schijf er niet aanhing.
Door dat stomme kabeltje te laat in te pluggen, heb ik een beetje moeten wroeten vooraleer ik terug een volledig werkend systeem had. De MBR herstellen met de XP recovery console kon al niet: ik heb hier thuis geen XP en die cd gaan vragen aan onze helpdesk leek me al bij al geen goed idee. Google toonde me gelukkig de weg naar MBR-zielerust; ms-sys is een linux utility om MS Windows compatibele mbr’s te schrijven. Booten van Ubuntu CD, “apt-get install ms-sys” en “ms-sys -m /dev/sda” en mijn corporate PC was terug in originele staat! Oef, konden ze mij alleszins al niet meer op staande voet ontslagen 😉
Volgende stap; een MBR met grub stage 1 op de externe HD schrijven en grub dan volledig van die schijf laten booten. No biggy; opnieuw booten met de Ubuntu CD, vanop de command line grub opstarten, met “find /boot/grub/stage1” checken waar grub geinstalleerd staat (hd0 dus) en dan grub zijn ding laten doen met “root (hd0,0)” en “setup (hd0)“. Tenslotte /boot/grub/menu.lst nog aanpassen om te booten van hd0 ipv hd1 en pats-boem-klets; ik had niet enkel een WinXP op mijn laptop, maar ook een bootende Ubuntu op de externe harde schijf. Free at last! Free at last!
Laatste probleempje; de Icybox was nu hd0 voor grub, maar /dev/sdb eenmaal ik in linux was. Geen probleem, behalve bij een Ubuntu kernel upgrade, want dan werd mijn /boot/grub/menu.lst verkeerd aangepast en probeerde grub zijn stage 2 terug op hd1 (de interne schijf) te vinden. Daarvoor paste ik /boot/grub/devices.map nog aan naar

(hd0) /dev/sdb
(hd1) /dev/sda

Het was nog even wachten op een kernel upgrade om te zien of dat werkte zoals verwacht, maar ik was de afgelopen weken alleszins weer een happy pinguin. Tot -tja, ik ben echt wel een kluns- … tot ik deze ochtend mijn Icybox al vouwfietsend uit m’n halfopen computertas op straat hoorde vallen. Proberen booten, maar alles is kapot en fsck biedt geen redding. Ik heb dus geen Ubuntu disktop meer. Zal maar eens naar een 2,5 inch HD van 20Gb ofzo zoeken op Kapaza zeker, dan kan ik nog eens van voren af aan beginnen? Freedom is never free 🙂

Ubuntu 7.10: eyecandy (en meer)

Ik was niet van plan iets over de nieuwe Ubuntu (7.10, uit sinds vorige week) te schrijven, ge kunt moeilijk om de 6 maanden kinderlijk enthousiast gaan doen over iets gewoons als weer eens een nieuwe release van een besturingssysteem, nietwaar? Maar hier zijn we dan toch. Want deze Gutsy Gibbon is zo mooi, Mijnheer!
Gnome 2.20 ziet er weeral wat geraffineerder uit, maar het zijn vooral de visuele effecten die Compiz Fusion middels “3D graphics acceleration” met OpenGL op het scherm schildert, die het grote verschil maken. Kijk zelf:


Na installatie van de compiz config settings manager (ofte ccsm) kun je nog heel wat funkier effecten activeren. Installeren doe je met “Add/ remove programs” of vanop de command line met:

sudo aptitude install compizconfig-settings-manager

Natuurlijk is er meer in de nieuwe Ubuntu dan enkel die eyecandy. Je kunt nu bijvoorbeeld out-of-the-box met meerdere monitoren werken, er is een geïntegreerde desktop-search, je kunt volledige harde schijven encrypteren en je kunt nu lezen en schrijven naar NTFS-partities. Maar da’s allemaal zo … gewoontjes, niet? Want The Strangeloves, Bow Wow Wow en zelfs Melanie C wisten het al: I want candy!
xubuntu logoVoor mijn bejaarde laptop is er ondertussen ook Xubuntu 7.10, Ubuntu maar dan met Xfce ipv het hongeriger Gnome (of KDE in Kubuntu). Staat al geïnstalleerd, loopt vlotjes en ziet er eigenlijk ook helemaal niet slecht uit. Maar ik heb geen sexy (hardware-matige) 3D graphics acceleration op die oude koffiemolen, dus daar moet ik hier niet meer echt over uitweiden, toch?

WordPress automagisch upgraden (nu met nog slimmer hondje)

labrador puppyDe meeste nerds/ bloggers weten het ongetwijfeld al; wordpress.org bracht eergisteren versie 2.3 van de gelijknamige open source blogsoftware uit. Wat die nieuwe versie allemaal kan, hebben anderen al beschreven, ga gerust daar even lezen indien ge op zo’n dingen kickt. Via-via kwam ik echter op een pagina van wordpress zelf waarin werd beschreven hoe ge via subversion (ofte svn) bijna automatisch kon updaten. Omdat ik wel van een potje shell-scripten hou en omdat “bijna automatisch” net niet automatisch genoeg is, heb ik WPuppy.sh bij elkaar gekliederd.
Het beestje probeert samengevat het volgende te doen:

  • het haalt van de wordpress svn de pagina waar alle versies opgelijst staan en distilleert daaruit de laatste versie
  • het vergelijkt die versie met de versie die in een config-bestandje opgeslagen zit en vraagt of ge wilt upgraden
  • het upgrade via svn en opent de update.php van uw blog in lynx, zodat wordpress de laatste aanpassingen kan doen
  • het past de versie in het config-bestandje aan

WPuppy.sh hoort vanzelfsprekend in een linux-hok met shell-access en heeft naast bash oa ook lynx en svn nodig om te kunnen spelen. Bij testen heeft WPuppy.sh oa. succesvol een upgrade van WP 2.2 naar 2.3 op mijn Debian Etch machine gedaan, maar ik kan vanzelfsprekend geen garanties geven dat het jonge beest altijd en overal even zindelijk zal zijn 😉
Wie denkt iets met mijn nieuwe speelkameraadje te kunnen doen, moet:

  • WordPress een eerste keer manueel installeren met svn (zoals beschreven op de WP-pagina over svn)
  • WPuppy.sh afhalen in mijn kennel en in een mandje op zijn/ haar linux-gebaseerde server zetten
  • in dat bestand de waarde van variabelen blogdir en blogurl aanpassen
  • in hetzelfde directory een bestand aanmaken met de naam “wp-installedversion” en daarin de huidige versie opslaan in de juiste vorm (bv. “2.2”).

Als ge dat gedaan hebt, zout ge in principe elke upgrade moeten kunnen doen door WPuppy.sh er gewoon op los te laten. Kleine hondjes zijn leuk, toch?
Update: ik heb één en ander aangepast voor eigen gemak en zielerust en WPuppy.sh maakt nu eerst een backup van database en filesysteem en deactiveert daarna ook alle WP-plugins. Fouten allerhande zouden verder iets properder moeten worden opgevangen en gemeld. Maar van de weeromstuit heeft WPuppy.sh nu natuurlijk ook mysql, mysqldump, tar en gzip nodig om te kunnen blaffen. En dat het nu nog meer dan voordien spaghetti-code is, dat spreekt voor zich toch?

futtta in vps-land

Een korte followup over mijn zoektocht naar hosting: ik heb dus inderdaad voor de Linux VPS oplossing van Host Europe gekozen. Debian met (minimum) 256Mb ram, 15Gb HD en 1000Gb data transfer à 15 euro/maand. Tot nu toe ben ik zeer content van die keuze, alles werkt bijzonder vlotjes, danku.


VPS’en rock big time; root-access alsof je een dedicated server hebt, zonder een dedicated prijs te moeten betalen. Administratie van de eigen virtuele machine is overigens een plakje cake met de “Power Panel” van SWsoft’s Virtuozzo (de commerciële versie van het open source OpenVZ), waarmee je oa heel je VPS kunt rebooten, backuppen en/of restoren en waarmee je in extremis terug naar een maagdelijk lege VPS-image kunt switchen ‘just in case you completely fucked up’. (*)
Ik heb tussen de soep en de patatten ook al één en ander geïnstalleerd en geconfigureerd:
  • upgrade van Debian Sarge naar Etch gedaan (direct ook het meest ingrijpende)
  • de configuratie van sshd, apache, mysql en php aangepast om de boel veiliger te maken
  • de configuratie van apache en mysql gewijzigd om het geheugenverbruik wat te beperken (256Mb is uiteindelijk niet verschrikkelijk veel)
  • eaccelerator installeren om php “wat” te versnellen

2 kleinere sites, waaronder mijn dochterkes pagina’s, zijn al verhuisd en ik hoop dit weekend ook het forum van mijn vrouwken grondig te migreren van het allang ter grave gedragen yabbse naar smf. Dan rest mij enkel het verhuizen van wat shell-scriptjes (oa mijn hpbuilder.sh) en andere test php-prullaria om vervolgens voorgoed uit te loggen uit mijn oude trouwe Gentoo Linux server, een Dell desktopje met grootheidswaanzin eigenlijk. We hebben het 4 jaar lang heel goed met elkaar kunnen vinden, mijn srv-ict-lxfgo en ik 🙂
(*) Wie op basis van bovenstaand enthousiasme een pakketje bij Host Europe bestelt, mag bij “Werber” altijd 143364 invullen, dan krijg ik van mijn nieuwe Duitse vrienden misschien cadeautjes, virtueel geld of gewoon een been om op te kauwen.

decode mp3 to wav linux language nl language nl?

Via blogs over blogs (ongelofelijk hoe populair die zijn) en over seo ben ik op http://www.wordsfinder.com/traffic.php gekomen. Na wat spelen daar ben ik tot de conclusie gekomen dat de keywords “decode mp3 to wav linux language nl language nl” me heel wat traffiek zouden kunnen opleveren.

Dat ik plots enkele duizenden of zelfs maar honderden rippers per dag over de vloer zou krijgen, durf ik sterk betwijfelen, maar omdat het hier inderdaad niet altijd over borsten en billen moet gaan, een korte howto over het omzetten van mp3 in wav’s in Linux met de lame, mpg321 en ffmpeg.
ht is killing music .. and it’s about time too (hattip the ex)lame
Lame (“LAME Ain’t an Mp3 Encoder“!) is een MP3 encoder en decoder. Vanop de linux command line kun je een mp3 omzetten naar wav met volgende opdracht:

$ lame –decode Surfin__USA_edited.MP3 Surfin__USA_edited.wav

De optie die het hem hier doet is decode en daarover vind je in de lame man-page:

–decode
Uses LAME for decoding to a wav file. The input file can be any
input type supported by encoding, including layer II files.
LAME uses a bugfixed version of mpglib for decoding.
If -t is used (disable wav header), LAME will output raw pcm in
native endian format. You can use -x to swap bytes order.
This option is not usable if the MP3 decoder was explicitly dis-
abled in the build of LAME.”

mpg321
mpg321 (“mpg321 is a Free replacement for mpg123, a very popular command-line mp3 player”!) kan dat ook probleemloos en vooral heel snel in vergelijking met lame (zelfs op mijn dsl in qemu op windows):
$ mpg321 Surfin__USA_edited.MP3 -w Surfin__USA_edited.wavUit de mpg321 man-page:

-w N, –wav N
Write to wav file N instead of using the audio device. This option
will be preferred if –cdr or –au are specified too. Specifying ‘-‘ for N
will cause the file to be written to standard output.”

ffmpeg
ffmpeg is een heel ander paar mouwen. Niet omdat ffmpeg mp3’s niet in wav’s zou kunnen omzetten, wel integendeel: ffmpeg kan 10-tallen types audio- en videobestanden converteren naar bijzonder veel andere formaten. Soit, om onze Engelse Beach Boys uit hun mp3 op de wav(-es) te krijgen doen we:

$ ffmpeg -i Surfin__USA_edited.MP3 -ar 44100 ffmpeg-Surfin__USA_edited.wav

En vraag me niet waarom, maar ik kreeg dat toch wel niet aan de gang zekers? Het lijkt erop dat ffmpeg over een fout in het bronbestand valt waar lame en mpg321 geen problemen mee hadden. Een andere mp3-sample gezocht (van de nieuwe Nine Horses CD) en dat werkte idd wel prefect:

$ ffmpeg -i 02.mp3 -ar 44100 02.wav

Aangezien ffmpeg zoveel bestandsformaten en audio- en video-codecs aankan, verwijs ik je graag verder naar de ffmpeg documentatie. En blijf er met uw vuile fikken van als ge enkel “van mp3 naar wav” wilt doen, mpg321 of lame volstaan ruimschoots!
Misschien besluiten met de -licht ontmoedigende- opmerking dat lame, mpg321 en ffmpeg niet noodzakelijk op uw linux-systeem staan en dat, zelfs als ze er staan, mp3-decoding niet persé zal werken. Alles hangt af van de Linux-distributie die je gebruikt en op welke manier de makers lame, mpg321 of ffmeg gecompileerd hebben.
En ik ben benieuwd of hier nu horden googlers op af zullen komen vliegen 😉

Gezocht: linux (vps-)hosting

wikipedia serverkast in amsterdam, van wikicommonsIk ben plotsklaps op zoek naar goeie en goedkope hosting, waarbij volgende features belangrijk zijn:

  • linux (liefst ubuntu of debian, maar redhat ofzo zal wel lukken en in extremis ook freebsd ofzo)
  • shell-access met ssh (inclusief port forwarding!)
  • php5 en mysql5
  • root-toegang (eigenlijk vooral om sshd ook op de https-poort te kunnen zetten, zodat ik me door de ambetante company proxy hier kan wurmen)

Dat ruikt dus naar VPS-hosting en dit Duitse aanbod lijkt me wel interessant en is alleszins goedkoop. Iemand nog tips? 🙂

Gratis en voor *nix online backuppen?

Iemand tips voor online storage services om een backup (een tar.gz-file van pakweg 300mb) bij te houden? Liefst met ondersteuning van ftp of rsync en dus niet met een proprietary windows client of een complexe web interface, zodat ik dat tenminste proper kan shellscripten? Gratis? 🙂

Ubuntu op een oude koffiemolen

xubuntu feisty vanop osdir.comHeb onlangs op mijn oude Dell laptop (een potige Inspiron 3700) Ubuntu Feisty geïnstalleerd en één en ander getweaked.
De koffiemolen heeft een pIII 450Mhz processor, 320Mb geheugen, een HD van pakweg 5Gb en ingebouwde crappy neomagic video+audio. Ik netwerk draadloos met een wireless kaartje van Lucent (Orinocco).
De processie naar mijn persoonlijk (x)ubuntu-walhalla verliep ongeveer als volgt:

  • booten van van de Ubuntu live cd en installeren naar harde schijf (dag Mandrake 10.1 die ik er in 2004 op installeerde)
  • na een dagje spelen beslist om toch maar te switchen naar xubuntu, want dat heeft toch net iets minder CPU en memory nodig. Akkoord, ik had direct xubuntu kunnen installeren met hun live cd, maar de switch vanuit Ubuntu is wel betrekkelijk eenvoudig: in synaptic “xubuntu-desktop” zoeken en selecteren, goeie 250mb te downloaden, uitloggen en terug inloggen met keuze van XFCE-sessie en daar zijn we op onze blauwe desktop
  • toevoegen van de nm-applet om vlot te kunnen wirelessen: de network manager applet is sowieso actief in Ubuntu, ik heb er geen idee van of Xubuntu standaard wel met nm-applet werkt. Bedenk bij het schrijven van deze brij wel dat ik eigenlijk niet niet mobiel ben met mijn oude laptop en dat ik network manager er beter terug kan afgooien en op de traditionele manier met de WiFi connecteren?
  • disablen van enkele onnodige services (printing en bluetooth en diesmeer) om zo het memory-gebruik verder te beperken
  • aanpassen van swappiness in /etc/rc.local zodat er minder geswapped wordt
  • aanpassen van de size van de swap-partitie: blijkbaar had de Ubuntu installer een swap-partitie aangemaakt die te klein was om naar te hibernaten, ik veronderstel dat dat komt omdat het een -naar huidige normen- bijzonder kleine HD is. Ik dus opnieuw booten met Ubuntu-livecd en met gparted de grootte van de partities aangepast (life is for the brave 😉 ).
  • aanpassen /etc/initramfs-tools/conf.d/resume en /etc/fstab met juiste uuid voor /dev/hda5 (swap) zodat hibernate na aanpassen van de swap die partitie terug kan vinden (vraag me nog altijd af waarom die by-uuid nodig is, /dev/hda5 werkt ook vlotjes, maar kom …)
  • aanpassen hdparm en iwconfig in /etc/rc.local om energieverbruik te temperen
  • toevoegen XFCE volume applet

Staan nog op mijn todo-lijstje:

  • er worden bij het booten nu nog een heleboel kernel-modules geladen waar ik niks aan heb (bv. IPV6, irda, bluetooth, …). Daarvoor moet ik eerstdaags eens in /etc/modprobe.d/aliases en aanverwanten duiken …
  • gevonden tijdens het surfen: een bash-script dat tweaks uitvoert om Ubuntu Dapper sneller te maken. Zou eens moeten kijken welke van die stappen toepasselijk zijn voor Feisty.
  • af en toe blokkeert het beestje bij het afsluiten, moet toch eens in die logfiles gaan pieren vrees ik …

En dat is het zo ongeveer. Xubuntu draait vlot en (niet onbelangrijk) volledig in de 320 Mb ram-geheugen (behalve bij uitgebreide Firefox-sessies). Hibernate werkt. Oude batterijen gaan toch weer even mee. Ik kan daar dus betrekkelijk vlotjes mee werken. Niet slecht voor een laptopje uit 2000, toch? Nu de broodkruimels nog uit dat haperende toetsenbord peuteren …

Show me yours and i’ll show you my /etc/rc.local

/etc/rc.local is de file op een unix/linux-systeem waar de jongens van de mannen worden onderscheiden. Akkoord, de file heet niet meer altijd rc.local en staat ook niet persé in /etc, maar ge begrijpt wat ik bedoel, is het niet?
Alleszins; in mijn geval kan ik met trots Arno citeren;

‘k heb een kleintje maar ‘k schiet verre

Hier (op een oude Dell laptop met Ubuntu Feisty, in een latere post meer over het temmen van dat beestje) doet rc.local immers het volgende:

# swap less
echo “10” > /proc/sys/vm/swappiness
# put HD to sleep faster
hdparm -B 16 -S 12 /dev/hda
# set wireless into powersaving mode
iwconfig eth0 power on

Dit schenkt mij in eerste instantie extra batterij-leven en stemt daarnaast ook Al Gore een beetje gelukkig. Vreemd dat power management van o.a. HD en wireless (twee energie-vreters) niet gemakkelijker in 1 (Ubuntu-)schermpje te tunen zijn, maar misschien heb ik één of andere fancy gtk-wizard over het hoofd gezien?
En wat doet rc.local bij jullie? Of welke hacks staan er in files zoals /etc/conf.d/local.start (op Gentoo, dat lijkt een beetje uit te mode te raken eh?) of in andere super-bootscript-files in (/usr/local)/etc/init.d/?