Nickolsen’s Techblog

Dezember 26, 2008

dpkg: Konfigs gelöschter Pakete purgen

Gespeichert unter: Bash, Computer, Debian, Linux — Schlagworte: — nickolsen @ 12:51

Ich weiß nicht, ob das wirklich Sinn macht… aber, hier ist meine Funktion:

for i in $(dpkg -l | grep ^rc | tr -s "[:blank:]" | cut -d " " -f2); do dpkg -P $i; done
oder
for i in $(dpkg -l | grep ^rc | awk -F ' ' '{print $2}'); do dpkg -P $i; done

Damit werden alle mit rc gekennzeichneten Pakete aus dpkg gepurgt.
rc bedeutet, dass die Pakete gelöscht sind, aber noch eine Konfigurationsdatei vorhanden ist. Bei einer erneuten Installation des Pakets, würde diese Konfig auch verwendet werden. Um das zu verhindern, kann man die Konfigurationsdatei (also den Paketrest) purgen – vollständig entfernen. Normalerweise geschieht dies per dpkg -P <Paketname>.

Achtung: Bei meiner kleinen Schleife, findet KEINE Sicherheitsabfrage statt. Es werden einfach alle rc-geflagten Pakete gepurgt! Benutzung auf eigene Gefahr!!!

Oktober 2, 2008

VIM: Syntax Highlighting

Gespeichert unter: Bash, Computer, Linux, Others — Schlagworte: , , — nickolsen @ 8:54

Wenn der VI erkennt, um welche Art von Programmiersprache es sich handelt (an Dateiendung?!), ist das Highlighting im VI aufrufbar per
:syntax on
abschaltbar
:syntax off

Standardmäßig aktivieren kann man es in der:
/etc/vim/vimrc
und zwar einfach bei der Zeile
syntax on
das Kommentarzeichen entfernen und speichern!
Ab sofort wird dann bei jeder Datei, die man im VIM öffnet, die Syntax farbig markiert.

Danke an www.dappes.com für die Anleitung!

September 2, 2008

IP von eth0 mittels ifconfig auslesen

Gespeichert unter: Bash, Computer, Linux — Schlagworte: , , , — nickolsen @ 7:37

Zum Auslesen der IP aus ifconfig. Geht sicher einfacher, aber mir gehts ein wenig um die Arbeit mit grep, awk, sed etc.

ifconfig eth0 | grep 'inet Adresse' | awk -F ':' '{ print $2 }' | awk -F ' ' '{ print $1 }'
Ausgabe ist einfach die IP-Adresse des Interfaces eth0.

ping $(ifconfig eth0 | grep 'inet Adresse' | awk -F ':' '{ print $2 }' | awk -F ' ' '{ print $1 }')
Pingt die rausgefilterte Adresse an. (Bringt zwar nicht viel, weils die eigene IP ist, aber egal :D Der Syntax-Lerneffekt zählt!)

Ich bin aber der Meinung, dass man vor allem das zweite awk schöner gestalten kann!

EDIT: ifconfig eth0 | grep 'inet Adresse' | awk -F ':' '{ print $2 }' | awk '{ print $1 }'
Find ich persönlich noch besser!

September 1, 2008

Musikfreigabe variabel einbinden

Gespeichert unter: Bash, Computer, Debian, Linux — Schlagworte: , , — nickolsen @ 6:50

Problemstellung: Ich habe meine Musik auf einer Netzwerkfreigabe liegen, die beim Starten meines Debian-Systems gemountet werden soll. Ein klarer Fall für die fstab. Problem: Wenn ich mein Notebook mal außerhalb meines Netzwerks benutze, soll nicht gemountet werden (geht ja auch gar nicht, weil Freigabe nicht erreichbar.).

Idee: Server der die Freigabe zur Verfügung stellt anpingen und bei Erfolg Freigabe mounten.

Umsetzung (als root):
touch mount_music.sh

chmod 700 mount_music.sh

vim mount_music.sh

Script:
#!/bin/bash

SERVER=""
MOUNTPOINT=""
FILESYSTEM=""
USER=""
PW=""
LOCALMOUNT=""

PING_TEST=$(ping -c 1 $SERVER | grep 'received' | awk -F ',' '{ print $2 }' | awk '{ print $1 }')

if [ $PING_TEST -eq 0 ]; then
echo "System unavailable!"
else
mount -t $FILESYSTEM //$SERVER/$MOUNTPOINT -o username=$USER,password=$PW $LOCALMOUNT
fi

Die Variablen müssen natürlich noch angepasst werden!

Dann…

ln -s /X/mount_music.sh /etc/rcX.d/S99music_mount

Nun wird das Script beim Booten des jeweiligen Runlevels (in meinem Fall: 2) mit als letztes durchgeführt.

Fazit: Klappt wunderbar. Das echo im Fehlerfall hätte ich mir sparen können, da man die Ausgabe eh nicht sieht. Aber ansonsten bin ich zufrieden :)

Bloggen Sie auf WordPress.com.