Intro
Kandungan
Feedback

 

Tips Linux

1) Sharing swap partitions between Linux and Windows.

Tony Acero, ace3@midway.uchicago.edu

1. Format the partition as a dos partition, and create the Windows

swap file on it, but don't run windows yet. (You want to keep the

swap file completely empty for now, so that it compresses well).

2. Boot linux and save the partition into a file. For example if the

partition was /dev/hda8:

dd if=/dev/hda8 of=/etc/dosswap

3. Compress the dosswap file; since it is virtually all 0's it will

compress very well

gzip -9 /etc/dosswap

4. Add the following to the /etc/rc file to prepare and install the

swap space under Linux:

XXXXX is the number of blocks in the swap partition

mkswap /dev/hda8 XXXXX

swapon -av

Make sure you add an entry for the swap partition in your /etc/fstab

file

5. If your init/reboot package supports /etc/brc or /sbin/brc add the

following to /etc/brc, else do this by hand when you want to boot

to dos|os/2 and you want to convert the swap partition back to the

dos/windows version:

swapoff -av

zcat /etc/dosswap.gz | dd of=/dev/hda8 bs=1k count=100

# Note that this only writes the first 100 blocks back to the parti-

tion. I've found empirically that this is sufficient

>> What are the pros and cons of doing this?

Pros: you save a substantial amount of disk space.

Cons: if step 5 is not automatic, you have to remember to do it by

hand, and it slows the reboot process by a nanosecond :-)

2) Desperate Undelete. Michael Hamilton, michael@actrix.gen.nz

Here's a trick I've had to use a few times. Desperate person's text file undelete. If you accidentally remove a text file, for example, some email, or the results of a late night programming session, all may not be lost. If the file ever made it to disk, ie it was around for more than 30 seconds, its contents may still be in the disk partition. You can use the grep command to search the raw disk partition for the contents of file.

For example, recently, I accidentally deleted a piece of email. So I immediately ceased any activity that could modify that partition: in this case I just refrained from saving any files or doing any compiles etc. On other occasions, I've actually gone to the trouble of bring the system down to single user mode, and unmounted the filesystem. then used the egrep command on the disk partition: in my case the email message was in /usr/local/home/michael/, so from the output from df, I could see this was in /dev/hdb5

sputnik3:~ % df

Filesystem 1024-blocks Used Available Capacity Mounted on

/dev/hda3 18621 9759 7901 55% /

/dev/hdb3 308852 258443 34458 88% /usr

/dev/hdb5 466896 407062 35720 92% /usr/local

sputnik3:~ % su

Password:

[michael@sputnik3 michael]# egrep -50 'ftp.+COL' /dev/hdb5 > /tmp/x

Now I'm ultra careful when fooling around with disk partitions, so I paused to make sure I understood the command syntax BEFORE pressing return. In this case the email contained the word 'ftp' followed by some text followed by the word 'COL'. The message was about 20 lines long, so I used -50 to get all the lines around the phrase. In the past I've used -3000 to make sure I got all the lines of some source code. I directed the output from the egrep to a different disk partition - this prevented it from over writing the message I was lookingfor.I then used strings to help me inspect the output strings /tmp/x | less Sure enough the email was in there. This method can't be relied on, all, or some, of the disk space may have already been re-used.

This trick is probably only useful on single user systems. On multiusers systems with high disk activity, the space you free'ed up may have already been reused. And most of use can't just rip the box out from under our users when ever we need to recover a file. On my home system this trick has come in handy on about three occasions in the past few years - usually when I accidentally trash some of the days work. If what I'm working survives to a point where I feel I made significant progress, it get's backed up onto floppy, so I haven't needed this trick very often.