I want a system that will just stay out of my way and not make me think about it. But to not force people to think about anything requires careful thought into what works in the background silently and smoothly. There is of course the universal kernel and the efficiency of code of all bits and pieces of software. But an easier and more non-technical "everyone" way to dissect why one distro offers better productivity than the other is to look at the packages.
I am going to take a look at Crunchbang's packages and list them so that I can understand why that distro comes close to being one of the most perfect distros I have worked on. As usual, the easiest way is to just dissect the hard work already done by the experts. Omns (or Grant Galbraith) in his omns project blog puts together Debian systems all the time and writes post-install scripts for them. I am just going to extract commands from these scripts and put them down here. The difference will be I want to write my own descriptions for each package, why they are essential to the system and what they bring to the table in terms of making that distro a bit more "intuitive", all based on my limited understanding of linux systems.
I guess the goal is to learn not by building linux from scratch but by pulling apart a system that works well. And since I am working backwards, I am hoping to go from the superficial layers to the deep, first looking at the packages that form and work with the graphical interface and immediate enduser functions going down to what comprises the system itself. I probably won't be done in one day or even one year, but hopefully, this will be a useful exercise in understanding a bit more about linux systems that are better than others.
From part II: XFCE 4.8 on Debian Squeeze
- Set Repositories
wget
mv /etc/apt/sources.list /etc/apt/sources.list.bak
cp sources.list /etc/apt/sources.list
I usually do:
sudo gedit /etc/apt/sources.list
So what is his sources list...
(% means commented out since the # means something else on (e:strip))
-- DEBIAN SQUEEZE
deb squeeze main contrib non-free
% deb-src squeeze main contrib non-free
-- DEBIAN SQUEEZE UPDATES
deb squeeze-updates main contrib non-free
% deb-src squeeze-updates main contrib non-free
-- DEBIAN TESTING
deb testing main contrib non-free
% deb-src testing main contrib non-free
-- DEBIAN UNSTABLE
deb unstable main contrib non-free
% deb-src unstable main contrib non-free
-- DEBIAN EXPERIMENTAL
% deb experimental main contrib non-free
% deb-src experimental main contrib non-free
-- MOZILLA
% deb squeeze-backports iceweasel-4.0
-- DEBIAN SECURITY
deb squeeze/updates main non-free
% deb-src squeeze/updates main non-free
-- DEBIAN MULTIMEDIA
deb stable main non-free
-- DEBIAN BACKPORTS
deb squeeze-backports main contrib non-free
-- DEBIAN SQUEEZE
deb squeeze main contrib non-free
% deb-src squeeze main contrib non-free
-- DEBIAN SQUEEZE UPDATES
deb squeeze-updates main contrib non-free
% deb-src squeeze-updates main contrib non-free
-- DEBIAN TESTING
deb testing main contrib non-free
% deb-src testing main contrib non-free
-- DEBIAN UNSTABLE
deb unstable main contrib non-free
% deb-src unstable main contrib non-free
-- DEBIAN EXPERIMENTAL
% deb experimental main contrib non-free
% deb-src experimental main contrib non-free
-- MOZILLA
% deb squeeze-backports iceweasel-4.0
-- DEBIAN SECURITY
deb squeeze/updates main non-free
% deb-src squeeze/updates main non-free
-- DEBIAN MULTIMEDIA
deb stable main non-free
-- DEBIAN BACKPORTS
deb squeeze-backports main contrib non-free
So I don't like firefox. Never have. I have always been an Opera or currently a Chrome fan. The Mozilla-ice-weasel needs to go in my set up.
- Setting up preferences
wget
mv /etc/apt/preferences /etc/apt/preferences.bak
cp preferences /etc/apt/preferences
This is something I don't know about. Something called apt-pinning. Omns has done a post about it that I need to read about. For now these are the preferences in the file we just copied:
Package: *
Pin: release n=squeeze-backports
Pin-Priority: 1001
Package: *
Pin: release n=squeeze-updates
Pin-Priority: 950
Package: *
Pin: release n=squeeze
Pin-Priority: 900
Package: *
Pin: release n=stable
Pin-Priority: 800
Package: *
Pin: release a=testing
Pin-Priority: 700
Package: *
Pin: release a=unstable
Pin-Priority: 600
Package: *
Pin: release a=experimental
Pin-Priority: 200
Pin: release n=squeeze-backports
Pin-Priority: 1001
Package: *
Pin: release n=squeeze-updates
Pin-Priority: 950
Package: *
Pin: release n=squeeze
Pin-Priority: 900
Package: *
Pin: release n=stable
Pin-Priority: 800
Package: *
Pin: release a=testing
Pin-Priority: 700
Package: *
Pin: release a=unstable
Pin-Priority: 600
Package: *
Pin: release a=experimental
Pin-Priority: 200
- Add Keyrings
- Update Repositories and Upgrade packages
sudo apt-get update
sudo apt-get dist-upgrade
I have noticed that an upgrade always breaks stuff in Crunchbang Statler. Probably an indication that that exact package collection only works with some older Debian components and not with the newer updates. I still haven't learnt how to pinpoint the source of the break.
- Base packages and applications.
sudo apt-get install
xorg --> the graphical interface.
gksu --> launches programs in graphical interface
gdebi --> enables double-click *.deb and install ability
file-roller --> an unzip/unrar/untar utility (does not play well with evince)
% why do I need all the compression programs under the sun?
lha --> lzh archiver
lzop --> fast compression program
rzip --> compression program for large files
unalz --> De-archiver for .alz files
zoo --> zoo archive extractor
xz-utils --> XZ-format compression utilities
p7zip-full --> extract 7zip archives
alsa-base --> sound server. Maybe replace with pulseaudio
vlc --> video lan player
audacity --> audio player. vlc is fine really.
libdvdcss2 --> ?
lame --> mp3 codec
gimp --> high end graphics program similar to Photoshop
ttf-freefont --> better fonts rendering. Absolutely essential!
ttf-mscorefonts-installer --> M$shit fonts that are not so shit.
gcolor2 --> ?
agave --> ?
gedit --> The "linux notepad" I like so much!
fortunes --> ?
fortune-mod --> ? (I have read this is important as a notification machine but I am not really sure.)
gedit-plugins --> ? Not sure which plugins these are, the ons that bring along different code highlighting and syntax highlighting maybe. I just need some eye-popping bright ones that may not necessarily belong to R but make error-spotting easier.
evince --> pdf reader. ver 3.0 has annotation support but still ages behind wine + pdf xchange viewer.
gcalctool --> ? calculator?
iceweasel --> weasel I hate (firefox).
gftp -->?
xchat --> irc client. useful for naggy questions in realtime.
transmission-gtk --> torrent client.
wicd --> I think network manager is better in terms of offering a bigger variety of connections. 3G, VPN etc
cups --> something to do with the printer?
cups-pdf --> pdf printing?
system-config-printer --> ?
hpijs --> ?
hplip --> ?
dmz-cursor-theme --> ?
gtk2-engines-murrine -- ?
tango-icon-theme -- ? do I need this eye candy?
gnome-colors --> ?
bash-completion -- ?
screen -- ?
cowsay -- ?
figlet -- ?
scrot -- ?
whois -- ?
rpl -- ?
conky-all --> system monitor. Don´t need this as I only use the clock, that xfce can provide.
zenity -- ?
gparted --> partition disks. Do I really need this?
xfsprogs --> ?
reiserfsprogs --> ?
reiser4progs --> ?
jfsutils --> ?
synaptic --> package installer. Useful sometimes when you don't want to mess around with command line.
ttf-bitstream-vera --> font
ttf-dejavu --> font
ntfs-3g --> ?
pcmciautils --> ?
parcellite --> clipboard manager. I this messes up gnumeric.
fontconfig-config --> ?
libcairo2 --> ?
firmware-linux --> drivers but not sure which ones
firmware-iwlwifi --> I need to compile and install my dear realtek here, this won't help. Atleast not in the current kernel where my wireless has not been integrated.
libreoffice --> current openoffice avatar. I don't need all of it. Maybe only writer, impress and math
libreoffice-gtk --> ?libreoffice related
xorg --> the graphical interface.
gksu --> launches programs in graphical interface
gdebi --> enables double-click *.deb and install ability
file-roller --> an unzip/unrar/untar utility (does not play well with evince)
% why do I need all the compression programs under the sun?
lha --> lzh archiver
lzop --> fast compression program
rzip --> compression program for large files
unalz --> De-archiver for .alz files
zoo --> zoo archive extractor
xz-utils --> XZ-format compression utilities
p7zip-full --> extract 7zip archives
alsa-base --> sound server. Maybe replace with pulseaudio
vlc --> video lan player
audacity --> audio player. vlc is fine really.
libdvdcss2 --> ?
lame --> mp3 codec
gimp --> high end graphics program similar to Photoshop
ttf-freefont --> better fonts rendering. Absolutely essential!
ttf-mscorefonts-installer --> M$shit fonts that are not so shit.
gcolor2 --> ?
agave --> ?
gedit --> The "linux notepad" I like so much!
fortunes --> ?
fortune-mod --> ? (I have read this is important as a notification machine but I am not really sure.)
gedit-plugins --> ? Not sure which plugins these are, the ons that bring along different code highlighting and syntax highlighting maybe. I just need some eye-popping bright ones that may not necessarily belong to R but make error-spotting easier.
evince --> pdf reader. ver 3.0 has annotation support but still ages behind wine + pdf xchange viewer.
gcalctool --> ? calculator?
iceweasel --> weasel I hate (firefox).
gftp -->?
xchat --> irc client. useful for naggy questions in realtime.
transmission-gtk --> torrent client.
wicd --> I think network manager is better in terms of offering a bigger variety of connections. 3G, VPN etc
cups --> something to do with the printer?
cups-pdf --> pdf printing?
system-config-printer --> ?
hpijs --> ?
hplip --> ?
dmz-cursor-theme --> ?
gtk2-engines-murrine -- ?
tango-icon-theme -- ? do I need this eye candy?
gnome-colors --> ?
bash-completion -- ?
screen -- ?
cowsay -- ?
figlet -- ?
scrot -- ?
whois -- ?
rpl -- ?
conky-all --> system monitor. Don´t need this as I only use the clock, that xfce can provide.
zenity -- ?
gparted --> partition disks. Do I really need this?
xfsprogs --> ?
reiserfsprogs --> ?
reiser4progs --> ?
jfsutils --> ?
synaptic --> package installer. Useful sometimes when you don't want to mess around with command line.
ttf-bitstream-vera --> font
ttf-dejavu --> font
ntfs-3g --> ?
pcmciautils --> ?
parcellite --> clipboard manager. I this messes up gnumeric.
fontconfig-config --> ?
libcairo2 --> ?
firmware-linux --> drivers but not sure which ones
firmware-iwlwifi --> I need to compile and install my dear realtek here, this won't help. Atleast not in the current kernel where my wireless has not been integrated.
libreoffice --> current openoffice avatar. I don't need all of it. Maybe only writer, impress and math
libreoffice-gtk --> ?libreoffice related
- Clean up downloaded packages
sudo apt-get clean
- Install Xfce 4.8
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get -t testing install
xfce4
xfdesktop4
xfce4-power-manager
xfce4-screenshooter
xfce4-notifyd
thunar
thunar-archive-plugin
thunar-media-tags-plugin
thunar-thumbnailers
gvfs-backends
gvfs-bin
gvfs-fuse
xfce4-mixer
xfburn
terminator
- Clean up downloaded packages
sudo apt-get clean
reboot
Hmm.. quite a few question marks I need to fill out there.
I hope not. Seems like an insanely crazy job which might make me tear my hair out by the roots.
Pretty soon you'll be looking for work as a linux sysadmin :)
LOL, yeah. I think this is where the "crazy" comes out. If I am really at some absolutely unconnected event "enjoying", the guilt is enough to drown me in it. But this is something connected (even it VERY tangentially and quite blatantly avoidable) to what I deal with daily at work. It sounds silly, but that's me. Someday, I might grow out of this and attempt to be "normal' but for now, I am sticking to the insanity of it all!
(e:paul)!!! hahaha!!! She won't go do something that might actually relieve stress and anxiety...
(e:tinypliny) - remember that debian unstable and debian experimental are called that for a reason. Don't be surprised if apps you pull from those repositories crash (especially experimental) or don't work properly. Debian is only stable when you use debian stable.
Wow,you are procrastinating so hardcore.