Onderstaande instructies gelden voor vrijwel alle Debian-achtigen en ook voor Ubuntu.
Ik vertrek het liefst van
Debian Testing multi-architecture inclusief non-free firmware omdat dat een rolling release is en je dus nooit meer een nieuwe versie hoeft te installeren. Gewoon upgraden en je krijgt telkens het nieuwste.
Vertrek in elk geval van een mini- of "network install"-ISO. Probeer ook zo'n iso vanaf een usb-stick te installeren in plaats vanaf een cd-rom, omdat dat veel en veel sneller is. Je kunt onder Linux
Unetbootin of voor moderne zogenaamde hybride ISO's ook
usb-imagewriter(zit in de standaard pakketten van Ubuntu en andere distributies) gebruiken om iso's op een usb-stick te zetten. Voor computers die geen boot vanaf een usb-stick ondersteunen maar wel vanaf een cd of een floppy kun je de
Plop Boot Manager gebruiken om toch vanaf een usb te kunnen installeren door te booten vanaf een floppy of cd-r met die Plop Boot Manager en die laat je dan vanaf de usb-stick booten. Werkt prima!
Installeer Debian (of Ubuntu) vanaf deze mini- of netinst-ISO normaal, maar als je op het eind het keuze scherm krijgt van wat je allemaal kunt installeren, vink dan de standaard desktop uit! De openssh server installeren is wel een goed idee, omdat je dan de onderstaande bevelen gemakkelijk kunt kopiëren en plakken vanaf een andere pc met webbrowser. Onderaan staan standaardgereedschappen aangevinkt. Bij een notebook ook nog notebookgereedschappen. Dat is OK en mag je laten staan.
Opmerking: sommige Debian Testing iso's hebben een fout in de installeerder waarbij hij bij het binnenladen van pakketten vanaf de spiegelserver een foutmelding geeft dat hij bepaalde pakketten niet kan laden. Wat je daar ook kiest aan alternatieven, hij blijft de foutmelding geven. Kies gewoon "negeren" en laat de installatie verderzetten. Op het einde krijg je bij het keuzemenu dan maar één optie: de standaard systeemhulpmiddelen (eventueel aangevuld met de laptophulpmiddelen). Dat is eigenlijk precies wat we willen hebben, dus in feite prima.
Dit heb ik al een tijdje niet meer gezien, dus is het mogelijk opgelost.
Na afloop moet het systeem rebooten en krijg je een terminalprompt. Als je de openssh-server geïnstalleerd had, kun je naar een andere computer gaan en via ssh een terminaltoegang openen. Wellicht moet je eerst even op de verse installatie inloggen en met
hostname -I het ip-adres opvragen als dat via dhcp toegekend werd.
De onderstaande uitleg is voor Debian Testing, omdat ik die leuker vind dan Ubuntu. Waarom? Omdat het een rolling release is en Ubuntu niet. Debian Testing hoef je dus nooit te herinstalleren of een tijdrovende upgrade naar een nieuwe versie uit te voeren.
We gaan eerst zorgen dat we de goeie softwarerepository's activeren. Standaard staan de editors nano en vi geïnstalleerd, maar als je zoals ik van Wordstar-compatibiliteit houdt kun je de editor joe installeren. Zelf verwijder ik ook de apt-listchanges die in Debian standaard geïnstalleerd wordt. Dat pakket zorgt ervoor dat je na iedere updatesessie een overzicht krijgt van de verschillen tussen pakketten die opgewaardeerd worden. Dat is voor de meeste gewone gebruikers helemaal niet interessant en zelfs vervelend. Ubuntu doet dat ook niet, dus weg ermee! Voor systeembeheerders is dit overigens wél nuttig. Ik werk ook graag met aptitude opdat dat een veel beter uitgewerkt en vollediger bevel is dan apt-get. Debian heeft het standaard aan boord, maar Ubuntu vanaf versie 11.04 niet meer. Ga eerst in rootmodus:
sudo -i
of
su root
vervolgens:
apt-get aptitude
en daarna:
aptitude -y install joe ne curl hal ntp ntpdate cpufrequtils dosfstools ethtool file rsync curl figlet usbutils eject htop bzip2 sane-utils upower uuid-runtime hdparm less logrotate concalc tree vbetool; aptitude -y purge apt-listchanges exim4 exim4-base exim4-config exim4-daemon-light
Ne is ook een editortje dat ik vaak gebruik, en ik deïnstalleer ook de exim4-componenten van een smtp-server die op een alleenstaande desktop eigenlijk overbodig zijn. De andere pakketten zorgen voor de juiste tijd en zijn enkele utilities die ikzelf vaak gebruik of in het systeem wens.
Editeer nu met joe of een andere editor /etc/apt/sources.list zodat het er als volgt uitziet (en Vlamingen kiezen uiteraard .be. ipv .nl. in het onderstaande):
deb ftp://ftp.be.debian.org/debian/ testing main contrib non-free
deb ftp://ftp.be.debian.org/debian/ testing-updates main contrib non-free
deb ftp://ftp.be.debian.org/debian-security testing/updates main contrib non-free
deb ftp://ftp.deb-multimedia.org/ testing main non-free
Het is de bedoeling het systeem compact te houden en dus willen we alleen maar de pakketten installeren die we specifiek vragen en geen aanbevolen of gesuggereerde pakketten.
Editeer /etc/apt/apt.conf en vul dit in:
APT::Default-Release "testing";
APT::Install-Recommends "false";
APT::Install-Suggests "false";
Alles nagekeken en exact zo ingetikt? Dan gaan we nu updaten en upgraden voor zover nodig (als je 'stable' geïnstalleerd had, brengt je dit omhoog naar 'testing').
aptitude update ; aptitude -y full-upgrade ; aptitude -y install debian-keyring deb-multimedia-keyring ; aptitude update ; aptitude -y install firmware-linux lshw openssh-server
Dat laatste is alleen nodig als tijdens de installatie van de iso geen ssh-server gekozen werd en je die toch wel wil hebben.
Nu hebben we het basissysteem in orde. Als je bij de updates een nieuwe kernel hebt binnengekregen, reboot dan nu eerst het systeem met
reboot
en log daarna weer in als root (liefst via een ssh-sessie vanaf een andere pc met browser zodat je de rest gewoon kunt kopiëren en plakken).
Dus vanaf de inlog als gewone gebruiker:
sudo -i
Normaal zou het niet nodig moeten zijn, maar je kunt de taalondersteuning zonodig perfect op Nederlands zetten via:
localedef -v -c -i nl_NL -f UTF-8 nl_NL.UTF-8
update-locale LANG=nl_NL.UTF8
(Vlamingen vervangen hier de nl_NL door nl_BE)
Nu gaan we de grafische omgeving installeren. Doe eerst:
aptitude -y install xserver-xorg-core xserver-xorg xserver-xorg-input-evdev xserver-xorg-video-all
Bij de vorige gids installeerde ik alleen de in deze hardware aanwezige videodriver, maar vermits alle drivers alleen harde-schijfruimte in beslag nemen en niet eens zoveel, leek het me geen probleem om ze allemaal te laten installeren voor een compact systeem. Bij een desktop krijg je dan de vrijheid de grafische kaart uit te wisselen voor een andere zonder dat je iets moet (her)installeren of (her)configureren.
We zijn nu klaar om de desktop te installeren:
aptitude install xserver-xorg lightdm xfce4 xfce4-goodies xfwm4-themes xfce4-terminal xfce4-taskmanager xfce4-screenshooter-plugin xfce4-weather-plugin xfce4-power-manager thunar-archive-plugin thunar-media-tags-plugin tumbler gvfs-backends gamin cpufrequtils dosfstools file dbus-x11 usbutils ethtool xdg-utils desktop-base desktop-profiles eject gnome-icon-theme gnome-icon-theme-extras human-icon-theme nuvola-icon-theme oxygen-icon-theme tangerine-icon-theme tango-icon-theme faenza-icon-theme dmz-cursor-theme synaptic conky-all htop bzip2 dia galculator freepats sane-utils rarian-compat software-properties-gtk upower uuid-runtime hdparm less logrotate gucharmap figlet glipper ghex libnotify-bin x11-xserver-utils xcompmgr gksu update-notifier eog file-roller evince-gtk
Een aantal pakketten zijn alleen nodig als je vanaf een testing iso installeerde en je een spiegelserverfoutmelding kreeg, maar het kan geen kwaad als je ze al geïnstalleerd had.
(evince+file-roller+eog komen uit Gnome3 dus GTK3, gebruik atril+engrampa+eom van MATE voor GTK2 en antwoord JA op vraag of libfam0 gedeïnstalleerd moet worden)
Dit is het meest compacte systeem met een XFCE4-desktop dat ik momenteel kan bedenken. We gaan het nu wat groter maken omdat we natuurlijk wel in staat willen zijn alle multimediaspullen weer te geven. Als je dat niet wil, kun je het volgende weglaten:
aptitude -y install flashplugin-nonfree pepperflashplugin-nonfree pulseaudio paprefs pulseaudio-module-jack pavucontrol paman alsa-tools-gui gstreamer0.10-alsa gstreamer0.10-plugins-base gstreamer0.10-plugins-good oss-compat ffmpeg gstreamer0.10-ffmpeg ffmpegthumbnailer gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly libdvdread4 libdvdcss2 ttf-mscorefonts-installer openjdk-7-jre ttf-bitstream-vera ttf-dejavu ttf-dejavu-extra p7zip-full p7zip-rar zip unzip unrar ntp ntpdate abcde id3v2 meld system-config-printer system-config-printer-udev cups simple-scan foomatic-db-compressed-ppds foomatic-filters foomatic-db-engine colordiff asunder wavpack flac lame shorten shntool cuetools libav-tools trash-cli libmp4v2-2 ttaenc vlc fluidsynth vlc-plugin-fluidsynth fluid-soundfont-gm w64codecs gnac kid3-qt zenity monkeys-audio
Er is nog geen browser geïnstalleerd. Dat kun je doen naar eigen smaak. Van compact naar uitgebreider:
1. Midori
aptitude -y install midori
2. Chromium (niet Chrome!)
aptitude -y install chromium-browser chromium-browser-l10n
3. IceWeasel (de Debian-versie van Firefox, ontwikkeling loopt tegenwoordig netjes gelijk met de Firefox ESR versie)
aptitude -y install iceweasel iceweasel-l10n-nl
Op een systeem met minstens 512 MiB RAM kun je LibreOffice installeren, anders zou ik het bij Abiword of zo houden.
aptitude -y install libreoffice libreoffice-gtk libreoffice-help-nl libreoffice-l10n-nl cups-bsd libsane
ofwel
aptitude -y install abiworld gnumeric
We willen wel dat het systeem automatisch inlogt (ik toch). Bij LightDM is dat wat moeilijker voor elkaar te krijgen:
Editeer
/etc/lightdm/lightdm.conf en vul het volgende in onder [SeatDefaults]:
user-session=xfce
autologin-user=je-voornaam
autologin-user-timeout=0
pam-service=lightdm-autologin
We willen ook graag dat numlock aangezet wordt (toch als er een numeriek blok is), de resolutie goedgezet wordt als die automatisch goedstaat en dat Conky gestart wordt (die hebben we immers geïnstalleerd).
Voor Conky gebruik ik het volgende .conkyrc bestand in de home-directory:
use_xft yes
xftfont Liberation Mono:size=8
xftalpha 1.0
text_buffer_size 2048
update_interval 4
total_run_times 0
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_class Conky
own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 200 0
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
stippled_borders 0
border_width 1
default_color white
default_outline_color white
default_shade_color 111
background no
alignment top_right
gap_x 20
gap_y 60
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
use_spacer none
out_to_console no
out_to_stderr no
extra_newline no
show_graph_scale no
show_graph_range no
TEXT
SYSTEEM ${hr 2}
${alignc 22}${color grey}${font Liberation Mono:size=16}${nodename_short}${font}
${alignc}Debian Testing
${voffset 8} linux ${alignr}${kernel}
${voffset 8} processor ${alignr}$cpu% ${cpubar 8,60}
${voffset 8} geheugen ${alignr}$mem ${membar 8,60}
${voffset 8} wissel ${alignr}$swap ${swapbar 8,60}
${voffset 8} actief ${alignr}${uptime}
${voffset 8}
OPSLAG ${hr 2}
${voffset 8} home
${voffset 2} ${alignr}${fs_used /home}/${fs_size /home} ${fs_bar 8,60 /home}
${voffset 8}
${if_up ppp0}DIALUP ${hr 2}
${voffset 8} up ${alignr}${upspeedf ppp0}KiB/s ${upspeedgraph ppp0 8,60}
${voffset 8} down ${alignr}${downspeedf ppp0}KiB/s ${downspeedgraph ppp0 8,60}
${voffset 8} upload ${alignr}${totalup ppp0}
${voffset 8} download ${alignr}${totaldown ppp0}
${voffset 8} local ip ${alignr}${addr ppp0}
${voffset 8}${endif}
Kies in XFCE in het menu Toepassingen voor Instellingen en dan 'Sessie en Opstart'. Kies dan het tabblad 'Toepassing en autostart' en voeg daar een nieuwe toepassing toe:
/usr/local/bin/AdjustGUI.shDie moeten we natuurlijk nog aanmaken. Bij mij bevat dat bestand het volgende:
#!/bin/sh
#cvt 1280 1024 75
xrandr --newmode 1280x1024_75 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync
xrandr --addmode VGA-1 1280x1024_75
xrandr --output VGA-1 --mode 1280x1024_75
if [ -x /usr/bin/numlockx ]; then
/usr/bin/numlockx on
fi
xset -dpms;xset s noblank;xset s off
conky &
exit 0
Die xset-instructies schakelen screenblanking en elke schermbeveiliger uit. Dat kun je weglaten als je dat wél wil hebben.
Het eerste zet de schermresolutie op 1280x1024 met 75 Hz refreshrate. De meeste Linux'en blijven bij mij steken op 1024x768 bij desktops en dit verhelpt het. Vervang de 'VGA-1' door de naam van de juiste videouitvoer van jouw grafische kaart. Die eerste cvs instructie is overbodig, maar heb ik erbij gezet omdat je die kunt gebruiken om de eerste xrandr-regel met --newmode aan te passen als je gewenste resolutie en refresh rate zou verschillen van wat ik gekozen heb.
Zet een commentaarteken voor de regel met numlockx als je een notebook gebruikt zonder numeriek klavier.
Maak het bestand uitvoerbaar met:
chmod +x /usr/local/bin/AdjustGUI.sh
Nu gaan we het systeem nog wat efficiënter laten werken links en rechts. Maak het bestand
/etc/sysctl.d/60-local.conf aan:
#Tweaked local settings
# Verminder de swapneiging en krimp de inode cache niet agressief in
# Gebruik waarde 20 voor >1 GB RAM
vm.swappiness=10
vm.vfs_cache_pressure=50
#sidux tweaks
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_ecn = 0
#debian tcp window scaling errata fix for buggy routers
#net.ipv4.tcp_rmem=4096 65536 65536
#net.ipv4.tcp_wmem=4096 65536 65536
# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0
# Do not accept IP source route packets (we are not a router)
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.tcp_fin_timeout=30
#net.ipv4.route.gc_timeout=300
net.ipv4.tcp_tw_reuse=1
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Als je wél IPv6 wenst, zet dan commentaartekens # voor de laatste drie instructies in 60-local.conf.
Als je router en je provider geen IPv6 ondersteunen, werkt je systeem sneller als je het uitschakelt.
Volautomatisch uitvoeren van (veilige!) upgrades zonder de gebruiker ermee lastig te vallen:
#!/bin/sh
# do automatic noninteractive full upgrade
if ! ping -c 1 -w 1 8.8.8.8 >/dev/null; then
if ! ping -c 1 -w 1 194.7.1.4 >/dev/null; then
echo PROBLEM: No internet connectivity! >/var/log/autoupgr.log
exit 0
fi
fi
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confold" -fuy upgrade
echo INFO: safe-upgrade done. >/var/log/autoupgr.log
exit 0
Maak bovenstaand bestand aan als autoupgr in /etc/network/if-up.d/
en maak het uitvoerbaar via
sudo chmod +x /etc/network/if-up.d/autoupgr
Reboot nu het systeem met
sudo reboot
En dan zou je dit moeten zien:
(klik voor een groter plaatje)