Deze blog is mijn privé-speeltuin. Enerzijds om te spelen met web-technologie, anderzijds om mijn vreemde hersenspinsels los te laten op de wereld. Verwacht zeker geen gezond verstand.

I Love Lucy

Is het alweer een maand geleden dat ik nog een blogpost gedaan heb? Hmmm, rap mezelf eens een schop onder m'n kont geven. Wink Nose

Ubuntu Lucid Lynx komt er aan, en ik heb het risico genomen om nu al een upgrade te doen van 9.10 naar 10.04. Hey baby, take a walk on the wild side!

Eventjes dit intokkelen:

sudo do-release-upgrade -d

en een dik half uur later was de upgrade afgelopen.

In de known issues staat wel het volgende:
The fglrx binary driver for ATI video chipsets does not yet support the X server in Lucid. As a workaround, users should use the open source -ati driver instead. (506656)

Inderdaad, na reboot kreeg ik een waarschuwing van Xorg en werd mij een failsafe scherm voorgeschoteld. Nu heb ik 2 schermen, met verschillende afmetingen, en met een failsafe configuratie tonen ze alletwee hetzelfde beeld. Dat is dus niet de bedoeling.

Mijn oorspronkelijke xorg.conf was aangemaakt met de Catalyst Control Center voor ATI Radeon, fglrx-amdcccle, met vrij veel details (zie bijlage). Ik heb die radicaal verwijderd zodat Xorg automatisch zijn configuratie vaststelt. Beide schermen heb ik met behulp van lxrandr op hun maximale resolutie gezet: 1920x1080 en 1280x1024.
Het was mijn bedoeling om daarna de onderlinge positie van de verschillende schermen in te stellen met grandr, maar daar kreeg ik deze vriendelijke foutmelding:

User set screen size larger than max screen size

Oeps. De wijziging kan niet opgeslagen worden.

Geen probleem, Google is mijn beste vriend en zo kwam ik terecht op http://www.thinkwiki.org/wiki/Xorg_RandR_1.2. Met behulp van xrandr kan je op de console hetzelfde doen als met de gui-tool grandr.
Eerst vraag ik de informatie van mijn beeldschermen op:

amedee@fangorn:~$ xrandr -q
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 3200 x 2048
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 375mm x 301mm
   1280x1024      60.0*+   75.0  
   1024x768       75.0     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     59.9  
   720x400        70.1  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+   60.0  
   1440x900       59.9  
   1280x800       59.9  
   1152x864       75.0  
   1024x768       70.1     60.0  
   800x600        60.3     56.2  
   640x480        66.7     59.9  
   720x400        70.1

Daarna probeerde ik de schermen in te stellen:

amedee@fangorn:~$ xrandr --output VGA-0 --auto --left-of DVI-0
xrandr: screen cannot be larger than 2048x2048 (desired size 3200x1024)

Hetzelfde probleem dus als met grandr, maar deze keer met wat meer details.

De oplossing was het aanmaken van een eenvoudige /etc/X11/xorg.conf met uitsluitend dit:

   Section "Screen"
       Identifier	"Default Screen"
       DefaultDepth	24
 
       SubSection "Display"
           Depth		24
           # ADD A VIRTUAL LINE TO PROVIDE FOR THE LARGEST SCREENS YOU WILL HOTPLUG 
           Virtual              3200 2048 
       EndSubSection
   EndSection

Na herstarten van X hadden grandr en xrandr geen probleem meer met de nieuwe ultrabrede desktop. Zie ook de screenshot in bijlage.

Voor de rest werkt Lucy perfect! Nose Smile

Vervelende script kiddies en hoe ermee om te gaan

Enkele dagen geleden stuurde logcheck mij volgend mailtje:
Return-Path: <logcheck@amedee.be>
X-Original-To: logcheck
Delivered-To: logcheck@amedee.be
Received: by intrepid.amedee.be (Postfix, from userid 112)
	id CD18E5A094; Thu,  4 Feb 2010 15:02:03 +0100 (CET)
To: logcheck@amedee.be
Subject: localhost 2010-02-04 15:02 System Events
Message-Id: <20100204140203.CD18E5A094@intrepid.amedee.be>
Date: Thu,  4 Feb 2010 15:02:03 +0100 (CET)
From: logcheck@amedee.be (logcheck system account)
 
System Events
=-=-=-=-=-=-=
Feb  4 15:00:17 localhost sshd[22196]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14  user=root
Feb  4 15:00:19 localhost sshd[22196]: Failed password for root from 117.240.227.14 port 50469 ssh2
Feb  4 15:00:23 localhost sshd[22198]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14  user=root
Feb  4 15:00:24 localhost sshd[22198]: Failed password for root from 117.240.227.14 port 50730 ssh2
Feb  4 15:00:27 localhost sshd[22200]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14  user=root
Feb  4 15:00:29 localhost sshd[22200]: Failed password for root from 117.240.227.14 port 51022 ssh2
Feb  4 15:00:32 localhost sshd[22202]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14  user=root
Feb  4 15:00:34 localhost sshd[22202]: Failed password for root from 117.240.227.14 port 51278 ssh2
Feb  4 15:00:37 localhost sshd[22204]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14  user=root
Feb  4 15:00:39 localhost sshd[22204]: Failed password for root from 117.240.227.14 port 51563 ssh2
't Is te zeggen, logcheck stuurt mij zo regelmatig een mailtje. Normaal moet ik daar niets voor doen, want even later kreeg ik van denyhosts de volgende mail:
Return-Path: <nobody@localhost>
X-Original-To: root@localhost
Delivered-To: root@localhost
Received: from localhost.localdomain (localhost [127.0.0.1])
	by intrepid.amedee.be (Postfix) with ESMTP id 550C25A093
	for <root@localhost>; Thu,  4 Feb 2010 15:00:37 +0100 (CET)
From: DenyHosts <nobody@localhost>
To: root@localhost
Subject: DenyHosts Report
Date: Thu, 04 Feb 2010 15:00:37 +0100
Message-Id: <20100204140037.550C25A093@intrepid.amedee.be>
 
Added the following hosts to /etc/hosts.deny:
 
117.240.227.14 (unknown)
 
----------------------------------------------------------------------
Uitzonderlijk wou ik het niet laten liggen, dus heb ik volgende mail opgesteld:
Received: from 188.40.34.110 (proxying for 127.0.0.1)
        (SquirrelMail authenticated user amedee)
        by amedee.be with HTTP;
        Thu, 4 Feb 2010 16:18:29 +0100 (CET)
Message-ID: <88e710867a3f8a73d3efa3f6216db7ce.squirrel@amedee.be>
Date: Thu, 4 Feb 2010 16:18:29 +0100 (CET)
Subject: [Fwd: localhost 2010-02-04 15:02 System Events]
From: "Amedee Van Gasse" <amedee@vangasse.eu>
To: dnw_jtotech@bsnl.in,
 dnwplg@sancharnet.in,
 hm-changed@apnic.net,
 hostmaster@sancharnet.in,
 ip.admin@vsnl.co.in,
 ip.nnoc@relianceada.com,
 lokesh.aksh@gmail.com,
 nib_jaipur@sancharnet.in,
 vivekprabhakar64@gmail.com,
 dns@jomax.net,
 info@zenzeo.com
User-Agent: SquirrelMail/1.4.15
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
X-XheaderVersion: 1.1
X-UserAgent: 
 
Hello,
 
Please stop with your cracking attempts. It is annoying.
Thank you.
 
Amedee.
 
----------
 
Added the following hosts to /etc/hosts.deny:
 
117.240.227.14 (unknown)
 
----------
 
$ whois 117.240.227.14
% [whois.apnic.net node-1]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html
 
inetnum:      117.240.227.0 - 117.240.227.127
netname:      Aksh
descr:        Aksh Optifiber
descr:        aksh optifiber
descr:        epip sitapura
descr:
admin-c:      LK105-AP
tech-c:       LK126-AP
country:      IN
admin-c:      NIJ2-AP
admin-c:      NC83-AP
tech-c:       CDN1-AP
mnt-by:       MAINT-IN-DOT
status:       ASSIGNED NON-PORTABLE
changed:      dnw_jtotech@bsnl.in 20100106
source:       APNIC
 
route:        117.240.224.0/20
descr:        BSNL Internet
country:      IN
origin:       AS9829
mnt-lower:    MAINT-IN-DOT
mnt-routes:   MAINT-IN-DOT
mnt-by:       MAINT-IN-AS9829
changed:      dnw_jtotech@bsnl.in 20070914
source:       APNIC
 
route:        117.240.192.0/18
descr:        BSNL Internet
country:      IN
origin:       AS9829
mnt-lower:    MAINT-IN-DOT
mnt-routes:   MAINT-IN-DOT
mnt-by:       MAINT-IN-AS9829
changed:      dnw_jtotech@bsnl.in 20071207
source:       APNIC
 
route:        117.240.0.0/16
descr:        BSNL Internet
country:      IN
origin:       AS9829
mnt-lower:    MAINT-IN-DOT
mnt-routes:   MAINT-IN-DOT
mnt-by:       MAINT-IN-AS9829
changed:      dnw_jtotech@bsnl.in 20071207
source:       APNIC
 
role:         NS Cell
address:      Internet Cell
address:      Bharat Sanchar Nigam Limited
address:      8th Floor,148-B Statesman House
address:      Barakhamba Road, New Delhi - 110 001
country:      IN
phone:        +91-11-23734057
phone:        +91-11-23710183
fax-no:       +91-11-23734052
e-mail:       hostmaster@sancharnet.in
admin-c:      CGMD1-AP
tech-c:       DT197-AP
nic-hdl:      NC83-AP
mnt-by:       MAINT-IN-DOT
changed:      dnwplg@sancharnet.in 20030120
changed:      hm-changed@apnic.net 20071227
source:       APNIC
 
role:         CGM Data Networks
address:      CTS Compound
address:      Netaji Nagar
address:      New Delhi- 110 023
country:      IN
phone:        +91-11-24106782
phone:        +91-11-24102119
fax-no:       +91-11-26116783
fax-no:       +91-11-26887888
e-mail:       dnwplg@sancharnet.in
e-mail:       hostmaster@sancharnet.in
admin-c:      CGMD1-AP
tech-c:       DT197-AP
tech-c:       BH155-AP
nic-hdl:      CDN1-AP
mnt-by:       MAINT-IN-DOT
changed:      dnwplg@sancharnet.in 20030120
changed:      hm-changed@apnic.net 20071227
source:       APNIC
 
person:       Lokesh Khandelwal
nic-hdl:      LK105-AP
address:      aksh optifiber
address:      epip sitapura
address:
phone:        +91-141-2770738
fax-no:       +91-141-2770738
country:      IN
e-mail:       lokesh.aksh@gmail.com
mnt-by:       MAINT-IN-PER-DOT
changed:      dnw_jtotech@bsnl.in 20100106
source:       APNIC
 
person:       Node Incharge JAIPUR
nic-hdl:      NIJ2-AP
address:      NIB JAIPUR
address:      O/O PGMTD Jaipur
phone:        +91-141-2361234
fax-no:       +91-141-2370040
country:      IN
e-mail:       nib_jaipur@sancharnet.in
mnt-by:       MAINT-IN-PER-DOT
changed:      dnwplg@sancharnet.in 20030716
source:       APNIC
 
person:       Lokesh Khandelwal
nic-hdl:      LK126-AP
address:      aksh optifiber
address:      epip sitapura
address:
phone:        +91-141-2770738
fax-no:       +91-141-2770738
country:      IN
e-mail:       lokesh.aksh@gmail.com
mnt-by:       MAINT-IN-PER-DOT
changed:      dnw_jtotech@bsnl.in 20100106
source:       APNIC
 
route:          117.192.0.0/10
descr:          BSNL-VSNL Route Object
origin:         AS4755
mnt-by:         MAINT-VSNL-IN
changed:        ip.admin@vsnl.co.in 20070917
source:         RADB
 
route:          117.192.0.0/10
descr:          Reliance customer-BSNL
origin:         AS9829
mnt-by:         MAINT-AS18101
changed:        ip.nnoc@relianceada.com 20071207  #06:04:30(UTC)
source:         RADB
 
----------
 
$ nmap -A -T4 117.240.227.14
 
Starting Nmap 4.62 ( http://nmap.org ) at 2010-02-04 15:44 CET
Interesting ports on 117.240.227.14:
Not shown: 1700 closed ports
PORT      STATE    SERVICE    VERSION
22/tcp    open     ssh        OpenSSH 3.9p1 (protocol 1.99)
25/tcp    open     smtp       qmail smtpd
80/tcp    open     http       Apache httpd 2.0.52 ((Red Hat))
106/tcp   open     tcpwrapped
110/tcp   open     pop3       qmail pop3d
111/tcp   open     rpcbind
113/tcp   open     ident      authd
143/tcp   open     imap       Courier Imapd (released 2005)
443/tcp   open     ssl/http   Apache httpd 2.0.52 ((Red Hat))
866/tcp   filtered unknown
993/tcp   open     ssl/imap   Courier Imapd (released 2005)
1827/tcp  filtered pcm
3306/tcp  open     mysql      MySQL 4.1.12
5900/tcp  open     vnc        VNC (protocol 3.7)
10000/tcp open     http       Webmin httpd
Service Info: Host: mail.zonzeo.com; OS: Unix
 
Service detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 76.613 seconds
 
----------
 
$ nslookup mail.zonzeo.com
Server:         213.133.98.98
Address:        213.133.98.98#53
 
Non-authoritative answer:
Name:   mail.zonzeo.com
Address: 117.240.227.14
 
----------
 
$ whois zonzeo.com
 
Whois Server Version 2.0
 
Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
 
   Domain Name: ZONZEO.COM
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com
   Name Server: NS25.DOMAINCONTROL.COM
   Name Server: NS26.DOMAINCONTROL.COM
   Status: clientDeleteProhibited
   Status: clientRenewProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Updated Date: 12-jan-2010
   Creation Date: 04-mar-2009
   Expiration Date: 04-mar-2019
 
>>> Last update of whois database: Thu, 04 Feb 2010 15:05:31 UTC <<<
 
NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the
expiration
date of the domain name registrant's agreement with the sponsoring
registrar.  Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.
 
TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to
ensure
operational stability.  VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.
 
The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.The data contained in GoDaddy.com, Inc.'s WhoIs database,
while believed by the company to be reliable, is provided "as is"
with no guarantee or warranties regarding its accuracy.  This
information is provided for the sole purpose of assisting you
in obtaining information about domain name registration records.
Any use of this data for any other purpose is expressly forbidden without
the prior written
permission of GoDaddy.com, Inc.  By submitting an inquiry,
you agree to these terms of usage and limitations of warranty.  In
particular,
you agree not to use this data to allow, enable, or otherwise make possible,
dissemination or collection of this data, in part or in its entirety, for any
purpose, such as the transmission of unsolicited advertising and
and solicitations of any kind, including spam.  You further agree
not to use this data to enable high volume, automated or robotic electronic
processes designed to collect or compile this data for any purpose,
including mining this data for your own personal or commercial purposes.
 
Please note: the registrant of the domain name is specified
in the "registrant" field.  In most cases, GoDaddy.com, Inc.
is not the registrant of domain names listed in this database.
 
 
Registrant:
   new era mart pvt ltd
   s no 54 goverdhan colony
   new sanganer road,sodala
   jaipur, Rajasthan 302019
   India
 
   Registered through: GoDaddy.com, Inc. (http://www.godaddy.com)
   Domain Name: ZONZEO.COM
      Created on: 04-Mar-09
      Expires on: 04-Mar-19
      Last Updated on: 12-Jan-10
 
   Administrative Contact:
      prabhakar, vivek  vivekprabhakar64@gmail.com
      new era mart pvt ltd
      s no 54 goverdhan colony
      new sanganer road,sodala
      jaipur, Rajasthan 302019
      India
      +91.9351006001      Fax --
 
   Technical Contact:
      prabhakar, vivek  vivekprabhakar64@gmail.com
      new era mart pvt ltd
      s no 54 goverdhan colony
      new sanganer road,sodala
      jaipur, Rajasthan 302019
      India
      +91.9351006001      Fax --
 
   Domain servers in listed order:
      NS25.DOMAINCONTROL.COM
      NS26.DOMAINCONTROL.COM
 
 
---------------------------- Original Message ----------------------------
Subject: localhost 2010-02-04 15:02 System Events
From:    "logcheck system account" <logcheck@amedee.be>
Date:    Thu, February 4, 2010 15:02
To:      logcheck@amedee.be
--------------------------------------------------------------------------
 
System Events
=-=-=-=-=-=-=
Feb  4 15:00:17 localhost sshd[22196]: pam_unix(sshd:auth): authentication
failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14 
user=root
Feb  4 15:00:19 localhost sshd[22196]: Failed password for root from
117.240.227.14 port 50469 ssh2
Feb  4 15:00:23 localhost sshd[22198]: pam_unix(sshd:auth): authentication
failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14 
user=root
Feb  4 15:00:24 localhost sshd[22198]: Failed password for root from
117.240.227.14 port 50730 ssh2
Feb  4 15:00:27 localhost sshd[22200]: pam_unix(sshd:auth): authentication
failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14 
user=root
Feb  4 15:00:29 localhost sshd[22200]: Failed password for root from
117.240.227.14 port 51022 ssh2
Feb  4 15:00:32 localhost sshd[22202]: pam_unix(sshd:auth): authentication
failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14 
user=root
Feb  4 15:00:34 localhost sshd[22202]: Failed password for root from
117.240.227.14 port 51278 ssh2
Feb  4 15:00:37 localhost sshd[22204]: pam_unix(sshd:auth): authentication
failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=117.240.227.14 
user=root
Feb  4 15:00:39 localhost sshd[22204]: Failed password for root from
117.240.227.14 port 51563 ssh2
Enkele uren later volgde dit antwoord:
Return-Path: <lokesh.aksh@gmail.com>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on intrepid.amedee.be
X-Spam-Level: ***
X-Spam-Status: No, score=3.3 required=5.0 tests=RCVD_IN_BL_SPAMCOP_NET,
	RCVD_IN_SORBS_WEB,SPF_PASS autolearn=no version=3.2.5
X-Original-To: amedee@vangasse.eu
Delivered-To: amedee@amedee.be
X-policyd-weight:  NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .gmail. - helo: .mail-yx0-f196.google. - helo-domain: .google.)  FROM/MX_MATCHES_HELO(DOMAIN)=-2 IN_PM_RFCI=0.1; rate: -8.4
Received: from mail-yx0-f196.google.com (mail-yx0-f196.google.com [209.85.210.196])
	by intrepid.amedee.be (Postfix) with ESMTP id 7E5D75A094
	for <amedee@vangasse.eu>; Fri,  5 Feb 2010 10:37:17 +0100 (CET)
Received: by yxe34 with SMTP id 34so4200638yxe.16
        for <amedee@vangasse.eu>; Fri, 05 Feb 2010 01:37:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:from:to:references
         :in-reply-to:subject:date:message-id:mime-version:content-type
         :content-transfer-encoding:x-mailer:thread-index:content-language;
        bh=HceH/rOcmc5gBg6nW0mcaDclFGaU4v6cD6wxeG5W3EE=;
        b=N24nABkmOQi4I3sdgnUCMlhkFwA4TTbDqHeloMWDh9r/t/SuPoXlutRmyQURw0GexI
         BGvkIS6NL4AVO1VWKb2OKPdtC12NQh8nrQxtU9vf2f6zn5yintjZrZ3+hyhjhezd2O2U
         sFYRCwNhuaRGrLl//8uiZMMSaA6hsse/7icmg=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=from:to:references:in-reply-to:subject:date:message-id:mime-version
         :content-type:content-transfer-encoding:x-mailer:thread-index
         :content-language;
        b=Z7LUjh2oVWMqCFUCmi5X3rFObDC4yKm35n1x3PR0rJ23Bv9rEw6qXwbymmwdgx4R2P
         tIw/kOZ8bLQpUyMLa+f+WJNOEnA8k50kB++lZKnmlE6F7Kgxliv0NEhyGVh1Tkm2EsAW
         WJYM4ws2BVnKUWr/CT6u2kDGRJVgWrf+LOuqQ=
Received: by 10.101.197.6 with SMTP id z6mr3329320anp.102.1265362636468;
        Fri, 05 Feb 2010 01:37:16 -0800 (PST)
Received: from LokeshKhandelwa ([117.240.252.11])
        by mx.google.com with ESMTPS id 22sm370991yxe.57.2010.02.05.01.37.10
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Fri, 05 Feb 2010 01:37:15 -0800 (PST)
From: "Lokesh" <lokesh.aksh@gmail.com>
To: "'Amedee Van Gasse'" <amedee@vangasse.eu>,
	<dnw_jtotech@bsnl.in>,
	<dnwplg@sancharnet.in>,
	<hm-changed@apnic.net>,
	<hostmaster@sancharnet.in>,
	<ip.admin@vsnl.co.in>,
	<ip.nnoc@relianceada.com>,
	<nib_jaipur@sancharnet.in>,
	<vivekprabhakar64@gmail.com>,
	<dns@jomax.net>,
	<info@zenzeo.com>
References: <88e710867a3f8a73d3efa3f6216db7ce.squirrel@amedee.be>
In-Reply-To: <88e710867a3f8a73d3efa3f6216db7ce.squirrel@amedee.be>
Subject: RE: [Fwd: localhost 2010-02-04 15:02 System Events]
Date: Fri, 5 Feb 2010 15:07:13 +0530
Message-ID: <4b6be6cb.1602be0a.6714.2a5b@mx.google.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcqlrVD6A6v7/4JpTkqWzOHoYHvkMwAmXJcg
Content-Language: en-us
 
Hope problem is now resolved.
 
With regards
 
Lokesh
Awaal nem! Good riddance. :-) Heeft er trouwens iemand suggesties om dit te automatiseren? Of is het de moeite niet?

Podcast

Voila, bij deze. Als je nu mijn blog zoekt op tinternet, dan gaat daar ook het woord "podcast" in opduiken.
Liefste kindjes van SIMIM/SABAM, krijg ik nu alstublieft ook jullie dreigbrief? Plieeees? Want ik heb de indruk dat ik nu niet kan meespelen met mijn vriendjes-bloggers. Frown

Meer lezen bij:

Webcam

Mijn netbookje heeft een webcam, en als experimentje ga ik daarmee eens mijn privacy met jullie delen. Iedere minuut neemt hij een foto, die in mijn publieke DropBox directory gezet wordt, en dan zorgt DropBox verder voor de upload.

Ik heb volgende software geïnstalleerd:

sudo aptitude install camgrab libv4l-0 libjasper1 libjasper-dev libjasper-runtime

In crontab staat het volgende:

# m h  dom mon dow   command
  * *  *   *   *     LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so camgrab -output /home/amedee/Dropbox/Public/shot.jpg
De LD_PRELOAD is nodig omwille van bug 344336.
DropBox doet de rest.

Dit is het resultaat:

https://dl.dropbox.com/u/28350/shot.jpg

Ter info, de afbeelding is iets minder dan 4 KiB, iedere minuut een foto wil zeggen 60*24=1440 foto's per dag, dus iets van een 5,5 MiB per dag. En de netbook staat niet eens heel de tijd aan.

Waarom ik in het Nederlands blog

Momenteel (ja, echt, NU!) zit ik op #drupalcampbe, en mijn blog wordt gebruikt als demo van een site die enriched wordt met Open Calais. Zie http://drupalcamp-be.org/session/open-publish-drupal-news-site-distribut...
Of toch niet. Omdat mijn blog niet in het Engels is, worden er niet zo veel keywords opgepikt. Mijn artikels zouden dus eerst door Google Translate gejaagd moeten worden voor Open Calais er iets mee kan aanvangen.

Waarom blog ik als tech-blogger eigenlijk in het Nederlands, en niet in het Engels zoals zovele andere Belgische techbloggers op http://planet.grep.be? Het is zeker niet zo dat ik me niet gemakkelijk voel in het Engels, integendeel: er zijn momenten dat ik zelfs in het Engels denk.

Ik ben forum moderator bij Tik vzw (http://tik.be/forum) en daar kom ik continu in contact met de gemiddelde computergebruiker. In tegenstelling tot mijn mede-geeks, hebben die het soms enorm moeilijk om Engels te begrijpen. Films of series, dat gaat nog, maar complexe technische onderwerpen zijn dikwijls te hoog gegrepen. En dat zijn zeker geen domme mensen! Zelfs in het hoger onderwijs hoor je wel eens over proffen die bepaalde cursussen in schabouwelijk Engels geven.

Ik heb al een aantal keren reacties gekregen van mensen die wel eens de stap willen zetten naar meer geeky technologie. Dat kan gaan van het flashen van hun router met andere firmware tot het vervangen van Windows door Linux. Ze hadden dat al eerder willen doen, maar ze werden moedeloos dat alle documentatie in het Engels is. Als ze dan mijn blog vinden, dan krijgen zij eindelijk dat kleine duwtje in de rug om toch de stap te zetten. Gedetailleerde en vrij technisch documentatie, maar in de eigen taal: dát is wat zij nodig hebben.

Beste bezoekers: jullie zijn niet met zo veel, maar het is voor jullie dat ik in het Nederlands schrijf. Jullie weten wie jullie zijn. En laat die aanmoedigingen maar komen. :)

Externe harde schijf van FAT32 naar ext3

Ik heb een externe harde schijf van Iomega, zo'n klein plat ding in metalliek grijs. 320GB (of 298GiB) in binnenzakformaat. Ik gebruik die momenteel om backups op te zetten, en mijn downloads (zoals Ubuntu ISO's) staan daar ook op.

Standaard komt zo'n ding in FAT32 partitionering. Op zich is dat niet zo slecht, want dan zijn die schijfjes te gebruiken op zowel Linux, Windows als Mac (vermoed ik toch, ik ken niets van Mac). Alleen ben ik onlangs op een vervelende beperking gestoten. Ik had een backup gemaakt van een usb-stick van 8GB, en zelfs gecomprimeerd met bz2 was dat nog altijd rond de 6GB. Dat is dus een probleem voor FAT32, want die kan geen bestanden aan groter dan 2GB (4GB met 64KB clusters, maar dat wordt niet algemeen ondersteund).

Ik keek dus uit naar een ander filesystem om grotere bestanden te kunnen gebruiken. Mijn vereisten:

  • Ondersteuning voor grote bestanden (>4GB)
  • Read/write ondersteuning in zowel Linux als Windows, voor die enkele keren dat ik de harde schijf aansluit op een Windows-pc. Dat moet niet per sé native maar het moet wel gemakkelijk te installeren zijn.
  • Crashbestendig: voor wanneer ik zo lomp ben om de usb-kabel uit te trekken voor alle gegevens goed en wel op schijf staan. Dus liefst een soort journalling filesystem, zodat ik geen half uur moet wachten op een schijfcontrole.

Als ik de mogelijke kandidaten overloop, dan geeft mij dat het volgende resultaat:

filesystem bestanden >4GB R/W Linux R/W Windows journal
FAT32 nee ja ja nee
NTFS ja NTFS-3G ja ja
ext2 ja ja coLinux, Ext2fsd, Ext2IFS nee
ext3 ja ja coLinux, Ext2fsd, Ext2IFS ja
ext4 ja ja coLinux ja
XFS ja ja coLinux ja
Reiser ja ja coLinux ja

Ik ga de harde schijf in hoofdzaak met Linux gebruiken, dus NTFS lijkt me dan minder geschikt. coLinux, dwz het draaien van een Linux kernel onder Windows, klinkt als een interessant idee. Maar in een artikel op PolishLinux las ik daarover het volgende:

In short, we install coLinux on a windows machine, assure access to disk partions, and export all the mounted file systems using Samba.

Okeee... dus een volledige Linuxkernel, én ook nog eens Samba? Nee dank u, dat klinkt me een beetje als overkill in de oren. Ik zoek iets dat ik snel kan installeren op een machine die ik toevallig bezoek. Er staat dan ook niet voor niets op het einde van de pagina:

This solution does not provide an outstanding performance

Dan blijft er eigenlijk alleen nog ext3 over, met een van de filesystem drivers Ext2fsd of Ext2IFS. In het verleden heb ik altijd Ext2IFS gebruikt voor zo'n situaties, maar de recentste versie is van 27/10/2008, en ik heb niet de indruk dat er nog verder aan ontwikkeld wordt. Het is ook geen Free Software (free as in speech) maar Freeware (free as in beer). Met andere woorden het is verboden om Ext2IFS aan te passen of te verbeteren...
Ext2fsd daarentegen lijkt me nog een actief project: versie 0.48 is van 1 augustus 2009, én het is wel Free Software.
Nog een verschil tussen Ext2IFS en Ext2fsd: Ext2IFS gaat ext3 partities mounten als ext2, dus zonder journal. Ext2fsd kijkt wel naar het ext3 journal. In principe kan een ext4 partitie ook gemount worden als die aangemaakt is zonder extents, maar wat is dan nog het voordeel van een ext4 partitie als je geen extents hebt? Dan kan je beter ext3 pakken...

Mijn keuze valt dus op Ext2fsd. Daarna volgde het concrete inrichten van de harde schijf. Er stond al voor 160GB aan data op dus ik ben als volgt te werk gegaan:

  1. Grote bestanden wissen zodat ik ruim onder de 150GB zat. Vooral iso's van Linux distro's kwamen in aanmerking, want die kan ik gemakkelijk opnieuw downloaden.
  2. Met gparted de eerste (en enige) partitie verkleinen naar 160GB.
  3. Een nieuwe ext3 partitie van 160GB maken.
  4. De twee partities mounten en van de FAT32-partitie naar de ext3-partitie kopiëren met
    sudo mkdir /mnt/fat
    sudo mkdir /mnt/ext
    sudo mount /dev/sdg1 /mnt/fat
    sudo mount /dev/sdg2 /mnt/ext
    sudo rsync -av /mnt/fat/ /mnt/ext/
    sudo chown -R amedee:amedee /mnt/ext           # alle bestanden hadden root als owner
    chmod -R 664 /mnt/ext                          # alle bestanden hadden de executable bit op FAT32
    find /mnt/ext/ -type d -exec chmod a+x {} \;   # alle directories executable bit geven zodat browsing mogelijk is.
    sudo umount /mnt/fat
    sudo umount /mnt/ext
  5. Met gparted de FAT32-partitie formatteren. Die moet eerst leeg gemaakt worden, anders lukt het verkleinen niet.
  6. De FAT32-partitie verkleinen naar de kleinst mogelijke grootte. Gparted maakt daar automatisch 94,10MiB van, en FAT32 wordt omgezet naar FAT16.
  7. De ext3 partitie vergroten zodat die de volledige vrije ruimte gebruikt (298GiB).
  8. Ext2Fsd downloaden en op de FAT-partitie zetten. Zo moet ik niet meer doen in Windows dan Ext2Fsd-0.48.exe (997,4KB) installeren.

Foto's in batch verkleinen met imagemagick

Gisteren stelde Monica Monté een beetje een rare vraag op Twitter: "Bestaat er een manier om een hoop foto's (+100) in een batch te verkleinen (7mb >1mb) Via Photoshop, Lightroom, Bridge,...?"

Ik vind het een rare vraag omdat bestandsgrootte een ééndimensionaal gegeven is, terwijl foto's eigenlijk 3 dimensies hebben: lengte, breedte en kleurdiepte. Of 2 dimensies, als je alleen van lengte en breedte spreekt, en het aantal kleuren gelijk blijft in je omzetting. Bovendien, bij JPEG-compressie (daar bleek het achteraf inderdaad om te gaan) is het bij een foto waarvan je alleen de lengte en breedte weet, quasi onmogelijk om te voorspellen wat de bestandsgrootte gaat zijn, zonder het jpeg-compressiealgoritme uit te voeren. 2 verschillende foto's maar met exact dezelfde lengte en breedte zullen meestal een verschillende grootte hebben. Soit, Monica moet bij gelegenheid maar eens uitleggen wat ze bedoelde.

Er waren direct een aantal mensen die deze sympathieke fotoredactrice ter hulp snelden met hun advies voor zware softwarepakketten zoals Lightroom (@Jannemans, @mbargo, @bartclaeys, @Schuppe), iPhoto (@boskabout), Photoshop (@broodkast, @kodel, @eyeballkid), Picasa (@raf__) en Irfanview (@vdbvdb). @robindheer zat ook met dezelfde vraag: hoe verklein je foto's in batch?

Maar mensen, waarom allemaal zo moeilijk doen? Zoals ik gisteren al schreef op Twitter: het in batch verkleinen van afbeeldingen is iets waarvoor imagemagick ideaal geschikt is.
Ubuntu beschrijft het als volgt:

amedee@fangorn:~$ apt-cache show imagemagick
Package: imagemagick
Priority: optional
Section: graphics
Installed-Size: 348
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: ImageMagick Packaging Team <pkg-gmagick-im-team@lists.alioth.debian.org>
Architecture: amd64
Version: 7:6.5.1.0-1.1ubuntu3
Depends: libbz2-1.0, libc6 (>= 2.3.4), libfreetype6 (>= 2.2.1), libgomp1 (>= 4.2.1),
 libice6 (>= 1:1.0.0), libjpeg62, liblcms1 (>= 1.15-1), libltdl7 (>= 2.2.6a), libmagickcore2,
 libmagickwand2, libsm6, libtiff4, libx11-6, libxext6, libxt6, zlib1g (>= 1:1.1.4)
Suggests: transfig, imagemagick-doc
Filename: pool/main/i/imagemagick/imagemagick_6.5.1.0-1.1ubuntu3_amd64.deb
Size: 95720
MD5sum: 87d33361ab2486f49c8ea077d8933eff
SHA1: b1a0da0347944a35984d40f7f85e94a52d576ae8
SHA256: 431d515a1b033b167f2517382e944ccdc60388bb326dd43adfc1f15a552a8a49
Description: image manipulation programs
 ImageMagick is a software suite to create, edit, and compose bitmap images.
 It can read, convert and write images in a variety of formats (over 100)
 including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript,
 SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale,
 shear and transform images, adjust image colors, apply various special
 effects, or draw text, lines, polygons, ellipses and Bézier curves.
 All manipulations can be achieved through shell commands as well as through
 an X11 graphical interface (display).
Homepage: http://www.imagemagick.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Task: kubuntu-desktop, kubuntu-netbook, edubuntu-desktop-gnome, edubuntu-desktop-kde,
 xubuntu-desktop
Don't panic, imagemagick bestaat ook voor al jullie Windows en Apple pointyclickers, zie http://www.imagemagick.org/script/binary-releases.php voor de downloadpagina.

Het omzetten van een groot aantal afbeeldingen is poepsimpel. Je geeft gewoon een van de volgende commando's in de directory waarin de te verkleinen afbeeldingen staan:

mogrify -resize 40% *.jpg
mogrify -resize 800x600 *.jpg
mogrify -resize 800 *.jpg
mogrify -resize 800x600! *.jpg
Dit geeft volgende resultaten:
  1. Verklein alle afbeeldingen naar 40% van hun oorspronkelijke afmeting.
  2. Verklein alle afbeeldingen zodat die binnen 800x600 pixels passen, met behoud van de aspect ratio.
  3. Verklein alle afbeeldingen zodat de breedte 800 pixels is.
  4. Verklein alle afbeeldingen zodat de afmeting exact 800x600 pixels is, waarbij de aspect ratio verloren mag gaan.
mogrify past de afbeeldingen in-place aan, dus de originelen worden overschreven. De om te zetten afbeeldingen zet je dus best op voorhand in een aparte directory, ofwel gebruik je convert ipv mogrify zodat je een nieuwe bestandsnaam kan (moet) meegeven.

Snelheidstest

Ik ben ervan overtuigd dat imagemagick véél efficiënter is dan al die GUI-programma's (met uitzondering misschien van lichtgewicht Irfanview). Daarom daag ik alle Windowsers en Appelaars uit voor een snelheidstest.

Ik heb 100 jpg-afbeeldingen gemaakt, allemaal bestaande uit willekeurige ruis. Je kan hier een kleiner voorbeeld (100x100) downloaden, of je kan ze ook zelf aanmaken met mijn bash scriptje img-create:

#!/bin/bash
for (( COUNTER=1; COUNTER<=100; COUNTER++ )) do
	convert -size 3000x3000 xc: +noise Random noise-"$COUNTER".jpg
	ls -hl noise-"$COUNTER".jpg
done
exit 
Het aanmaken van de afbeeldingen duurde 11'3":
amedee@fangorn:/tmp$ time ./img-create 
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 15:57 noise-1.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 15:57 noise-2.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 15:57 noise-3.jpg
...
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 16:08 noise-98.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 16:08 noise-99.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 16:08 noise-100.jpg
 
real	11m3.026s
user	10m44.710s
sys	0m13.570s
Met het bash scriptje img-resize zet ik ze om naar een kleiner bestand:
#!/bin/bash
for filename in `ls noise*.jpg`; do
	convert $filename -resize 50% small-"$filename"
	ls -hl *"$filename"
done
exit 
De omzetting duurde slechts 2'46":
amedee@fangorn:/tmp$ time ./img-resize
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 16:08 noise-100.jpg
-rw-r--r-- 1 amedee amedee 1,5M 2009-11-22 17:28 small-noise-100.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 15:58 noise-10.jpg
-rw-r--r-- 1 amedee amedee 1,5M 2009-11-22 17:28 small-noise-10.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 15:58 noise-11.jpg
-rw-r--r-- 1 amedee amedee 1,5M 2009-11-22 17:28 small-noise-11.jpg
...
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 16:08 noise-98.jpg
-rw-r--r-- 1 amedee amedee 1,5M 2009-11-22 17:30 small-noise-98.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 16:08 noise-99.jpg
-rw-r--r-- 1 amedee amedee 1,5M 2009-11-22 17:31 small-noise-99.jpg
-rw-r--r-- 1 amedee amedee 7,6M 2009-11-22 15:58 noise-9.jpg
-rw-r--r-- 1 amedee amedee 1,5M 2009-11-22 17:31 small-noise-9.jpg
 
real	2m46.400s
user	3m37.430s
sys	0m10.530s
Wie doet het beter? Zet jouw resultaten in de reacties. Ik vraag me trouwens af hoe je op een betrouwbare manier de snelheid van Lightroom of Photoshop kunt meten, zonder gebruik te maken van een cronometer.

Wordle

Wordle

Na het zien van BVLG z'n wordle was ik nieuwsgierig naar mijn eigen plaatje.
Blijkbaar ben ik de laatste tijd dikwijls bezig geweest over squashfs en unionfs.

Upgrade naar Karmic Koala breekt squashfs

Dit weekend heb ik mijn Crunchbang-installatie op de netbook bijgewerkt naar Karmic Koala. De upgrade zelf ging vlotjes. Ik heb er niet heel de tijd op zitten kijken.

Enkele fragmentjes uit het upgradeproces:

12 pakketten zullen verwijderd worden. 142 nieuwe pakketten zullen geïnstalleerd worden. 741 pakketten zullen een upgrade krijgen.
U moet in totaal 436M downloaden. Deze download duurt met uw verbinding ongeveer 9 minuten.
Het upgraden kan enkele uren in beslag nemen en kan tussentijds niet worden afgebroken.
real    430m39.408s
user      16m4.808s
sys        8m3.086s
Real is zo hoog omdat ik het laten draaien heb terwijl ik naar een film keek.

Helaas, na het rebooten bleek dat ik met een onbruikbaar systeem zit.

General error mounting filesystems.
A maintenance shell will now be started.
CONTROL-D will terminate this shell and re-try.
*gil*
OK, regel 1: DON'T PANIC. Control+D heeft geen enkele zin, want er wordt naar een root wachtwoord gevraagd en zoals we allemaal weten, heeft Ubuntu geen root wachtwoord.

Stap 2: rebooten, op Escape drukken in het Grub-menu, en 'e' om te bewerken. De regel met de kernel vul ik aan zodat er een init bij staat:

kernel  /boot/vmlinuz-2.6.31-14-generic root=LABEL=/ rw init=/bin/bash
Wanneer ik daarmee boot, krijg ik het volgende:
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
bash: groups: command not found
root@(none):/#
Nu heb ik tenminste een werkende root shell waarmee ik kan uitvissen wat er aan de hand is.

Ik weet al dat er een probleem is met het mounten van een filesystem, maar welk? Het handmatig proberen mounten van alle filesystems gaf meteen het antwoord:

root@(none):/# mount -a
mount: special device LABEL=/home does not exist
[  282.714817] squashfs: version 4.0 (2009/01/31) Philip Lougher
[  282.720623] SQUASHFS error: Major/Minor mismatch, older Squashfs 3.1 filesystems are unsupported
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
 
mount: unknown filesystem type 'unionfs'
Aha! Eerst eventjes doen wat er in de foutmelding staat:
root@(none):/ dmesg
[  282.714817] squashfs: version 4.0 (2009/01/31) Philip Lougher
[  282.720623] SQUASHFS error: Major/Minor mismatch, older Squashfs 3.1 filesystems are unsupported
Het probleem is dus duidelijk: bij de overgang van Jaunty naar Karmic, is Squashfs van versie 3.1 naar 4.0 gegaan, en de nieuwe versie is niet backwards compatibel met de oude versie.

Er zit nu niets anders op dan het gesquashte filesystem te unsquashen met de oude versie, en eventueel daarna opnieuw te squashen met de nieuwe versie. Maar hoe? Ik zit met een gebroken systeem.

Gelukkig komt daar weer mijn trouwe usb-stick de redding brengen. Daar stond nog altijd Crunchbang op, van toen ik het geïnstalleerd heb. Maar in principe kan om het even welke andere 9.04 Ubuntu ISO gedownload worden. Die moet dan op de usb-stick gezet worden met unetbootin.

Wanneer Ubuntu 9.04 geboot is vanaf de usb-stick, geef ik volgende commando's:

sudo -i
aptitude install squashfs-tools
modprobe squashfs
modprobe unionfs
mount /dev/sda1 /mnt
mkdir /mnt/usr.old
mount -t squashfs -o ro,loop,nodev /mnt/.filesystems/usr/usr.sqfs /mnt/usr.old
mount -t unionfs -o nodev,noatime,dirs=/mnt/.filesystems/usr/overlay=rw:/mnt/usr.old=ro unionfs /mnt/usr.old
time rsync -av /mnt/usr.old/ /mnt/usr
Het kopiëren nam wel een minuutje of 20 in beslag:
sent 1466696143 bytes  received 1438136 bytes  1256426.43 bytes/sec
total size is 1461396353  speedup is 1.00
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1058) [sender=3.0.5]
 
real	19m28.192s
user	0m51.755s
sys	2m10.544s
Wat die melding over vanished files wil zeggen, weet ik nog niet, maar ik ga er mij ook geen zorgen over maken. Wanneer ik rsync nog eens uitvoer, krijg ik dit:
sending incremental file list
file has vanished: "/mnt/usr.old/lib/graphviz/config4"
 
sent 2434876 bytes  received 9508 bytes  212555.13 bytes/sec
total size is 1461396353  speedup is 597.86
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1058) [sender=3.0.5]
 
real	0m10.500s
user	0m2.820s
sys	0m9.461s
In het slechtste geval is er dus iets mis met graphviz. Niets dat een herinstallatie van het pakket niet kan oplossen.

In /mnt/etc/fstab moeten ook nog (tijdelijk) 2 regels in commentaar gezet worden:

#/.filesystems/usr/usr.sqfs /usr squashfs ro,loop,nodev  0       0
#unionfs         /usr            unionfs nodev,noatime,dirs=/.filesystems/usr/overlay=rw:/usr=ro 0 0
Op die manier gaat Ubuntu niet meer proberen om het squashfs-filesystem te mounten.

Nu is het tijd voor een reboot. Werkt het nu? Neen... *gil*
Ok, opnieuw: DON'T PANIC. Wat is het probleem?

One or more of the mounts listed in /etc/fstab cannot yet be mounted:
(ESC for recovery shell)
/: waiting for /dev/disk/by-label/\134x2f
/home: waiting for /dev/disk/by-label/\x2fhome
Mijn eerste reactie is: onze Koala kan niet overweg met disklabels waar een / in staat. Dat heb ik oorspronkelijk wel gedaan bij het partitioneren. Het gemakkelijkste om de disklabels te hernoemen, is om opnieuw te booten met de usb-stick.
sudo e2label /dev/sda1 root
sudo e2label /dev/mmcblk0 home
/etc/fstab moet ook nog overeenkomstig aangepast worden. Let op: de /etc/fstab op /dev/sda1, dus eerst mounten op /mnt en dan /mnt/etc/fstab aanpassen. De nieuwe versie van /etc/fstab is nu:
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults               
LABEL=root      /               ext4    noatime,errors=remount-ro        1
LABEL=home      /home           ext4    noatime                2
LABEL=swap      none            swap    sw                     
tmpfs           /tmp            tmpfs   defaults               
tmpfs           /var/tmp        tmpfs   defaults               
tmpfs           /var/cache/apt/archives tmpfs  defaults        
 
# /.filesystems/usr/usr.sqfs /usr squashfs ro,loop,nodev  
# unionfs /usr unionfs nodev,noatime,dirs=/.filesystems/usr/overlay=rw:/usr=ro
Ook in /boot/grub/menu.lst moet nog aangepast worden dat het root device nu niet / maar root heet. This is left as an excercise to the reader...

Linux liposuctie: Crunchbang in minder dan 1 gigabyte op de Acer Aspire One

Deze blogpost is een bewerking van http://po-ru.com/diary/linux-liposuction-or-xubuntu-in-under-a-gig-on-th.... Daar wordt er (X)Ubuntu Intrepid (8.10) gebruikt, terwijl mijn versie gericht is op Jaunty (9.04) en Karmic (9.10), meer bepaald de Crunchbang-variant met OpenBox desktop.

In een vorige blogpost heb ik 180 MiB vrijgemaakt door overbodige software en overbodige locales te verwijderen.

Ik heb di en du gebruikt om te achterhalen waar het meeste schijfruimte wordt verbruikt:

$ di -hm /
Filesystem         Mount               Megs     Used    Avail %Used fs Type
/dev/sda1          /                 6099.6   1887.6   4212.0  31%  ext4
$ sudo du -cms /* 2>/dev/null | column -tc 2 | grep -v "^0 " | sort -nr | head -n 11
2649  total
1396  /usr
900   /home
192   /var
124   /lib
16    /boot
8     /sbin
8     /etc
6     /bin
1     /tmp
1     /srv
Het meeste plaats wordt ingenomen door /usr: 1396 MiB. Dit kan verkleind worden, met een combinatie van squashfs en unionfs.

squashfs laat je een filesystem comprimeren, maar het is read-only. unionfs laat je toe om er een schrijfbaar filesystem bovenop te leggen, zodat je gegevens kan wijzigen. Uiteraard, hoe meer data je wijzigt, hoe meer schijfruimte er gebruikt wordt, maar het is altijd mogelijk om opnieuw te comprimeren en de schijfruimte te herwinnen.

Eerst moet squashfs geinstalleerd worden. unionfs zit al standaard in de kernel bij Jaunty en Karmic, en moet dus niet meer geïnstalleerd worden.

$ sudo aptitude install squashfs-tools
Dan moet er een plaats voorzien worden voor het gecomprimeerde filesystem en de overlay:
$ sudo mkdir -p /.filesystems/usr/overlay
Comprimeer het filesystem:
$ sudo mksquashfs /usr /.filesystems/usr/usr.sqfs
Voeg deze regels toe aan /etc/modules:
unionfs
squashfs
loop
en deze regels aan /etc/fstab:
/.filesystems/usr/usr.sqfs /usr squashfs ro,loop,nodev  
unionfs /usr unionfs nodev,noatime,dirs=/.filesystems/usr/overlay=rw:/usr=ro  
Sluit alle programma's af, ga naar runlevel 1 (of reboot en ga in de rescue mode) en zet de oude /usr-directory opzij:
$ sudo init 1
$ mv /usr /usr.old
$ mkdir /usr
$ mount -a
$ init 3
Werkt alles OK, ook na een reboot, dan mag /usr.old verwijderd worden.

Het schijfgebruik is nu:

$ di -hm /
Filesystem         Mount               Megs     Used    Avail %Used fs Type
/dev/sda1          /                 6099.6    954.9   4834.9  21%  ext4
Er is dus 932,7 MiB vrijgekomen. Dat komt overeen met het verschil in grootte tussen /usr en  :
$ sudo du -ms /usr /.filesystems/usr
1396    /usr
464     /.filesystems/usr

Opmerking: bij mij deed readahead een beetje lastig tijdens het booten. Dit probleem staat ook beschreven in deze forumtopic. Aangezien readahead alleen maar zinvol is bij een harde schijf maar niet bij een SSD, heb ik readahead ineens verwijderd:

$ sudo aptitude purge readahead

Inhoud syndiceren