SkyOS Application (De)Installation Technique Explained

Interesting approach, leveraging file attributes combined with fast file searching:

SkyOS Application (De)Installation Technique Explained

Looks like SkyOS (videos and nice wallpapers) is pretty innovative in other fields as well. For example, I like the fact that its Live-Query application doesn’t hide the query language from its users. It would be nice if Google and co. were esteeming and supporting power users too (I’m still waiting for a search engine that offers a public regexp interface).

How to “reset” a Mac OS X installation

Here’s how to “reset” an installed Mac OS X and virtually return to a “virgin” state with a welcome screen prompting the user to setup and customize his Mac OS X installation:

0. To reset a Mac OS X v10.7 Lion installation to factory default, check Mark’s comment @ Apple forum (basically, deleting users before booting into single user mode seems to do the trick). For Mac OS X v10.6 Snow Leopard and older, follow the procedure below.

1. Press Command-S during startup to get into single user mode
2. Check the filesystem:
# /sbin/fsck -fy
3. Mount the root partition as writable:
# /sbin/mount -uw /
4. Remove the hidden .AppleSetupDone file:
# rm /var/db/.AppleSetupDone
5. a) For Mac OS X 10.5 ‘Leopard’ and newer, do:
# launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist
Repeat for every user previously defined on the machine (replace {username} with the real user name):
# dscl . -delete /Users/{username}
# dscl . -delete /Groups/admin GroupMembership {username}

5. b) For older versions of Mac OS X, do:
# rm -rf /var/db/netinfo/local.nidb
6. Remove the home directories of users. For every user do (replace {username} with the real user name):
# rm -rf /Users/{username}
7. If applicable, remove already created files in root’s home directory, e.g.
# rm /root/.bash_history
8. Shutdown (or reboot to verify the procedure worked):
# shutdown -h now
-or-
# reboot

That’s it! :)

[Update 20081106]: Thanks to Macs R We for the update 5 a) regarding Mac OS X Leopard! See the comments below for more information.

[Update 20090429]: Added “dscl . -delete /Groups/admin GroupMembership {username}” to 5b) as suggested by rello (see rello’s comment below)

[Update 20110731]: Some updates about resetting Mac OS X v10.7 Lion (unverified) and a clarification that rebooting at the end isn’t strictly necessary (just to verify the procedure worked). Thanks to David, Adrien and Adam for the hints.

Gentoo: Migration from devfs to udev

Some pointers:

The complete Gentoo Linux 2.6 migration guide
Gentoo udev Guide

Notes:
* famd went crazy after the kernel update (it wrote about 100 lines of text per second to /var/log/messages). ’emerge fam’ solved it.
* udev doesn’t seem to recognize external USB drives that are plugged-in at boot-time already. So in addition to ‘hotplug’, I had to install ‘coldplug’:
# emerge coldplug
# rc-update add coldplug default
# /etc/init.d/coldplug start

goScreen 5.0

goScreen 5.0 has been released. Excerpt from the e-mail:

This version features
* application window layout management,
* possibility to start several instances of goScreen on multi-monitor
systems to manage different PC monitors independently, and
* possibility to create and use different configuration profiles in registry.

Layout management makes it possible:
* to define preferred size and position of application windows, and restore it with a single shortcut command;
* to temporarily rearrange all windows on the current screen page so they are all visible
* to find a window you need; once you find and activate it, all windows will return to their previous positions, with the one that you needed at the top of the stack;
* to pack all windows on the currents screen page while working with several documents at once – goScreen arranges them so they are all visible and maintains the order. Any window on the page is always one mouse click away.
* to temporarily move all application windows aside so the desktop is visible
* to open yet another document, or start an application. Once you do, all windows return to their previous positions.

I like goScreen. In fact, I almost can’t imagine working without it when using Windows. It definitely increases my productivity. I like goScreen’s licensing policy too (upgrades are free for registered users). The only trouble I have with goScreen (even with v5.0): Sometimes, the window list unwantedly pops up. I’d like to be able to permanently switch off the window list.

resolving some courier-imapd errors after a recent update of gentoo

problem 1:

Feb 11 01:46:58 o2 authdaemond: failed to connect to mysql server (server=mysql.example.com, userid=admin): Unknown MySQL Server Host ‘mysql.example.com’ (1)
Feb 11 01:46:58 o2 imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:192.168.1.33]
Feb 11 01:46:58 o2 imapd-ssl: authentication error: Input/output error

reason 1: the configuration of courier imapd authentication methods has been resetted by this update. courier thus erroneously tries to use the (not configured) mysql auth method.

solution 1:

edit /etc/courier/authlib/authdaemonrc and replace the line

authmodulelist=”authmysql authpam authuserdb authshadow authcustom”

by

authmodulelist=”authpam”

(adjust to match your courier-imapd authentication method)

# /etc/init.d/courier-imapd restart
# /etc/init.d/courier-imapd-ssl restart

problem 2:

Feb 11 02:08:03 o2 imapd-ssl: Failed to create cache file: maildirwatch (mettlerd)
Feb 11 02:08:03 o2 imapd-ssl: Error: Input/output error
Feb 11 02:08:03 o2 imapd-ssl: Check for proper operation and configuration
Feb 11 02:08:03 o2 imapd-ssl: of the File Access Monitor daemon (famd).

reason 2: famd is not started by default

solution 2:

# rc-update add famd default
# /etc/init.d/famd start