Kaffee Drucker
26.10.2008
Just another blog from just another blogger.
23.10.2008
Sollte folgende Fehlermeldung beim Versuch eine domU zu starten auftreten, sicherstellen ob brctl installiert ist und gegebenenfalls nach installieren!
Device 0 (vif) could not be connected. Backend device not found.
Falls brctl fehlt:
apt-get install bridge-utils
Auf meiner neuen Hetzner DS5000 Kiste wird bei meinem 2.6.18-6-xen-686 Kernel-Image (aus den Debian Repositorys) die 4GB Ram nicht vollständig erkannt.
Abhilfe schafft ein modifizierter Grub.
Nach einer Debian Installation passt man meist als erstes die Arbeitsumgebung an, d.h. installiert nützliche Pakete, Konfiguriert das Aussehen der Bash-Shell, installiert Crontabs und Konfiguriert Pakete nach eigenem Wunsch.
Mein Basis-Setup, was ich grundsätzlich nach jeder Debian-Installation durchführe, findet hier ihr:
#!/bin/bash # install packages apt-get install vim screen mc vnstat ntpdate ssh # add crontabs cat >> /etc/crontab <<EOF # vnstat * * * * * root /usr/bin/vnstat -u -i eth0 # time 5 1 * * * root /usr/sbin/ntpdate ntp.fhg.de EOF # add .bashrc cat > /root/.bashrc <<EOF umask 022 export LS_OPTIONS=' --color=auto' eval \$(dircolors) alias ls='ls \$LS_OPTIONS -l' alias ll='ls \$LS_OPTIONS -l' alias l='ls \$LS_OPTIONS -lA' alias t-sys='tail -f /var/log/syslog' BLACK="\[\033[0;30m\]" BLUE="\[\033[0;34m\]" GREEN="\[\033[0;32m\]" CYAN="\[\033[0;36m\]" RED="\[\033[0;31m\]" PURPLE="\[\033[0;35m\]" BROWN="\[\033[0;33m\]" LIGHT_GRAY="\[\033[0;37m\]" DARK_GRAY="\[\033[1;30m\]" LIGHT_BLUE="\[\033[1;34m\]" LIGHT_GREEN="\[\033[1;32m\]" LIGHT_CYAN="\[\033[1;36m\]" LIGHT_RED="\[\033[1;31m\]" LIGHT_PURPLE="\[\033[1;35m\]" YELLOW="\[\033[1;33m\]" WHITE="\[\033[1;37m\]" NO_COLOUR="\[\033[0m\]" export PS1="\u\$DARK_GRAY@\$NO_COLOUR\h\$DARK_GRAY:\$NO_COLOUR\w\$GREEN\\\$\$NO_COLOUR " EOF # edit vimrc to enable syntax highlighting sed -e 's/\"syntax/syntax/g' -i /etc/vim/vimrc
22.10.2008
This howto describes how to install debian etch on a usb-stick. The usb-stick will be bootable and your debian system runs directly on it (for example as emergency system).
/dev/sdb = usb-device
/mnt/usb = mountpoint for usb-device
_ = in the chrooted-system
deletes mbr, all partitons and all data:
shred -n 0 -v -z /dev/sdb
or
dd if=/dev/zero of=/dev/sdb
create one primary partiton with type 83 and no swap (swap = faster dead for usb-device):
cfdisk /dev/sdb
format as ext2 (ext2 is like ext3, but without journaling = no faster dead for the usb-device):
mkfs.ext2 /dev/sdb1
mount usb-device:
mount /dev/sdb1 /mnt/usb
install debian system with debootstrap:
debootstrap --arch i386 etch /mnt/usb http://ftp.us.debian.org/debian
get UUID from usb-device (save it for later):
blkid /dev/sdb1 Output: /dev/sdb1: UUID="e659faf9-c042-4c1b-b831-469c30392a3c" TYPE="ext2"
install grub on usb-device:
grub-install --recheck --root-directory=/mnt/usb /dev/sdb
mount --bind /dev /mnt/usb/dev
chroot into new system:
chroot /mnt/usb
Notice: Do not abort the installation of the kernel!
apt-get install locales linux-image-2.6.18-6-686 grub
set it to ‘en_US.UTF-8′:
dpkg-reconfigure locales
grub-install didnt create it (dont know why):
update-grub
/etc/network/interfaces
/etc/hostname
/etc/hosts
/etc/fstab
Use ‘UUID=“YOUR_USB_BLKID”‘ for the device (instead /dev/sdb1), cause the uuid is a permanent identifier of your usb-device and will not change.
Example:
proc /proc proc defaults 0 0 UUID="e659faf9-c042-4c1b-b831-469c30392a3c" / ext2 defaults,errors=remount-ro 0 1
/boot/grub/menu.lst
Go to this line: ‘# kopt=root=/dev/hda1 ro’ and change it to:
# kopt=root=UUID=YOUR_UUID_FROM_BLKID ro rootdelay=10
rootdelay = 10 waits for the usb-device to come up.
Example:
# kopt=root=UUID=e659faf9-c042-4c1b-b831-469c30392a3c ro rootdelay=10
grup update:
update-grub
update-initramfs -u all
exit
umount /mnt/usb/dev umount /mnt/usb
Finish :-). Now you can boot your new debian system on your usb-device!
20.10.2008
Folgende Problematik hatte ich die Tage:
Derletzt kam ich in einem Firmennetzwerk nur durch einen Proxy (Squid) mit Authentifizierung ins Internet. Die Problematik war, das nur ich einen Zugang zum Proxy hatte und ich trotzdem anderen die Möglichkeit geben wollte, ins Internet zu kommen. Jedoch wollte jedoch nicht jedem meine Zugangsdaten geben, da ich mit diesen ebenfalls zu anderen Passwortgeschützten Bereichen mit einloggen konnte. Das ganze sollte so transparent wie Möglich geschehen.
Eine reine Weiterleitung per iptables hätte nichts gebracht - die Authentifizierung zum Proxy würde nur durchgereicht werden. Ein Apache2-Forward-Proxy mittels ProxyRemote-Direktive hätte auch nichts gebracht - diese unterstützt keine Authentifizierung (da gab’s zwar einen Patch für mod_proxy.c, jedoch fand ich das unsauber).
Man richtet sich unter Debian mittels apt-get einen normalen Squiddy ein:
apt-get install squid
Nun zur Konfiguration - die Lösung war mittels cache_peer einen übergeordneten Proxy (unser Proxy mit Authentifizierung) anzugeben, der die Anfragen an diesen weiterleitet. Wer häts gedacht - dort gibt es die schöne Option “login” :-).
cache_peer proxy parent 3128 0 login=user:password default no-query no-digest never_direct allow all
Erklärung:
proxy = Der Proxy mit Authentifizierung, an den wir die Requests weiterleiten möchten
parent = Sagt nur, das dieser ein obergeordneter Proxy ist
3128 = Port des Proxys mit Authentifizierung
0 = ICP Port (0 = ausgeschalten, brauchen wir nicht)
login = Anmelde Informationen für den Proxy (Format: ‘login=user:password’)
default = default
no-digest = Sendet keine Digest-Anfragen
no-query = Sendet keine ICP-Anfragen (ICP Port = 0)never_direct = Damit Squid niemals versucht, die Anfragen selber aufzulösen
Nun noch die Access-Logs (Direktive: access_log) auskommentieren und jeder (wahlweise nun auch mit eigener Authentifizierung) kommt anonym durch einen gemeinsamen Login ins Internet.
19.10.2008
LVM installieren:
apt-get install lvm2
Festplatte als Typ “8E” (Linux LVM) partitionieren:
cfdisk /dev/sdb
LVM initalisieren:
vgscan
Physical Volume (PV) vorbereiten:
pvcreate /dev/sdb1
Volume Group (VG) erzeugen:
vgcreate vg0 /dev/sdb1
Logical Volume (LV) erzeugen:
lvcreate --size 2G --name xen vg0
Dateisystem anlegen:
# ext3 mkfs.ext3 /dev/vg0/xen # reiserfs mkfs.reiserfs /dev/vg0/xen
Mounten:
mount /dev/vg0/xen /mnt/xen
lvextend --size +500M /dev/vg0/xen
Dateisystem vergrößern / anpassen:
# ext3 resize2fs /dev/vg0/xen # reiserfs resize_reiserfs /dev/vg0/xen
Achtung: Beim verkleinern einer LV sollte das Dateisystem immer ein wenig kleiner sein, als das LV. Die Größe des Dateisystems passt sich danach durch resize2fs / resize wieder an die LV-Größe an.
Beispiel:
LV ist 2000MB groß das wir auf 1500MB verkleinern möchten.
Dabei verkleinern wir das Dateisystem auf 1450MB und das LV verkleinern wir auf genau 1500MB.
umount /dev/vg0/xen
Dateisystem verkleinern:
# ext3 resize2fs /dev/vg0/xen 1450M # reiserfs resize_reiserfs -s -550M /dev/vg0/xen
Logical Volume verkleinern:
lvreduce --size -500M /dev/vg0/xen
Dateisystem anpassen:
# ext3 resize2fs /dev/vg0/xen # reiserfs resize_reiserfs /dev/vg0/xen
Dateisystem mounten:
mount /dev/vg0/xen /mnt/xen