Sunday, August 21, 2005

Computer Maintainance

As best I can tell, my main desktop computer is now four years old. It's an unbranded Pentium IV 1.8 GHz, 512MB RAM. This is the first time ever that I've had a computer for this long, and didn't want to replace it. You can consider that a statement about just how good computers were four years ago, and how good the software I use now is. Bloatware hasn't slowed down my system to a crawl, as it did with the Pentium II-400MHz I used as an undergrad. There have been some major improvements in hardware, though, but, they're not compelling enough yet to me to make me put down the money for a new machine. Probably what I miss the most is USB 2.0 (this machine only supports USB 1.1), which would make access to my external backup device much faster.

There are some maintainance tasks, though, that I should have done a long time ago, but never got around to.
The first: Reorganizing the disks. Here's why. From mount:
/dev/hda2 on / type ext3 (rw,errors=remount-ro)
/dev/hda1 on /winxp type ntfs (ro,umask=0)
/dev/hdb1 on /biggig type vfat (rw,umask=0)


From df:
PartitionTotal size (kb)Used space (kb)Available space (kb)Percent usedMount point
/dev/hda21634248416342484201404088%/
/dev/hda140957684116117722934591229%/winxp
/dev/hdb1292962242934591251326499%/biggig

What this tells you is that I have one 16GB partition currently used as my main Debian drive, one 40GB partition used as a Windows XP C: drive (it's NTFS formatted), and a second 30GB hard drive that was used as a second Windows drive (it's VFAT formatted). When this machine was originally set up, I expected to use XP as my primary operating system and GNU/Linux as a toy. The reverse has actually happened, and I have no intention of going back to using Windows. It also means that my writable hard disks are nearly full, and I'm wasting gigabytes of space in a read-only Windows XP partition.1

Unfortunately, I've been stuck keeping the Windows partition, because annoying people who don't know any better2, keep sending me Word documents. Unfortunately, while OpenOffice.org, KOffice, and AbiWord are good, they aren't perfect, and they sometimes don't reproduce the layout of documents the same way Word does.3 They also can't handle import or export of equations produced in Microsoft equation editor4 This would force me to reboot. Some people have had success running Office under wine (free software), and it is definitely supported under CrossOver Office (proprietary), but I couldn't even get past the installation on wine. The instructions in this article (and its comments) allowed me to set up the ability to run a full copy of Windows XP and Microsoft Office under emulation. It's not super-fast, but, it works. For reference, I created a 2.5GB file to use as a disk (in /biggig/windisk), and I run qemu (from a script called /usr/local/bin/win) with the following command line:
qemu -boot c -hda /biggig/windisk/c.img -user-net -m 256 -localtime $*
If I need access to other files, I place them on a VFAT formatted floppy disk image, and run
win -fda a.img
The a.img file is mountable via the Linux loopback device.

In case you're interested, here's a screenshot of Word running under qemu with Mozilla and the KDE window manager in the background:
Screenshot of Word under qemu

So, now that I have a way to read those pesky Word documents, I can finally reclaim my unused hard drive space and absorb it back into the Linux filesystem hierarchy, and perhaps, do a better partitioning job (Logical Volume Manager?) than I did last time. Yay!

Technorati tags: , ,

1 The captive NTFS driver allows read-write access to NTFS partitions. But, NTFS and VFAT don't support the advanced features of *nix filesystems, such as the *nix permissions model, and symbolic links.
2 Or don't have a choice, by the constraints of their work.
3 The people who wrote the open source word processors have done a very good job at ensuring compatibility. The incompatibilties are a side-effect of Microsoft's closed formats that encourage vendor lock-in, and make users keep paying into the Microsoft money machine.
4 In their defence, sometimes, neither can Microsoft Word.

Comments:
"But, NTFS and VFAT don't support the advanced features of *nix filesystems, such as the *nix permissions model, and symbolic links. "

NTFS supports a superset of the Unix permissions model. It doesn't have symbolic links, and its reparse points are a poorly done hack to support volume mount points. Still, NTFS isn't anywhere near the worst technology to ship from Redmond. Read this for a great story, but also a bit about NTFS's rocky start.
 
What I should have said was that the Linux implementation of NTFS doesn't support NTFS's permissions model. It approaches the whole drive as if it had the same permissions. NTFS, as far as I understand it, supports ACL's (access control lists), which are quite a bit more involved than the simple user-group-other/rwx permissions. A version of ACL's is supported in the latest Linux filesystems and kernels, but, I don't think it works for NTFS.

Truthfully, I don't know if NTFS is a "good" technology or a "bad" technology. All I know is that it's entirely closed (which is what makes the Linux implementation so crappy), and it's not letting me do what I want it to do.
 
"It approaches the whole drive as if it had the same permissions."

Huh?

" NTFS, as far as I understand it, supports ACL's (access control lists), which are quite a bit more involved than the simple user-group-other/rwx permissions.

UGO *is* an ACL, albeit one contrained to exactly 3 ACEs, one of which is the default.

"I don't think it works for NTFS."

It doesn't. However, many features of Windows' filesharing use NTFS features, so Samba really needs your linux filesystems to be able to store xattrs, of which ACLs are one. XFS and a recent ext3 or reiserfs can do this. And don't get me started on reiser4.

"All I know is that it's entirely closed (which is what makes the Linux implementation so crappy), and it's not letting me do what I want it to do."

Aaaaaaamen!
 
"It approaches the whole drive as if it had the same permissions."

Huh?


The Linux NTFS driver supports mounting an NTFS volume with a uid, a gid, and a umask. Therefore, all the files on the drive have the same permissions.

UGO *is* an ACL, albeit one contrained to exactly 3 ACEs, one of which is the default.

In a retroactively applied terminological kind of way... I always think of an ACL as a more general construct, but, there's no reason that the UGO system isn't a simple ACL.

Samba really needs your linux filesystems to be able to store xattrs, of which ACLs are one.

I'm blissfully unaware, as, I've never really tried to set it up in any sophisticated way.
 
"It approaches the whole drive [...] The Linux NTFS driver"

Ahhh, that "it."

"there's no reason that the UGO system isn't a simple ACL."

More: there's no authorization policy an ACL can express that UGO can't also express. You just need a very large number of groups. Think about it.
 
More: there's no authorization policy an ACL can express that UGO can't also express. You just need a very large number of groups. Think about it.

Yup, that's the problem that full ACL's were intended to solve. It's also why I haven't bothered implementing them. They're overkill on a small system.

UPDATE 1: Having a LiveCD handy and a GRUB bootdisk are good things.

UPDATE 2: Windows now running on a VM, I've moved my /boot partition to a separate one, I'm moving my / partition to a smaller partition, and I'm trying out LVM because it looks cool.
 
UPDATE: The transition is complete. I've got /home,/var,/tmp,/usr,/opt on different logical volumes managed by LVM. / and /boot are not managed by LVM.

I still have my old / partition and an old VFAT partition sitting around. The old / partition will be LVM-ified and joined to the other logical volumes when I need the space. The old VFAT is slowly having its useful data moved to /home. I'll either use it as more extra space for LVM or a place to try out other operating systems (*BSD, anyone?).

Win XP/M$ Word happily runs under qemu.
 
These are very good tips. I have some kind of same things in my blog, guide for maintaining computer. For every compu8ter has some problems. Those can rectify by any of the Remote Tech Support with ease and less payment.
 
Thhanks great post
 
Post a Comment

<< Home