Beiträge zu dem Tag: “Debian”

Ein neues Raid zu einem vorhandenen hinzufügen

Hier ist eigentlich nichts neues zu sehen sondern nur eine kurze Dokumentation wie ich in ein bestehendes Raidsystem zwei neue Festplatten komplett als neues Raid hinzugefügt habe. Das Vorgehen entspricht im wesentlichen dieser Beschreibung.

Was für Festplatte sollen wir nehmen

sudo fdisk -l
 Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 4096 bytes
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes
   
 Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 4096 bytes
 I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Das neue Raid einrichten

 sudo mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sdc /dev/sdb

Dann muss man lange warten. Den Status sieht man mit

  more /proc/mdstat 
  Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
  md1 : active raid1 sdb[1] sdc[0]
        1953383488 blocks super 1.2 [2/2] [UU]
        [===============>.....]  resync = 75.1% (1467968256/1953383488) finish=168.6min       speed=47961K/sec
        bitmap: 5/15 pages [20KB], 65536KB chunk
  
  md0 : active raid1 sdd1[1] sda1[0]
        943718336 blocks [2/2] [UU]

Damit das Raid bei jedem Booten gestartet wird braucht man noch die Konfiguration

  sudo mdadm --detail --scan
  ARRAY /dev/md0 metadata=0.90 UUID=c5136060:5454118a:b0a93c18:e5fa7b6a
  ARRAY /dev/md1 metadata=1.2 name=yourhost.yourdmain.de:1       UUID=6a9b6c56:2700b7f1:de6b9a30:ef55e827

Die letzte Zeile ist neu um muss zu /etc/mdadm/mdadm.conf hinzugefügt werden

Filesystem einrichten, Mountpoint erstellen und erst einmal mounten

  sudo mkfs.ext4 -F /dev/md1
  sudo mkdir -p /backup4
  sudo mount /dev/md1 /backup4
  df -h -x devtmpfs -x tmpfs

Das war es dann leider noch nicht. Nach dem Neustart konnte das System nicht gebooted werden und ich bin im emergency modus gelandet. Dort habe ich erstmal den /etc/fstab Eintrag auskommentiert und konnte neu booten.

Danach konnte ich feststellen das die Raid Informationen eine andere Notation hatten

 mdadm  --detail --scan 
 ARRAY /dev/md/yourost.yourdomain.de metadata=1.2 name=yourhost.yourdomain.de:1      UUID=6a9b6c56:2700b7f1:de6b9a30:ef55e827
 ARRAY /dev/md0 metadata=0.90 UUID=c5136060:5454118a:b0a93c18:e5fa7b6a

Ich habe dann diese Zeile in die /etc/mdadm/mdadmn.conf eingetragen und konnte das Raid mit

  mdadm -A -s

starten und danach auch mounten.

Am Ende half ein

   update-initramfs -u

damit /dev/md1 beim Booten automatisch gebildet wurde und über die /etc/fstab eingebunden werden konnte.

17.9.17
Weitere Beiträge zu: Debian   Raid  

Debian: einen einfachen Share für Samba

Da es diese Woche mal wieder länger gedauert hat als erwartet meine Notizen zum Einrichten eines einfachen read only share mit Samba

apt install samba smbclinet

Einen existieren User für Samba hinzufügen

smbpasswd -a <existing user>

Das Verzeichnis das geteilt werden soll erstellen und für den Benutzer beschreibbar machen

mkdir /var/music
chown <existinguser>: /var/music/

Prüfen der Samba Konfiguration mit testparm

 testparm
 Load smb config files from /etc/samba/smb.conf
 Processing section "[homes]"
 Processing section "[sonos]"
 WARNING: No path in service sonos - making it unavailable!
 NOTE: Service sonos is flagged unavailable.
 Loaded services file OK.

Fehler Korrigieren und lokales testen

smbclient -U <existing user> //your.server.ip/sonos

Für die Kosmetik kann man noch lokalen home Verzeichnisse entfernen wenn man den Abschnitt [homes] in der smb.conf löscht

16.8.17
Weitere Beiträge zu: SAMBA   Debian  

Konfiguration von SSH Server prüfen

Betreibt man SSH Server gibt es einen schönen Weg zu prüfen ob die Konfiguration des Servers Best Practises genügt. Mozilla hat einen Scanner ssh_scan veröffentlicht der gegen dokumentierte Kriterien prüft und Änderungen vorschlägt.

Die Installation ist unter Debian recht einfach

sudo apt-get install ruby gem
 sudo gem install ssh_scan

Ein Ergebnis kann dann zum Beispiel so aussehen (Ausschnitt) .

"compliance": {
  "policy": "Mozilla Modern",
  "compliant": false,
  "recommendations": [
    "Remove these Key Exchange Algos: diffie-hellman-group14-sha1",
    "Remove these MAC Algos: umac-64-etm@openssh.com, hmac-sha1-etm@openssh.com, umac-64@openssh.com, hmac-sha1"
  ],
  "references": [
    "https://wiki.mozilla.org/Security/Guidelines/OpenSSH"
  ]

Das kann man dann regelmäßig gegen seine SSH Server laufen lassen oder vielleicht mal in eine Monitoring Lösung integrieren.

4.5.17
Weitere Beiträge zu: Debian   ssh  

Debian: Zwei Verzeichnisse vergleichen

Mal eben zwei Verzeichnisse vergleichen und dabei einige Dateitypen ignorieren

  diff -y --brief -r /path1/dir1 /path2/dir2 -x *.jpg -x *.jpeg

Manchmal kann es schön einfach sein.

6.1.17
Weitere Beiträge zu: Debian  

OpenSSH: AllowUser OHNE!! Komma

Man kann bei einem OpenSSH Server Benutzernamen angeben die auf den Server zugreifen können. Bisher habe ich das nicht verwendet da es eh immer nur einen Nutzer gab der einen zugelassen RSA Schlüssel hatte.

Wenn man das macht ist es aber WICHTIG!!! die Namen nicht mit Komma sondern nur durch ein Leerzeichen zu trennen.

Steht auch so im Handbuch.

29.6.16
Weitere Beiträge zu: OpenSSH   Debian  

Debian: apt-get mit https

Wenn ein Debian Repository mit https erreichbar ist trägt man logischerweise auch diese Adresse in eine source.list ein

Wenn man dann die Meldung bekommt

 Der Treiber für Methode /usr/lib/apt/methods/https konnte nicht gefunden werden.

dann könnte ein

  apt-get -s install apt-transport-https

helfen

7.2.16
Weitere Beiträge zu: Debian  

Debian: Nginx neben einen Apache Server installieren

Ziel ist es neben einen vorhandenen Apache Server einen Nginx HTTP Server zu installieren. Ich möchte schrittweise meine vorhandenen Webseiten von Apache auf Nginx migrieren. Beginnen möchte ich mit den statischen Jekyll Webseiten.

Da der Server zwei IP Addressen hat folgendens Vorgehen:

  • Einschränken des Apache Servers auf eine IP Addresse
  • Installation von Nginx aus den Repositories von Nginx

Einschränken des Apache Servers auf eine IP Addresse

Wenn man nichts macht “hört” der Apache Server auf alle IP Adressen die vorhanden sind. Dies zu ändern geht recht einfach:

 vi ports.conf
    Listen 80 in 

 Listen wunsch.ip.addres.se:80

Und Apache neu starten.

Installation von Nginx

Ich möchte nicht die normalen Nginx Pakete von Debian nehmen sondern die etwas aktuelleren die in einem Debian Repository von Nginx.org bereitgestellt werden. Das bedeutet:

  • Repository bekannt machen
  • Signaturschlüssel besorgen
  • Nginx installieren

Die Schritte:

 vi /etc/apt/sources.list.d/nginx.list
    deb http://nginx.org/packages/debian/ jessie nginx
    deb-src http://nginx.org/packages/debian/ jessie nginx
 wget http://nginx.org/keys/nginx_signing.key
 apt-key add nginx_signing.key
 rm nginx_signing.key 
 apt install nginx

Der letzte Schritt wird naturgemäß in einem Fehler enden da die Installationsroutine direkt den Nginx Server starten möchte was natürlich nicht geht denn Port 80 ist ja schon vom Apache Server belegt.

tail /var/log/nginx/error.log 
       2015/11/23 09:41:02 [emerg] 26824#0: bind() to 0.0.0.0:80 failed (98: Address already in use)

Auch hier jetzt die richtige IP Adresse eintragen

vi /etc/nginx/conf.d/default.conf 
   server {
        listen        zweite.ip.addres.se:80;

/etc/init.d/nginx start
[ ok ] Starting nginx (via systemctl): nginx.service.

Und dann lacht uns bei http://zweite.ip.address.se auch die Standardseite von Nginx an

23.11.15
Weitere Beiträge zu: Debian   Nginx  

Kernel Panic nach Kernel update in Debian 8

Der Inhalt dieses Posts ist etwas länger weil er auch teilweise meinen zeitlichen Erkenntnisgewinn mit beschreibt. Vielleicht ist es aber für andere hilfreich.

Nach einem Kernelupgrade von 3.2 auf 3.16 im Rahmen eines Debian Upgrades von 7 nach 8 auf einem Root Server führte das Neustarten des Server zu einem Kernel Panic.

Kernel Panic

Der Panic kam so früh das man gar keine richtige Fehlermeldung sehen konnte. Glücklicherweise konnte ich den Fehler in einer Virtualbox restaurieren.

Da dieser Panic auch in einer virtuellen Umgebung auftrat habe ich erst einmal Hardware Probleme ausgeschlossen.

Leider brachten auch Nachfragen in den üblichen Debian Foren keine Hinweise.

Nach etwas herumprobieren kam ich auf die Idee den Kernel und die initiale Ramdisdk initrd von der nativen Debian 8 Boot CD zu nehmen und in der virtuellen Umgebung zu booten. Und es ging.

In einem Gespräch auf einem Debian Stand der OpenRheinRuhr bekam ich den Hinweis mich mit dieser ominösen initrd näher zu beschäftigen. Ich kannte (und kenne auch heute noch) nicht die genauen Abläufe beim Booten. Diese initrd ist eine Datei die direkt nach dem Booten geladen wird und die unbedingt notwendigen Dateien für den weiteren Bootverlauf enthält. Deswegen wird diese auch immer für jeden Rechner neu gebaut. Das Werkzeug das diese initrd baut heist “initramfs-tools”.

Man kann sich den Inhalt solche einer initrd mit dem Programm lsinitramfs auch anschauen.

Als bin ich hingegangen und habe den Inhalt der funktionierenden und der nicht funktionieren initrd in Textdateien mit einander vergleichen und Stück für Stück die Unterschiede eliminiert und immer wieder eine neue initrd gebaut bis ich dann am Ende den “Bösewicht” gefunden hatte.

Der “Bösewicht” waren versteckte svn Verzeichnisse in /etc/initramfs-tools die ich vor einiger Zeit verwendet hatte meine Änderungen in der Konfiguration nachzuvollziehen.

Heute konnte die Lösung auch auf dem Root Server erfolgreich testen.

Also: Augen auf bei Subversion im /etc Verzeichnis.

16.11.15
Weitere Beiträge zu: Debian   initramfs-tools   Subversion  

Ein Systembackup in Virtualbox restaurieren

Ziel war es das Backup eines Servers in einer virtuellen Umgebung auf Virtualbox zu klonen.

Die Schritte waren dabei:

  • Definition einer Virtualbox Umgebung mit einem Debian ISO Image zum booten
  • Mounten der virtuellen Festplatte auf dem Hostsystem und kopieren des Archivs
  • Booten der Virtualbox in den Rescue Modus und anpassen der Boot Konfiguration
  • Neustart

Mounten einer virtuellen Festplatte unter Debian

Diese Beschreibung hat die richtigen Tipps gegeben

  sudo apt-get install qemu-kvm
  sudo modprobe nbd
  sudo qemu-nbd -c /dev/nbd0 ../VirtualBox\ VMs/prod/prod.vdi 
  sudo fdisk /dev/nbd0  # Eine neue Festplatte einrichten
  sudo mkfs -t ext3 /dev/nbd0p1  # Ein Dateisystem erstellen 
  sudo mount /dev/nbd0p1 /mnt
  cd /mnt
  sudo tar xzvf /home/hbauer/Debian.tar.gz 

Jetzt haben wir eine Festplatte mit dem Inhalt des Server die aber leider noch nicht booten kann.

Booten mit Rescue System und Festplatte anpassen

Mit dem Debian Image als CD und der gerade befüllten Festplatten booten

In der fstab waren bei mir die verschiedenen Partition auf dem Produktivserver eingerichtet. Da das Backup alles auf einer Partition hat musste ich das umstellen.

Deshalb

grub-setup /dev/sda
grup-install /dev/sda
vi /etc/fstab    # und /dev/sda eintragen
update-grub

und neu starten ohne ISO Image.

Diese Verfahren müsste angepasst dann auch funktionieren wenn man aus dem Backup heraus einen nackten Server wieder restaurieren müsste.

1.11.15
Weitere Beiträge zu: Debian   Backup  

Linux: Große Dateien splitten und zusammenfügen

Wenn man sehr große Dateien (z.B. ein komplett Server Backup) über das Netz downloaden möchte dann ist es hilfreich diese Datei in kleinere Dateien aufzuteilen und später wieder zusammenzufügen

So war ich damit erfolgreich

split -b 5G /root/usb-backup/Debian-70-64-mein_os_image.tar.gz split
ls -ls
insgesamt 22G
5,1G -rw-r--r-- 1 root root 5,0G Okt 28 08:46 splitaa
5,1G -rw-r--r-- 1 root root 5,0G Okt 28 08:49 splitab
5,1G -rw-r--r-- 1 root root 5,0G Okt 28 08:52 splitac
5,1G -rw-r--r-- 1 root root 5,0G Okt 28 08:55 splitad
1,3G -rw-r--r-- 1 root root 1,3G Okt 28 08:55 splitae

nach dem Download kann man das wieder zusammenpacken

 cat split??  > Debian-image.tar.gz

Man könnte es sogar ohne das zusammenfügen direkt auspacken.

30.10.15
Weitere Beiträge zu: Debian   Backup  

Kernel Update bei Debian Netboot

Bei meiner Uraltnotebook in Holz stand ein Update an. Leider brach das Update mit folgender Fehlermeldung erst mal ab:

run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-4-486 /boot/vmlinuz-3.2.0-4-486
    update-initramfs: Generating /boot/initrd.img-3.2.0-4-486
    run-parts: executing /etc/kernel/postinst.d/pm-utils 3.2.0-4-486 /boot/vmlinuz-3.2.0-4-486
    run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.2.0-4-486 /boot/vmlinuz-3.2.0-4-486
    /usr/sbin/grub-probe: Fehler: cannot find a device for / (is /dev mounted?).
    run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
    Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-4-486.postinst line 696.
    dpkg: Fehler beim Bearbeiten von linux-image-3.2.0-4-486 (--configure):
     Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
    Fehler traten auf beim Bearbeiten von:
     linux-image-3.2.0-4-486
    E: Sub-process /usr/bin/dpkg returned an error code (1)

Eigentlich logisch. Der Rechner wird aus dem Netz gestartet und Grub kann nicht aktualisiert werden da es keine Festplatte gibt.

Die Lösung ist rustikal und einfach (Quelle) Einfach den Aufruf der grub config auskommentieren:

vi /etc/kernel/postinst.d/zz-update-grub 
    #       exec update-grub

T42 aus Holz

18.8.15
Weitere Beiträge zu: Debian   Netboot  

Debian: Failed to load ldlinux.c32

Bei dem Versuch die neue Debian Version 8 nach meiner Dokumentation von hier zu installieren bin ich auf diesen Fehler gestoßen:

 Failed to load ldlinux.c32.

Ob das ein genereller Fehler ist oder ob das “so sein muss” weiß ich nicht. Auf jeden Fall half ein symbolischer Link aus dem Root Verzeichnis

  ln -s debian-installer/i386/boot-screens/ldlinux.c32                                                    
9.6.15
Weitere Beiträge zu: Debian   Netboot  

Eine Cine S2 unter Debian 7 installieren

Seit heute ist in unserem VDR eine Cine S2 verbaut. Leider wird diese Karte von meinem aktuell installierten Debian 7 nicht out of the box unterstützt.

Nach dieser Anleitung hat es dann ohne grosse Probleme geklappt

 cd cine/
 apt-get install mercurial libproc-processtable-perl
 hg clone http://linuxtv.org/hg/~endriss/media_build_experimental
 cd media_build_experimental/
 make download
 make untar
 make
 make install

Und dann ein Neustart. Danach wurde die neue Karte von VDR erkannt.

23.5.15
Weitere Beiträge zu: Debian   VDR  

Debian: Eine USV mit NUT überwachen

Meine unabhängige Stromversorgung (USV) ist an meinem NAS Server angeschlossen. Neben diesem NAS Server läuft noch ein zweiter Rechner der diverse Dienste wie z.B. VDR bereitstellt und der natürlich auch an die USV angeschlossen ist. Natürlich soll auch dieser Rechner über einen Stromausfall “informiert” werden und sich ausschalten wenn es in kürze keinen Strom mehr gibt. Mit NUT kann man das auf Debian schnell erreichen.

 apt-get update
 apt-get install nut

Und die Konfiguration anpassen

vi /etc/nut/nut.conf
  MODE=netclient

Jetzt muss man NUT noch sagen wo die USV steht

vi /etc/nut/upsmon.conf
   MONITOR "upsidentifier"@dein.nas.server 1 root geheimeskennwort slave
   SHUTDOWNCMD "/sbin/poweroff
/etc/init.d/nut-client start

Upsidentifier ist der Name der in der Konfiguration von NAS4Free vergeben worden ist.

Das ganze sollte man wirklich mehrmals testen. Und natürlich daran denken das auch der Switch und an die USV angeschlossen ist.

3.5.15
Weitere Beiträge zu: USV   Debian  

Eine Nvidia Karte nachträglich unter Debian konfigurieren

Endlich mal wieder richtige Treiberprobleme lösen. Nach Jahren des Plug&Play von Hardware und Treiben gab es mal wieder eine “echte” Herausforderung.

In einen Rechner mit eingebauter Grafikkarte von Intel sollte eine etwas bessere Grafikkarte GT610 eingebaut werden.

Unter Ubuntu konnte man einfach die Karte einstecken und loslegen. Debian war da etwas empfindlicher. Problematisch war am Ende die Tatsache das sich der Treiber für die eingebaute Karte nicht mit der neuen Grafikkarte vertrug. Das System startete nicht wenn die neue Karte eingebaut war.

Geklappt hat es dann als ich den alten Videotreiben “ausgeschaltet habe” (von hier ).

vi /etc/modprobe.d/blacklist.conf
  install i915 /usr/bin/false
  install intel_agp /usr/bin/false

Und neu starten.

21.3.15
Weitere Beiträge zu: Nvidia   Debian  

T42 mit Debian aus dem Netz booten

Ganz gemäss Bob dem Baumeister geht es nun daran auf Basis der bisherigen Netbooterfahrungen einen alten T42 aus dem Netz zu booten. Abgesehen von den Festplattenaktivitäten ist der eigentlich noch schnell genug.

Hilfreich hierbei waren dies und dieses Dokument.

Voraussetzungen:

  • DNS / TFTP Server sind für PXE booten vorbereitet siehe hier
  • der Client Rechner ist auf der Festplatte fertig installiert

Zuerst erstelle ich einen weiteren Menueintrag für das Bootmenu auf dem TFTP Server

vi pxelinux.cfg/diskless.conf
 label T42 Diskless
 MENU LABEL T42 Diskless
 KERNEL diskless/vmlinuz-3.2.0-4-486
 append root=/dev/nfs initrd=diskless//initrd.img.netboot nfsroot=your.nfs.sever:/diskless-nfsroot ip=dhcp rw

und binde diesen neuen Menueintrag in die Startkonfiguration ein.

vi pxelinux.cfg/default 
 DEFAULT linux
 prompt 0
 timeout 0
 MENU INCLUDE /pxelinux.cfg/debian-silent-install.conf
 **MENU INCLUDE /pxelinux.cfg/diskless.conf**
 include debian-installer/i386/boot-screens/menu.cfg
 default debian-installer/i386/boot-screens/vesamenu.c32

Auf dem NAS Laufwerk habe ich ein Dataset und einen NFS Share eingerichtet auf dem gleich das Betriebssystem des Clients landen soll.

Die nächste Schritte geschehen auf dem Client. Dieser hat bisher seine Konfiguration auf der Festplatte, soll aber später ohne Festplatte aus dem Netz booten.

Wenn noch nicht geschehen:

apt-get install nfs-common initramfs-tools 

In der /etc/fstab müssen wir die normalen Festplattenmounts auskommentieren und diese müssen neuen eingeführt werden:

vi /etc/fstab
   /dev/nfs        /               nfs     defaults 0 0
   none            /tmp            tmpfs   defaults 0 0
   none            /var/run        tmpfs   defaults 0 0
   none            /var/lock       tmpfs   defaults 0 0
   none            /var/tmp        tmpfs   defaults 0 0
   none            /media          tmpfs   defaults 0 0

Die bisherige Festplattenkonfiguration muss auf Netboot umgestellt werden

vi /etc/initramfs-tools/initramfs.conf
   MODULES=netboot
   BOOT=nfs
mkinitramfs -o initrd.img.netboot
mv initrd.img.netboot /boot/

und die Netzwerkkonfiguration geändert werden

vi /etc/network/interfaces 
   #allow-hotplug eth0  
   iface eth0 inet manual  

Jetzt ist der Moment gekommen an dem der komplette Festplatteninhalt auf das zukünftige NFS Share kopiert wird.

 mount -t nfs  your.nfs.server:/mnt/FirstPool/diskless-nfsroot-1  /mnt
 cp -axv /. /mnt/.  
 cp -axv /dev/. /mnt/dev/. 
 umount /mnt/

und die gerade erzeugte initramfs muss an die richtige Stelle auf dem TFTP Server

mount -t nfs  your.nfs.server:/mnt/FirstPool/tftproot  /mnt
cp /boot/initrd.img.netboot /mnt/diskless/
cp /boot/vmlinuz-3.2.0-4-486 /mnt/diskless

Fertig. Jetzt sollte man aus Netzwerk booten können und im Bootmenu einen neuen Eintrag vorfinden der einen ohne Festplatte in das Debian bringt. Kann man gut mit einer Virtualbox testen.

15.11.14
Weitere Beiträge zu: T42   Debian  

Debian Installation durch preseeding automatisieren

Bei der Installation eines Debian System werden einige Werte abgefragt für die es nach einiger Zeit persönliche Standardantworten gibt. Damit man diese Standardantworten automatisiert beantworten kann gibt es im Debian den Mechanismus des preseedings.

Hier meine Schritte wie ich für mich eine gute Nutzung eingerichtet haben. Vor allem dieses Dokument war eine grosse Hilfe.

Zuerst muss auf einem Webserver an einer bestimmten Stelle eine Datei abgelegt werden welche die Vorgaben für die Installation enthält

cd /var/www/
mkdir d-i
mkdir d-i/wheezy
vi d-i/wheezy/preseed.cfg 

In dieser preseed.cfg stehen die “Antworten” auf die Fragen welche im Rahmen der Installation gestellt werden. Die unten angehängte Datei installiert ein minimales System. Ausgenommen sind: - Host- und Domain Name - Festplatten Partioninierung - Grub

Jetzt muss noch der PXE Konfiguration auf dem TFTP Server beigebracht werden auch diese “Antwortdatei” zu verwenden. (In diesem Fall wird kein Boot Menü verwendet sondern direkt in die Installation gebootet)

vi pxelinux.cfg/default

 default auto
 label   auto
 kernel  debian-installer/i386/linux
 append  initrd=debian-installer/i386/initrd.gz auto=true url=**Webserver IP**

Hier die Preseed.cfg USE AT YOUR OWN RISK

#### Contents of the preconfiguration file (for wheezy)
### Localization
# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US
d-i debian-installer/keymap string us
d-i keymap  string us

# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto

### Mirror settings
d-i mirror/country             string   manual
d-i mirror/http/hostname       string   ftp.de.debian.org
d-i mirror/http/directory      string   /debian
d-i mirror/http/proxy          string   http://apt-cache-server.:3142

### Account setup
# Skip creation of a root account (normal user account will be able to
# use sudo).
d-i passwd/root-login boolean false

# To create a normal user account.
d-i passwd/user-fullname string Hagen Bauer
d-i passwd/username string hbauer
d-i passwd/user-password password geheim
d-i passwd/user-password-again password geheim

### Clock and time zone setup
d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern

# Controls whether to use NTP to set the clock during the install
d-i clock-setup/ntp boolean true

## Partitioning MANUALLY

### Apt setup
d-i apt-setup/services-select multiselect security, updates
d-i apt-setup/security_host string security.debian.org

### Package selection
tasksel tasksel/first multiselect minimal
d-i pkgsel/include string openssh-server
d-i pkgsel/upgrade select none

popularity-contest popularity-contest/participate boolean false

### Finishing up the installation
d-i finish-install/reboot_in_progress note

# This is how to make the installer shutdown when finished, but not reboot into the installed system.
d-i debian-installer/exit/halt boolean true
#d-i debian-installer/exit/poweroff boolean true
7.11.14
Weitere Beiträge zu: Debian  

Die Debian Installer CD mit pfSense von einem NAS4Free via PXE booten

Ziel war es, die Installations-CDs von Debian (und später noch andere) über das Netzwerk zu booten. Fast alle Rechner erlauben heute so etwas via PXE.

Hilfreich für diesen Ablauf war diese und diese Beschreibung.

Im wesentlichen braucht man hierzu 2 Komponenten:

  1. DHCP Server
  2. TFTP Server

Zuerst der DHCP Server der hier auf einem pfSense Router liegt. Hier ist bei “Services: DHCP server” der Abschnitt “TfTPServer” und “Enable network booting” auszufüllen:

Wenn man jetzt einen Rechner im Netz bootet sollte man eine IP Adresse bekommen und die Meldung das keine Datei geladen wurde.

Dann folgt die Einrichtung des TFTP Servers auf NAS4Free. Hier habe ich zuerst ein Dataset eingerichtet von denen die Dateien geladen werden müssen:

und dann den TFTP Service mit diesem Verzeichnis gestartet:

Zusätzlich habe ich noch einen NFS Share auf dieses Verzeichnis eingerichtet damit ich später leichter die gewünschten Dateien auf das NAS bekomme. Diese Freigabe habe ich jetzt auf einem existierenden Linux PC eingebunden und dort dann das Boot Image von Debian geladen.

 wget http://ftp.de.debian.org/debian/dists/Debian7.7/main/installer-i386/current/images/netboot/netboot.tar.gz
 tar xzfv netboot.tar.gz 

Und schon waren alle Dateien an der richtigen Stelle und wenn man jetzt einen Rechner mit PXE bootet lacht einen auch schon der schöne Installer Screen von Debian an.

Das war jetzt der erste Schritt. Die nächste Aufgabe besteht jetzt darin beim Booten vom Netz aus einem Menü unterschiedliche Bootoptionen auswählen zu können.

6.11.14
Weitere Beiträge zu: pfsense   NAS4Free   Debian  

Den Download von Debian/Ubuntu Paketen optimieren

Linux Rechner auf Basis von Ubuntu oder Debian verwenden das gleiche System zu Verwaltung von Softwarepaketen. Hat man verschiedene Rechner so werden bei einem Update die gleichen Pakete mehrfach und teilweise unnötig heruntergeladen.

Dies soll man mit einer Art Cache Service optimieren können und geht eigentlich recht einfach.

Auf dem Server muss das Cache Programm installiert werden

apt-get install apt-cacher-ng

Ich starte mit den Standardkonfigurationen.

Damit die Arbeitsplätze auch diesen Cache verwenden gibt es verschiedene Möglichkeiten. Ich habe die Variante gewählt in dem dem Paketmanager ein Cache eingerichtet wird. Dafür einfach eine Datei mit der Adresse des Cache Servers an die “richtige” Stelle legen

vi /etc/apt/apt.conf.d/01proxy
    Acquire::http { Proxy "http://proxy.server.addresse:3142"; };

Mal sehen was das bringt

4.11.14
Weitere Beiträge zu: Debian  

Unbedingt die Linux Server updaten

Es wurde ein Fehler in der Bourne Shell entdeckt. Dieser Fehler erlaubt es über Umgebungsvariablen “böse Dinge” zu tun. Debian bietet schon eine Aktualisierung an.

Update Jetzt ist es auch auf Heise.de

We recommend that you upgrade your bash packages.

Testen kann man dies mit

 # env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
 vulnerable
 this is a test

nach einem Update

apt-get update
apt-get upgrade
Paketlisten werden gelesen... Fertig
Abh�ngigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden aktualisiert (Upgrade):
  bash
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
......
......
bash (4.2+dfsg-0.1+deb7u1) wird eingerichtet ...

scheint Ruhe zu sein

# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: Warnung: x: ignoring function definition attempt
bash: Fehler beim Importieren der Funktionsdefinition f�r `x'.
this is a test
24.9.14
Weitere Beiträge zu: Sicherheit   Debian  

Cursortasten im VI editor

Manchmal (keine ahnung warum) kommt es vor das man unter Debian im Editor VI statt der gewünschten bewegungen mit dem Cursor einen Bustachen wie "B" im Text eingefügt bekommt wenn man mit den Cursortasten im Text navigieren möchte.

Um das abzustellen reicht eine kleine Änderung:

 vi .vimrc
      set nocp
8.3.14
Weitere Beiträge zu: VIM   Debian  

Spracheinstellungen unter Debian konfigurieren

Werden auf einer Apache Webseite die Umlaute nicht richtig dargestellt kann das daran liegen das die Spracheinstellungen im Betriebssystem nicht richtig gesetzt sind. Unter Debian kann man das so prüfen und ändern

Welche Sprachen sind installiert?

locale -a
C
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
en_US.utf8
german
POSIX

Welche Sprachen werden verwendet?

locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8

Und so kann man sie umstellen

sudo dpkg-reconfigure locales

und neu booten.

6.3.14
Weitere Beiträge zu: Locales   Debian  

Debian: blockieren eines Ports mittels iptables

Die Notizen lehnen sich an dieses  Wiki an. Zuerst den gewünschten Port per Befehl blockieren. In diesem Fall 8080

/sbin/iptables -A INPUT -p tcp --destination-port 8080 -j DROP

Nun sehen wir mal wie das Ergebnis ist:

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere            tcp dpt:http-alt

Diese Änderungen werden jetzt in einer iptables Konfigurationsdatei festgehalten damit wir die später beim neustarten automatisch restaurieren können.

iptables-save > /etc/iptables.up.rules


Diese Datei restauriert dann die Einstellungen beim Neustart:

vi /etc/network/if-pre-up.d/iptables
 #!/bin/bash /sbin/iptables-restore < /etc/iptables.up.rules

Und jetzt noch die Datei ausführbar machen

chmod +x /etc/network/if-pre-up.d/iptables

und neustarten.

4.2.13
Weitere Beiträge zu: Debian   iptables  

Debian: Verbindungszeiten und Statistiken per Mail versenden

Ich möchste auf einem PC regelmässige Statisken bekommen wie lange ein bestimmter Benutzer eingelogt ist. Für den Anfang nehme ich dazu die GNU Accounting Utilities acct und versende die Ergebnisse via sendemail.

Wahrscheinlich werde ich später die Reports noch ein wenig verfeinern. Für den Anfang versende ich erstmal "alles"

Zuerst die Installation der Basispackete

apt-get install acct sendemail

Die folgenden Befehlszeile zeigt mir die Statistiken eines Benutzers und versendet das via mail

last username -F > /root/usage.txt  && sendemail -f report@caserio.de -t hbauer@caserio.de -o message-file=/root/usage.txt -s smtp.caserio.de -u 'Usage Report'

Der einfachheit halber habe ich das ganze einfach in ein Startupscript gepackt.

3.1.13
Weitere Beiträge zu: Debian  

Unterschiedliche Dropbox Accounts auf einem Debian Server

Ich hatte eine Dropbox Installation auf meinem Debian Home Server eingerichtet. Jetzt entstand der Bedarf einen zweiten Dropbox Account daneben zu installieren. An dieser Stelle hatte ich eine Anleitung gefunden.

Zuerst die Dropbox Programme für alle Benutzer bereitstellen. Die waren bei mir noch im Root Verzeichniss

ln -s /root/.dropbox-dist/dropbox /usr/bin/dropbox


Dann zum zweiten User wechseln und die Installationsroutine starten. Danach geht es wie bei der Erstinstallation beschrieben. Den Link in einem Browser eingeben in dem man mit dem zweiter User bei dropbox angemeldet ist.

su - seconduser
HOME=$HOME/.dropbox /usr/bin/dropbox start -i
secondusre@551208p:~$ HOME=$HOME/.dropbox /usr/bin/dropbox start -i
This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=f5b50f2208xxxxxxxxxx2e6c0c13&cl=en_US to link this machine.
This client is not linked to any account...
Client successfully linked, Welcome seconduser!

Dann die Dropbox mit der zweiten Identität starten

HOME=/home/seconduser/.dropbox /usr/bin/dropbox start &

 

4.11.12
Weitere Beiträge zu: Debian   Dropbox  

Installation eines Dropbox Client auf einem Debian Server

Ich brauche einen Dropbox Client auf einem Debian Server. Zuerst der Download des aktuellen Pakete und dann auspacken

wget https://www.dropbox.com/download?plat=lnx.x86
tar xzvf download\?plat\=lnx.x86
cd .dropbox-dist/

Dann Dropbox auf der Console  starten

.dropbox-dist/dropboxd &
[1] 18595

Nach einer kurzen Zeit spuckt die Console eine Fehlermeldung mit Browser URL aus. Diese Url in einem anderen Browser kopieren und sich anmelden.

~/drop# This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=95dddc2d2aef0XXXXXXXX4d14e2b0e1613fb1eb0&cl=en_US to link this machine.
~/drop# This client is not linked to any account...
....
....
Client successfully linked, Welcome Hagen!

Dann gibt es im Home Verzeichnis des Benutzers drei neue Verzeichnisse

.dropbox — dropbox Konfiguration
.dropbox-dist — Programmdateien
Dropbox — die eigentlichen Daten.

Jetzt müssten man nur noch ein Autostart einrichten aber das hat noch Zeit

27.8.12
Weitere Beiträge zu: Debian   Dropbox  

Ubuntu: Korrupte Pakete deinstallieren

Es passierte mir heute das die Installation eines Paketes nicht sauber durchgelaufen ist. Reinstall ging auch nicht und Synaptics sagte mir

The package NAME needs to be reinstalled, but I can't find an archive for it.


201201-packages-corrupt.pngWahrscheinlich ist das eine Holzhammermethode aber die folgende Zeile hat mein Problem gelöst. Danach konnte ich es noch mal installieren.

/tmp$ sudo dpkg --remove --force-remove-reinstreq NAME
dpkg: warning: overriding problem because --force enabled:
 Package is in a very bad inconsistent state - you should reinstall it before attempting a removal.
(Reading database ...
dpkg: warning: files list file for package `NAME' missing, assuming package has no files currently installed.
(Reading database ... 290638 files and directories currently installed.)
Removing NAME...


 

17.1.12
Weitere Beiträge zu: Debian  

Debian: Uralte Soundkarte in Betrieb nehmen

Auf einem alten Siemens Scenic Pentium III PC wollte ich unter Debian die eingebaute Soundkarte verwenden. Der mediaplayer sagte zwar das etwas gespielt würde aber kein Pieps wahr zu hören. Ich hatte auch keine Ahnung was das für eine Karte ist. lscpi sagte mir folgendes

lspci  | grep audio
00:0c.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive (rev 01)    

Nachdem ich die alsa-utils installiert hatte konnte ich dann alsamixer verwenden um die Lautstärke hoch zu fahren.

apt-get install alsa-utils   

201105-debian-soundkarte.png

Danach war auch was zu hören

2.5.11
Weitere Beiträge zu: Debian  

Wo steht welche Version von Debian verwendet wird

Will man wissen welche Debian Version ein Rechner benutzt geht das recht einfach

more /etc/debian_version
5.0.7

27.2.11
Weitere Beiträge zu: Debian  

dnsmasq cache löschen

Will man dem DNS Server dnsmasq beibrigen das eine IP Addresse einem anderen Rechner zugewiesen werden soll, muss man natürlich die dnsmasq.conf ändern. Je nach eingetragener "Lebenszeit" der IP Adresse bleibt die allerdings im Cache. Da hilft nur

  • dnsmasq stoppen
  • den entsprechenden Eintrag im dns cache löschen
  • dnsmasq neu starten

# /etc/init.d/dnsmasq stop
Stopping DNS forwarder and DHCP server: dnsmasq.
vi /var/lib/misc/dnsmasq.leases
# /etc/init.d/dnsmasq start
Starting DNS forwarder and DHCP server: dnsmasq.

16.12.10
Weitere Beiträge zu: Debian   dnsmasq  

Debian: automatischen Sicherheitsupdates mit cron-apt

Regelmässige Update mit Sicherheitspatches gehören zu den wichtigen Routineaufgaben wenn man einen Server "im Internet" stehen hat.

Eigentlich bin ich kein Fan von automatischen Updates. Am Ende habe ich mir allerdings gesagt:

Wenn ich von Debian gesagt bekomme: "Dieser Fix ist sicherheitsrelevant" -  wie gross ist die Wahrscheinlichkeit das ich bei der manuellen Installation "nein" sage?

Und wenn ich eh nur "ja" sage dann kann ich es auch automatisch machen und bin mir sicher das ich nix verpasse. Eine der vielen Möglichkeiten ist cron-apt

apt-get install cron-apt
vi /etc/cron-apt/config
 OPTIONS="-q -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list"
cd /etc/apt/
cp sources.list.d/debian.list sources.list.d/security.list
vi sources.list.d/security.list

   deb http://security.debian.org/ lenny/updates main contrib non-free
   deb-src http://security.debian.org/ lenny/updates main contrib non-free

Das ganze läuft jetzt seit vielen Monaten ohne Probleme.

Update:

Es fehlt noch die Anweisung das die Updates nicht nur runtergeladen werden sollen sonder auch installiert werden müssen

vi /etc/cron-apt/action.d/3-download
      upgrade -y -u

 

2.9.10
Weitere Beiträge zu: Debian  

Mein minimales Basis Setup für Debian Server

Wenn ich einen Linux/Debian Server installiere wähle ich grundsätzlich am Anfang keine zusätzlichen Packet wie etwa Gnome/File/Mail server aus, sondern erstmal die minimale Installation. Bevor irgendetwas andere installiert wird wird das System erstmal "abgeschlossen" und die Konfigurationsdateien unter Revisionskontrolle genommen. Erst dann gehts weiter.

apt-get update
apt-get upgrade
apt-get install ssh sudo subversion

So. Dann nach dieser Anleitung den Zugriff einschränken und den Root zugriff verhindern. Wenn das getan ist die original Konfigurationsdateien unter Revisionskontrolle mit SVN

Damit sind der Server von Anfang an abgeschlossen und die Konfigurationsdateien unter Revisionskontrolle genommen. Erst dann kommen weiter Dienste die natürlich ebenfalls ins SVN Repository eingebunden werden.

9.7.10
Weitere Beiträge zu: Linux   Debian  

Fritz Capi unter Debian

keine Ahnung warum es so schwer ist Capi unter Debian zum fliegen zu bekommen. Hier die Aufzeichnungen meiner Irrungen und Wirrungen.

apt-get install rpm patch pciutils capiutils
apt-get install linux-headers-$(uname -r

Die Quellen für den fcpci gibt es hier

wget http://dl.atrpms.net/all/fcpci-03.11.07-16.src.rpm
rpm2cpio fcpci-03.11.07-16.src.rpm > fcpci-03.11.07-16.cpio
cpio -i --make-directories < fcpci-03.11.07-16.cpio
mkdir fcpi
cd fcpci
cpio -i --make-directories <  ../fcpci-03.11.07-16.cpio
tar xzvf fcpci-suse93-3.11-07.tar.gz
wget http://134.93.168.49/~reiffert/fcpci-debian.diff
cd fritz/
patch -p1 < ../fcpci-debian.diff

Dann müssen alle patches von hier  übertragen werden. Damit man später nicht nur das Modul laden kann sondern auch Kanäle angezeigt bekommt muss man noch in der driver.c (zeile 197)

strncpy (ctrl->manu, "AVM GmbH", CAPI_MANUFACTURER_LEN);

durch :

lib_strncpy (ctrl->manu, "AVM GmbH", CAPI_MANUFACTURER_LEN);

ersetzen. Vielen dank an diese Adresse  Dann kompililieren und an die richtige Stelle kopieren. Den hisax Treiber entladen und den fcpci laden

make
cp src/fcpci.ko /lib/modules/2.6.26-2-686/kernel/
depmod -ae
rmmod hisax_fcpcipnp
modprobe fcpci

dmesg
[15051.084178] fcpci: Driver 'fcpci' detached
[15055.102176] fcpci: AVM FRITZ!Card PCI driver, revision 0.7.2
[15055.102187] fcpci: (fcpci built on Jun 30 2010 at 16:51:00)
[15055.102192] fcpci: -- 32 bit CAPI driver --
[15055.102237] fcpci: AVM FRITZ!Card PCI found: port 0x2000, irq 18
[15055.102242] fcpci: Loading...
[15055.102248] fcpci: Driver 'fcpci' attached to fcpci-stack. (152)
[15055.332008] fcpci: Stack version 3.11-07
[15055.332085] kcapi: Controller [001]: fcpci-2000-18 attached
[15055.332091] kcapi: card [001] "fcpci-2000-18" ready.
[15055.332153] fcpci: Loaded.

capiinit
capiinfo

Number of Controllers : 1
Controller 1:
Manufacturer: AVM GmbH
CAPI Version: 2.0
Manufacturer Version: 3.11-07  (49.23)
Serial Number: 1000001
BChannels: 2
Global Options: 0x00000039
   internal controller supported
   DTMF supported
   Supplementary Services supported

und dann noch in
    /etc/isdn/capi.conf
    fcpci

auskommentieren.

4.7.10
Weitere Beiträge zu: Debian   Capi   Asterisk  

Raid1 direkt bei der Installation von Debian 5 anlegen

Wenn es um meine Daten geht bin ich etwas paranoid. Neben meinem Backup / Datenspiegelungsverfahren halte ich meine Daten auf SCSI Platten im Raid 1. Ist wahrscheinlich massiv übertrieben aber Sicherheit ist immer auch Psychologie. Mein neuer Server bekommt für die Bilder und sonstigen Dateien zwei 140er SCSI Platten und das Betriebsystem wird Debian. Nach folgendem Verfahren habe ich das Raid direkt bei der Installation angelegt.

Man bootet ganz normal mit der Boot CD beim partitionieren wählt man dann manuell aus.

Auf der erste Platte

  • neue partition erstellen
  • primär
  • Grösse angeben
  • "use as" von ext3 auf "physical volume for raid" umstellen
  • done setting up this partition
  • neue partition anlegen
  • grösse angeben
  • use as swap
  • done setting up this partition

Bei der zweiten Parition dann das gleich noch mal mit gleichen Partitionslayout und Grössen. Wir haben jetzt 2 Platten mit  jeweils einer Raid Partition und einer Swap Partition. Alle Partitionen haben die gleiche Grösse.

Es ist jetzt ein neuer Menupunkt hinzugekommen
"configure software raid"
Das wählen wir aus und wenn wir sicher sind bestätigen wir das Schreiben der Informationen mit "yes" . Dann wählen wir aus

  • "create MD device"
  • Raid1
  • 2 aktive
  • 0 spare
  • die beiden Raid Partitionen auswählen
  • Finish

Wenn es dann zum Partitionsmenü zurückgeht taucht neben den beiden Festplatten ein Software Raid auf. Das wählen wir aus

  • use as ext3 (oder was immer man präferiert)
  • mount root
  • finish with partitioning and write changes to disk

Und dann geht es weiter mit "install base system" wie immer.

Vielen Dank an Andreas

 

2.7.10
Weitere Beiträge zu: Linux   Debian  

Nagios für den Hausgebrauch

Ich verwende Nagios um verschiedene Dienste innerhalb meiner IT Landschaft zu überwachen. (IT Landschaft hört sich schon monströs an trifft es aber am besten.) Da sind zum Beispiel:

  • Ein Server im Internet mit Shop/Blogs/Kindergartenwebsite
  • Mein interner Hausserver mit Telefonanlage Asterisk, Videorecorder VDR und den anderen üblichen Dingen wie File/Print/Mail
  • Backup Server

Alles auf Basis von Linux (meistens Gentoo aber immer mehr Debian)

Ausschlaggebend war die Überwachung des Internet Servers um sicherzustellen das dort nix schiefgeht. Und wenn man es schon hat dann kann man auch noch einige andere nette Dinge tuen. Zum Beispiel kann man einstellen wann man eine Warnung über zu wenig Hauptspeicher oder Festplattenplatz bekommt. Man kann Schwellenwerte festlegen wann man eine SMS bekommt usw.

nagios-1.gif

21.1.10
Weitere Beiträge zu: Asterisk   Debian   Gentoo   Nagios   VDR  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License