Tag Archives: Paket

debian-logo

Debian Backports

In der Debian-Distribution werden bekanntlich nur getestete Pakete verwendet und in einer Version (z.B. Debian-Version 5, “Lenny”) nur wichtige Korrekturen durchgeführt, aber keine weiteren Versionssprünge vorgenommen. Wenn ich nun eine neuere Version von einer bestimmten Software nutzen wollte, habe ich bisher auf backports.orgzurückgegriffen, seit zirka einem Monat gehört das Projekt nun offiziell zum Debian-Service und ist unter “packports.debian.orgzu erreichen. Die Quellen heißen deshalb “backport”, da diese aus dem Debian-Testing-Zweig (momentan Debian-Version 6, “Squeeze”) zurück portiert wurden. Das Paket “debian-backports-keyring” wird nun nicht mehr benötigt, da die Pakete nun mit den offiziellen Key von Debian unterzeichnet sind.

 

“Da sich die Adresse von backports.org zu backports.debian.org ändert, sollten alle Benutzer, um Überraschungen zu vermeiden, ihre Repositorien in sources.list so bald wie möglich anpassen. Die alte Adresse wird allerdings als Spiegel des Archivs noch für einige Zeit erhalten bleiben. Wer Pinning mit Backports-Paketen nutzt, sollte seine Einstellungen in der Datei preferences bald anpassen, da sich der Archivname in »Debian Backports« geändert hat.” – Pro-Linux.de

 

Wenn nun jedoch in im Testing-Zweig keine neue Software aufgenommen wird, wie es momentan der Fall ist und der Testing-Zweig somit eingefroren wird, um diesen auf die Stabilen-Zweig zu bringen, dann benötigt man ggf. auch noch die Quelle “lenny-backports-sloppy“. Somit kannst du bereits Software aus der Unstable-Version (Debian-Version 7, “Wheezy) verwenden, wenn du jedoch auf die kommende stabile Version “Squeeze” aktualisieren möchtest, dann benötigst du zwingend die zugehörigen Backports, zudem ist diese Quellen stets mit dem packports zu verwenden.

 

1.) Folgende Zeilen einfügen:

Entweder direkt in der “/etc/apt/sources.list”-Datei oder du musst im folgendem Unterverzeichnis (/etc/apt/sources.list.d/) eine Datei mit der Endung (.list) anlegen und dort die folgenden Zeilen einfühen.

deb http://backports.debian.org/debian-backports lenny-backports main
deb http://backports.debian.org/debian-backports lenny-backports-sloppy main

2.) Quellen aktualisieren

 

apt-get update

3.) Folgende Zeilen einfügen:

In der “/etc/apt/preferences”-Datei folgendes Einfügen, so dass du auch mit Sicherheit-Updates versorgt wirst.

 

Package: *
Pin: release a=lenny-backports
Pin-Priority: 200

4.) Pakete installieren

Mit dem folgendem Befehl kannst du nun, aus dem Backports Software installieren, hier gibt es noch mehr Infos zu aptitude. ;-)

 

aptitude -t lenny-backports install "package"

 

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
nginx_logo_klein2

Debian/Ubuntu Paket selber bauen (Nginx)

Heute zeige ich, wie du dir deinen eigenen Webserver (Nginx) als .deb-Paket bauen und installieren kannst… :-) In einem vorherigen Beitrag hatte ich bereits beschrieben, wie du PHP5-fpm mit Nginx installieren kannst. Da ich folgenden Fehler bei dem Update auf Version 0.9.1 bekommen habe ->


Can't locate nginx.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
BEGIN failed--compilation aborted. 


<- wurde das deb-Paket kurzerhand neu-gebaut und zwar ohne Perl-Unterstützung. :-)


1.) Root werden und einiges ggf. nachinstallieren + die Quellen (deb-src) herunterladen

sudo bash
aptitude install build-essential devscripts fakeroot debhelper autotools-dev libpcre3-dev zlib1g-dev libssl-dev
mkdir /usr/src/nginx ; cd !$
apt-get source nginx
cd $(ls -d nginx*/)

2.) Ggf. schauen, ob es bereits eine neue Version gibt und diese herunterladen und abgleichen

wget http://sysoev.ru/nginx/nginx-0.9.1.tar.gz
export DEBFULLNAME='nginx';export DEBEMAIL='deine@email-adresse.de'; uupdate --upstream-version 0.9.1 ../nginx-0.9.1.tar.gz
cd ../$(dpkg-parsechangelog | sed -n 's/^Source: //p')-0.9.1
sed -i '/^Maintainer/s/: .*/: dein_name /;/^Uploaders/s/: .*/: dein_name /;/XSBC-Original-Maintainer/d' debian/control;

3.) die ./configure Variablen ggf. an deine Bedürfnisse anpassen (debian/rules)

vim debian/rules
config.status: config.sub config.guess
        ./configure \
            --conf-path=/etc/nginx/nginx.conf \
            --user=wwddw-data \
            --group=www-data \
            --sbin-path=/usr/sbin/nginx \
            --pid-path=/var/run/nginx.pid \
            --with-sha1-asm \
            --with-zlib-asm=pentiumpro \
            --with-md5-asm \
            --with-ld-opt="-L /usr/lib" \
            --with-cc-opt="-D FD_SETSIZE=2048" \
            --with-cc-opt="-I /usr/include" \
            --with-cpu-opt="opteron" \
            --error-log-path=/var/log/nginx/error.log \
            --http-client-body-temp-path=/var/lib/nginx/body \
            --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
            --http-log-path=/var/log/nginx/access.log \
            --http-proxy-temp-path=/var/lib/nginx/proxy \
            --http-scgi-temp-path=/var/lib/nginx/scgi \
            --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
            --lock-path=/var/lock/nginx.lock \
            --pid-path=/var/run/nginx.pid \
            --with-debug \
            --with-http_dav_module \
            --with-http_flv_module \
            --with-http_geoip_module \
            --with-http_gzip_static_module \
            --with-http_image_filter_module \
            --with-http_realip_module \
            --with-http_stub_status_module \
            --with-http_ssl_module \
            --with-http_sub_module \
            --with-http_xslt_module \
            --with-ipv6 \
            --with-sha1=/usr/include/openssl \
            --with-md5=/usr/include/openssl \
            --with-mail \
            --with-mail_ssl_module \
            --add-module=$(CURDIR)/modules/nginx-upstream-fair \
            --add-module=$(CURDIR)/modules/nginx-echo \
            $(CONFIGURE_OPTS) >$@
        touch $@
Ich habe einige Module deaktiviert welche ich nicht benötige, SSL-Verschlüsselung + IPv6 + … aktiviert und unter anderem Optimierungen für meine CPU aktiviert. Unter folgendem Link, findest du alle Module, welche standardmäßig bei “nginx” mitgeliefert werden:
vim debian/control
In dieser Datei muss man ggf. noch Abhängigkeiten ergänzen oder entfernen. In meinem Fall habe ich die perl-lib entfernt, da ich dies auch aus der zu-vorigen Konfiguration entfernt hatte.

4.) Ggf. die Konfiguration ändern bzw. deine eigene übernehmen (debian/conf/)

Dafür änderst du einfach die Dateien unter “debian/conf/” und sobald du das fertige Paket installierst, wird deine Konfiguration übernommen, dies kann auch sehr hilfreich sein, wenn du das selbe Programm mit den selben oder ähnlichen Konfiguration auf verschiedenen Computern installierst.

export DEBFULLNAME='nginx';export DEBEMAIL='deine@email-adresse.de';debuild -i -us -uc

5.) Installiere dein neues Debian-Paket :-)

cd ..
dpkg -i nginx_0.9*deb && sudo aptitude hold nginx
Anbei noch meine Nginx-Version ->
Du kannst .deb-Dateien auch entpacken, wenn du diese genauer anschauen möchtest.
ar -x nginx_0.9.1-ppa3_i386.deb
tar xzvf data.tar.gz
Links:
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

PHP 5.3.3

Auf Dotdeb.org gibt es PHP in Version 5.3.3 im .deb-Format. Das nachfolgende kleine HowTo zeigt wie du dies auf Debian installieren kannst. Es gibt Pakete für Debian (Lenny), sowohl für amd64 als auch i386 Architekturen.

Install:

1.) als erstes benötigen wir eine Root-Shell

sudo bash

2.) nun können wir die zusätzlichen Quellen einfügen

echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list
echo "deb-src http://php53.dotdeb.org stable all" >> /etc/apt/sources.list

3.) diese einmal aktualisieren

apt-get update

4.) und schon können wir PHP 5.3 installieren

aptitude safe-upgrade

Migration von PHP 5.2.x zu PHP 5.3.x:
de.php.net/migration53

Falls man bereits mit Debian (Squeeze) arbeitet oder die Lenny-Backports in den Quellen eingefügt hat und daher das Paket libtool > 2.2 installiert hat, muss man eine ältere Version per dpkg installieren, da man ansonsten php5-dev (5.3.1) nicht installieren kann, damit man selber Erweiterungen für PHP kompilieren kann (z.B. eaccelerator). Es folgt ein kleines HowTo:

wget http://ftp.de.debian.org/debian/pool/main/libt/libtool/libtool_1.5.26-4_i386.deb
dpkg --force-all -i libtool_1.5.26-4_i386.deb
aptitude install build-essential php5-dev
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Spammer/Hacker fernhalten (Apache2)

mod_spamhaus ist ein Apache-Modul, welches deine Webseite vor Spammern und Hackern schützen kann, indem “böse” IP-Adressen keinen Zugriff mehr auf deine Webseite bekommen, für diesen Zweck wird auf eine “DNS-based Blackhole List” (DNSBL) zurückgegriffen.

Es gibt mehrere Möglichkeiten dieses Modul zu installieren…

1.) selber bauen

aptitude install apache2-prefork-dev
wget http://switch.dl.sourceforge.net/project/mod-spamhaus/mod-spamhaus/0.7/mod-spamhaus-0.7.tar.gz
tar zxvf mod-spamhaus-0.7.tar.gz
cd mod-spamhaus
make
make install
vim /etc/apache2/httpd.conf

LoadModule spamhaus_module /usr/lib/apache2/modules/mod_spamhaus.so

vim /etc/apache2/apache2.conf

[...]
MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList /etc/spamhaus.whitelist
MS_CacheSize 256
[...]

touch /etc/spamhaus.whitelist
/etc/init.d/apache2 restart

2.) neue Debian-Pakete

Falls du bereits Debian >= Squeeze einsetzt, kannst du diese Apache-Erweiterung bereits ohne jegliche Änderung am System mittels folgendem Befehl installieren.

aptitude install libapache2-mod-spamhaus

andernfalls kannst du dieses Paket erlauben, Daten aus dem Squeeze-Repository zu installieren…

sudo bash
echo “deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free” >> /etc/apt/sources.list
echo “deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free” >> /etc/apt/sources.list
apt-get update
vim /etc/apt/preferences

Package: libapache2-mod-spamhaus
Pin: release a=squeeze
Pin-Priority: 999

aptitude install libapache2-mod-spamhaus
a2enmod mod-spamhaus
/etc/init.d/apache2 restart

nach der Installation wirst du bald Einträge ähnlich dem folgendem finden

[ ... ]
[Mon Dec 01 00:05:26 2008] [error] [client 149.156.67.236] denied by DNSBL: sbl-xbl.spamhaus.org for: /news.php
[ ... ]

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Die größten dpkg-Pakete auf Ubuntu/Debian ermitteln

Folgendermaßen findest du heraus, welche bereits installierten Pakete am meisten Festplattenplatz verbrauchen:

dpkg-query --show --showformat='${Package;-50}t${Installed-Size}n' | sort -k 2 -n | grep -v deinstall | awk '{printf "%.3f MB t %sn", $2/(1024), $1}'
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Installiere VMware Tools auf Debian Lenny

Um die VMware Tools zu installieren, wobei dann auch die passenden Treiber kompiliert werden, muss man bei eine neu installierten Debian Version einige Pakete nachinstallieren. Zudem ist der Kernel mit einer älteren gcc kompiliert.

1.) einige Pakete nach-installieren

aptitude install psmisc binutils gcc-4.1-base make linux-headers-$(uname -r)

2.) nach-schauen mit welchem gcc-Version der laufende Kernel kompiliert wurde und dann ggf. gcc anpassen

cat /proc/version

und dann ggf.

export CC=/usr/bin/gcc-4.1
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.1 /usr/bin/gcc

3.) folgendes erlaubt es dem VMware Daemon nach einen reboot auch wieder zu starten

ln -s /usr/lib/libexpat.so.1 /usr/lib/libexpat.so.0

4.) In dem VMware (ESXi) Client auf deiner Windows Arbeitsstation musst du nun die VMware cd in das virtuelle Laufwerk einlegen

Inventory -> Virtual Machine -> Install/Upgrade VMware Tools

5.) mounten die CD und kopieren den Inhalt weg, dann wieder unmounten und die Installation starten

mount /dev/cdrom[0-9] /mnt
cp -v /mnt/VMwareTools-3.5*.gz /usr/src/
umount /mnt
cd /usr/src/ ; tar xvf VMwareTools-3.5*.gz
cd vmware-tools-distrib/
./vmware-install.pl
mv /usr/bin/gcc_new /usr/bin/gcc

Nach einem Reboot läuft Debian nun mit den VMware Tools. Alternativ gibt es für Debian auch noch die open-vm-tools.

aptitude install open-vm-source
module-assistant prepare open-vm
module-assistant auto-install open-vm
aptitude install open-vm-tools
reboot
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
greenSQL

GreenSQL – MySQL Firewall

Was ist eine MySQL Firewall und wie funktioniert dies?

GreenSQL ist eine Open-Source-Datenbank-Firewall, um Datenbanken von SQL-Injection-Attacken zu schützen. Diese arbeitet als Proxy für SQL-Kommandos und hat eine eingebaute MySQL Unterstützung. Die Logik beruht auf der Auswertung von SQL-Befehlen, mit Hilfe eines Scoring-Risiko-Matrix sowie Sperrung bekannt db Verwaltungs-Befehle.

GreenSQL arbeitet als Reverse Proxy für MySQL-Verbindungen. Dies bedeutet, dass du dich anstatt direkt mit den MySQL-Server, zuvor mit GreenSQL verbindest. GreenSQL analysiert die SQL-Abfragen und wenn sie sicher sind, werden diese an den MySQL-Server durch-gereicht.

greenSQL
greenSQL

HowTo: Wie installiere ich die MySQL Firewall?

1. Download der Software

Das passende Paket von dieser Webseite herunterladen:

www.greensql.net/download

2. Installiere das entsprechende Paket

Debian/Ubuntu:

sudo dpkg -i PACKAGE_NAME.deb

Redhat/Fedora/CentOS/SuSe:

rpm -ihv PACKAGE_NAME.rpm

FreeBSD:

pkg_add PACKAGE_NAME.tbz

3. Datenbank anlegen & Konfiguration anpassen

Um die Konfiguration anzupassen und die Datenbank anzulegen, führst du nun folgendes Skript aus…

/usr/sbin/greensql-create-db.sh

und nun können wie die Firewall bereits starten

/etc/init.d/greensql* restart

4. Status der Firewall testen

um die Verbindung durch den MySQL-Proxy zu testen, führen wir folgendes Kommando aus…

mysql -h 127.0.0.1 -P 3305 -u root -p

5. Webseite mit einbinden

nun wird es Zeit, unsere Webseite in das Konstrukt mit einzubinden, dafür muss die Datei, wo die Verbindungseinstellungen zu MySQL eingestellt werden editiert werden.

Folgendes sollte in eine PHP-Datei zu finden sein und muss nun nur noch angepasst werden…

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

… wird zu …

$link = mysql_connect('127.0.0.1:3305', 'mysql_user', 'mysql_password');

Wichtiger Hinweis:
Keine Verbindung zu “localhost”, verwende stattdessen immer “127.0.0.1″.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 1.00 out of 5)

dpkg-repack – Installationen neu einpacken

Auf Debian basierendem Systemen (z.B. Ubuntu) kannst du bereits installierte Pakete neu einpacken und in ein .deb Datei speichern, um dieses z.B. mit der selben Konfiguration auf einem anderem System zu installieren.

Installation:

aptitude install dpkg-repack

Syntax:

dpkg-repack [--root=dir] [--arch=architecture] [--generate] packagename [packagename ...]

weitere Infos zu “dpkg-repack” findest du in der Man-Page

man dpkg-repack
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Konsolen-Logo

aptitude & dpkg

Das dpkg-Programm war Anfangs dafür gedacht, dass man seine installierten Pakete verwalten kann. Doch man brauchte auch noch ein Programm welches schnell, praktisch und effizient im Umgang mit Pakete ist, so sollte es Pakete installieren, dessen Abhängigkeiten automatisch behandeln und ihre Konfigurationsdateien während des Aktualisierens berücksichtigen, genau für diesen Zweck wurde dann APT (Advanced Packaging Tool) entwickelt.

dpkg:

dpkg -l

z.B.:

dpkg -l | awk '{print $2}'

-> zeigt alle installierten Pakete an
(zeigt nur die installierten Paket-Namen an)

dpkg -l "*"

-> zeigt aller verfügbaren Pakete an

dpkg -l irgendwas

-> zeigt alle Pakete an in dessen Namen “irgendwas” vorkommt

dpkg -p paket

-> anzeigen von Informationen (z.B. Beschreibung, Größe, Version…) von installierten Paketen an

dpkg -i programm.deb

-> lokales Paket installieren

dpkg -r paket

-> (–remove) Paket deinstallieren (Konfiguration wird beibehalten)

dpkg -p paket

-> (–purge) Paket deinstallieren (auch die Konfiguration)

dpkg -S irgendwas

z.B.:

dpkg -S `which ls`

-> zeigt alle installierten Dateien und dazugehörige Pakete zu dem Suchbegriff “irgendwas” an
(zeigt das Paket an, zu dem das Programm “ls” gehört)

dpkg -L paket

-> zeigt die zugehörigen Dateien zu einem installierten Paket an

dpkg-reconfigure paket

-> konfiguriert ein Paket neu

dpkg-statoverride --update --add

-> überschreibt die Rechte für die eine Datei, auch nach einem Update

z.B.:

dpkg-statoverride --update --add nagios www-data 660 /var/lib/icinga/rw/icinga.cmd

-> chown nagios:www-data && chmod 660 – wird nach Updates auf die angegebene Datei durchgeführt

dpkg-statoverride --remove

-> setzt die Rechte einer Datei wieder auf den Standard zurück

dpkg-statoverride --list

-> zeigt die veränderten Dateien an

 

aptitude:

aptitude update

-> Update von allen Einträgen in /etc/apt/sources.list

aptitude upgrade

-> Upgrade, wenn ein Paket veraltet ist

aptitude install paket

-> Installiert das Paket “paket” und ggf. dessen Abhängigkeiten

aptitude remove paket

-> Paket deinstallieren (Konfiguration wird beibehalten)

aptitude purge paket

-> Paket deinstallieren (auch die Konfiguration)

aptitude search irgendwas

-> Sucht in allen Beschreibungen und Paket-Namen nach “irgendwas”

aptitude show paket

-> anzeigen von Informationen (z.B. Beschreibung, Größe, Version…)

aptitude -t

-> führt aptitude mit einem bestimmten Repository aus (Repository -> /etc/apt/sources.list)
z.B.:

aptitude -t etch-backports -V install clamav clamav-daemon clamav-freshclam

Grafischer-Modus in der Konsole:

aptitude

F10 : Zeigt das Menü an

(Info: Wenn du die Konsole auf deinem Desktop öffnest, kannst du auch mit der Maus auf das Menü klicken)

q : Ende oder Zurück (quit)

u : Update die Paket Liste (sourcres.list)

/ : Suche nach einem Paket

n : Noch mal nach dem selben suchen (next)

f : “new packages” verwerfen

Wenn du dein gesuchtes Paket nun gefunden hast:

+ : Markiert das Paket zum installieren oder updaten
- : Markiert das Paket zum deinstallieren
_ : Markiert ein Paket zum purging (siehe oben)
: : Bricht alle Aktionen für ein Paket ab
b : Zeigt Abhängigkeitsprobleme an
! : Versucht Abhängigkeitsprobleme zu lösen
. : um zu versuchen die Abhängigkeiten anders aufzulösen
U : Markiert alle vorhanden Upgrades zum installieren

Wenn du nun mit deiner Auswahl zufrieden bist:

g : Zum zustimmen und zur Übersicht gehen (an dieser Stelle löst aptitude die Abhängigkeiten automatisch auf), dort musst du mit wiederholten “g” diese Übersicht bestätigen. Fertig.

Tipp: RegEx für aptitude

Man kann auch via RegEx suchen (sowohl in der “GUI” aus auch auf der Kommandozeile) z.B.: ^ack-grep$

Erlaubte RegEx: “.” – “+”, “”, “(“, “)”, “|”, “[", "]“, “^”, “$”, “?”

 

Quellen:
https://www.debian.org/doc/manuals/debian-reference/ch02.de.html
http://wiki.ubuntuusers.de/dpkg
http://wiki.ubuntuusers.de/apt/apt-get
http://wiki.ubuntuusers.de/aptitude

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5.00 out of 5)

ipv6 + Ubuntu

Das Teredoprotokoll definiert eine Methode für den Zugriff auf das IPv6-Netzwerk hinter einem NAT-Gerät zu ermöglichen. Die Funktion besteht darin, dass die IPv6-Pakete mit UDP über IPv4 gekapselt werden. Dies geschieht mit Hilfe sogenannter Teredoserver.

1.) Installation / Start unter Ubuntu

sudo aptitude install miredo
sudo /etc/init.d/miredo start

2.) IPv6 Anzigen lassen:

ifconfig teredo

3.) IPv6 testen

ping6 -c 4 ipv6.google.com
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)