Archive for July, 2007

How to create custom linux ISO image?

It’s rather trivial task to make some changes into already burned installation or live CD. It may be performed to add some files to this CD or edit files on it. In any case it’s impossible to loop mount .iso file and then save it as iso9660 filesystem is read-only.

So, just mount your CD or iso image to some directory by commands:

sudo mkdir /mnt/image

sudo mount /dev/cdrom /mnt/image


sudo mount /path/to/your.iso /mnt/image -o loop

then copy it’s contents to some directory:

mkdir /tmp/newiso

cp -r /mnt/image /tmp/newiso

After this you can modify any files in /tmp/newiso, add files, delete them. After modifications are done, create new ISO image to be burned onto CD (or kept somewhere for a rainy day):

cd /tmp/newiso


sudo mkisofs -o /tmp/new.iso -b isolinux/isolinux.bin -c isolinux/ -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V “new iso name” .

After mkisofs is finished new ISO file will be created at /tmp directory.
It works in any Linux distributions like Ubuntu, Debian or Fedora.

Funny aptitude trick in Ubuntu and Debian…

Ubuntu and Debian aptitude trick (eggs)

Moving Linux to remote server (over ssh via third server)

Source: server running rather obsolete Fedora Core 1 with Apache, sendmail, ftp and other stuff.
Target: any Linux server with at least one hard drive of appropriate disk space installed (in this case target server was running Knoppix).
Third server: any ssh running system.

First of all it’s necessary to get all servers to be accessible to each other via ssh. Read your distribution’s manual to find out how to achieve it.

There are several possible ways to move Linux to another server by means of using dump/restore utilities over ssh. I’ve chosen this one: I’ve saved source server’s filesystem backup to third server over ssh and then restored this backup to target server (again over ssh).

To do this I’ve installed dump 0.4b41 onto source server and performed the following commands to save it’s /boot and / filesystems backups to third server (both in one line):

dump -0uan -f – /boot | ssh -c aes256-cbc @ dd of=/home/artemn/backup/dump/dump-boot-l0.bak


dump -0uan -f – / | ssh -c aes256-cbc @ dd of=/home/artemn/backup/dump/dump-root-l0.bak

It took several hours to transmit 20Gb over Internet in my case. If you’re performing these operations remotely I recommend to use utility screen to be sure that transmitting won’t be stopped when ssh session to source server is closed. To use it just login to source server over ssh and type screen and then dump command with necessary agruments (see below). In case you’ve been disconnected just ssh again and restore screen session by command screen -r.

You can control above mentioned dump command activity by watching file size of dump-root-l0.bak and dump-boot-l0.bak files at third server.

After dump is finished you can check backup at third server by performing restore -i -f dump-root-l0.bak and walking through directories in backup file (use ls command). For further information read restore manual (interactive restore section): man restore.

Then login to target server and partake hard disk in the same way as it’s done at source server. In my case I’ve created three partitions /dev/sda1 for /boot, /dev/sda2 for / and /dev/sda3 for swap. Target server can be running Live CD like Knoppix and have only one hardware drive.

When partitioning is done create filesystems at every partition:

mkfs -t ext2 /dev/sda1

mkfs -t ext2 /dev/sda2

mkswap /dev/sda3

Then set volume labels to just created filesystems by commands:

tune2fs -L “/boot” /dev/sda1


tune2fs -L “/” /dev/sda2

Labels should be the same as at source server (you can see them by executing tune2fs -l /dev/sda1 and tune2fs -l /dev/sda2 at source server). Sometimes it’s also necessary to set up volume label for swap filesystem.

When it’s done mount created filesystems by commands:

mount /dev/sda1 /mnt/sda1


mount /dev/sda2 /mnt/sda2

(be sure that /mnt/sda1 and /mnt/sda2 are created).

To restore filesystem from backed up copy, ‘cd‘ to destination directory and restore data by commands:

cd /mnt/sda1


ssh @ “cat /home/artemn/backup/dump/dump-boot-l0.bak” | restore -r -f –


cd /mnt/sda2


ssh @ “cat /home/artemn/backup/dump/dump-root-l0.bak” | restore -r -f –

In case of success /mnt/sda1 and /mnt/sda2 will contain the same files at /boot and / directories at source server.

When filesystems restoration is done we should install boot loader onto hard drive of target sever: start grub console by typing grub and then type root (hd0, 0), then setup (hd0). After this boot loader will be installed and target server can be booted from hard disk.

Note: be sure that dump and restore commands run at source and target servers are of same versions as it causes problems sometimes. I’ve used 0.4b41 at Fedora Core 1 (source) and Knoppix (target server).

Another note: I’ve spent a day to solve the problem with kernel panic when booting into target server’s hard disk. The problem was in volume labels. So don’t forget to set them.

Hope it helps somebody! Good luck, mates!

Prevent Fedora Core yum hang up

I think that everybody who works with Fedora Core noticed that software installation utility YUM hangs up sometimes. I happens for me after killing yum process during it downloads package or etc. Next time I start yum, it hangs up. Here are two commands to avoid this:

killall -9 yum #to kill stopped yum
rm /var/lib/rpm/__db.* #to prevent hanging up

After it’s done, yum will start normally.

Ubuntu Feisty Fawn at Dell Inspiron 1501

Ubuntu now works perfectly at my just bought Dell Inspiron 1501 laptop that has the following characteristics: AMD Turion 64 X2 1600 Mhz, 512 Mb RAM, 80 Gb HDD, Broadcom Wi-Fi adapter, 15.4” wide screen display… 32-bit Fiesty has been installed without any problems and provides all needed hardware support for the laptop. I really recommend this operating system to be installed onto Desktops and Laptops. contains all necessary information and provided invaluable help.
In case you have any problems and/or questions regarding this laptop running Ubuntu feel free to contact me at artiomix{at}

Ubuntu Feisty Fawn 7.04 at Dell Inspiron 1501