Keep your OpenSolaris installation slim/clean
September 18th, 2009 • 3 CommentsI really like OpenSolaris. If you haven’t tried it yet you should give it a try. Still there are some things where I choose other operating system over OpenSolaris. Missing ports for some of the application I use is one point…
But never the less OpenSolaris has some killer features which makes is worth a try. For example ZFS, Zones or DTrace.
One tool I absolutely like when using Linux is the packaging system and the ability to clean up orphaned (e.g. with help of deborphan) packages. After some googleing it seemed that there is nothing in OpenSolaris yet to do so. But here are some tips and tricks to keep your installation clean as long as the feature is not available…
- On a laptop use ZFS compression:
zfs set compression=on rpool
- Turn of the caching in pkg. (This will save you a lot disc space!)
pkg set-property flush-content-cache-on-success True
Downloaded packages are then no longer kept on your harddrive in /var/pkg/download - deactivate unneeded services / uninstall software. This is a personal one – Decide what tools you wanna have and which ones not (Presumably you can uninstall a lot of the languages packs). Some service which you could deactivate are:
svc:/application/desktop-cache/input-method-cache:default
svc:/application/desktop-cache/mime-types-cache:default
svc:/application/desktop-cache/icon-cache:default
svc:/application/desktop-cache/desktop-mime-cache:default
svc:/application/print/ppd-cache-update:default
Use the following command to do so
svcadm disable ${svc}
svccfg delete ${svc} - Find leaf/orphaned packages – This is more complicated but also a very important part. Especially some libs which you do not need any longer tend to stay. What you can do is the following – Find all the dependencies using
/bin/pkg search -l \'depend::\'
And then find all installed packages:
pkg list
All items which are installed but nobody depends on – are therefore leafs/orphaned. But be carefully – this will also list eclipse etc. But this is a way to find the orphaned libs. Personally I did some parsing with python to parse the two list of dependencies and installed packages to find the unique ones.
Overall these actions saved me 4Gb of space. Next thing to play with is tuning ZFS 🙂 Installing it on hybrid system. Have a look here: http://blogs.sun.com/brendan/entry/test
Good info!
It also seems a good idea to set var/pkg/downloads as a filesystem, so that it will not be included in root snapshots.
If you want to disable those core crash files being stored under /var/crash:
coreadm -d process
(or disable this by intalling and using the OSOLvpanels packages).
set atime=off on filesystems where you dont need to store access time for every file.
disable unneeded applications on gnome autostart. tracker can be a big performance hog if let it index many files
tune recordsize if you have a database:
set recordsize=16k for mysql or squid
set recordsize=128k for innodb log files
compression is usually good for mysql, but doesnt seem to do much for squid.
also take a look at innodb_flush_method = O_DIRECT if you use mysql.
Thanks a lot for this additional tips! Very useful!
I want to say – thank you for this!