How to create a iso with linux


Auf Linux ist es sehr einfach, aus einem Ordner eine ISO Datei zu machen.
Dazu muss man folgendes Paket installieren:
apt-get install mkisofs

und dann gibt man ein:
mkisofs -o FILE.iso ISO_FOLDER/
Danach wird eine ISO namens “FILE.iso” mit dem Inhalt von “ISO_FOLDER/” erstellt.

Wenn man ein Linux Betriebssystem mit einem CD Laufwerk hat, kann man das auch direkt so machen:
dd if=/dev/cdrom of=/tmp/FILE.iso

nginx – Mein neuer Favourite (Tutorial)



NGINX ist ein schneller, effizienter und sparsamer Webserver gegenüber Lighttpd oder Apache.
Dieser Webserver wird bereits von vielen großen Internetseiten verwendet (z.B. von SourceForge und WordPress.com), da nginx um einiges weniger RAM und CPU Load benötigt als andere Server.

Ein weiterer Vorteil ist, dass nginx etwa jedes Monat aktualisiert wird was bei Lighttpd oder Apache nicht der Fall ist.

Zwei Zitate:

…in my simple stress tests cpu usage showed lighttpd at 98% while nginx was never more than 52%…

nginx performed almost the same as lighttpd but cpu load was much better with nginx. (LA never got more than 5 while lighttpd bumped it up to ~10, and apache to 20+ while testing with the wordpress setup) Btw, can’t even compare it to apache, which almost crashed my box when testing the sample wordpress install.( 10000 requests, 1000 concurrent)

Auch nginx ist nicht der perfekteste Webserver, da nginx nicht ein FastCGI-Modul mitinstalliert, welches man für PHP benötigt. Jedoch kann man diese Pakete leicht nachinstallieren.

Hier nun eine kleine Anleitung zum installieren von NGINX
Installieren der notwendigen Pakete

apt-get install -y gcc cpp make libatomic-ops-dev libbz2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libgd2-xpm-dev libgeoip-dev libglib2.0-dev libgmp3-dev libgpg-error-dev libjpeg62-dev libpcre3-dev libpng12-dev libpthread-stubs0-dev libssl-dev libxalan110-dev libxerces-c2-dev libxml2-dev libxpm-dev libxslt1-dev linux-libc-dev zlib1g-dev

Der Parameter “-y” überspringt die Nachfrage, ob die Pakete wirklich installiert werden sollen.

Herunterladen und entpacken von nginx

wget # Herunterladen
tar xfz nginx-[cur-nginx-version].tar.gz # Entpacken

Vorbereiten auf das compilieren von nginx

cd nginx-[cur-nginx-version] # In das entpackte Verzeichnis wechseln

Sollte euer Server ein 64bit System sein, fügt folgenden Parameter an das Ende des Befehls unten hinzu:
–with-cpu-opt=amd64

./configure --user=www-data --group=www-data --with-http_image_filter_module --with-http_geoip_module --with-http_xslt_module --with-rtsig_module --with-poll_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --with-file-aio --with-ipv6 --with-http_realip_module --with-http_addition_module --with-select_module --with-http_ssl_module --with-libatomic --with-debug --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --prefix=/srv/nginx

Achtung! Mit diesen Befehl wird nginx nach /srv/nginx installiert.
Wollt ihr nginx woanders installieren, müsst ihr den Parameter –prefix=/srv/nginx anpassen!

Zur Sicherheit sollte nginx nicht unter root laufen. Ich verwende daher den User und die Gruppe www-data.

Compilieren von nginx

make
make install

Hinweis: Das Compilieren kann je nach Geschwindigkeit des Systems einige Minuten dauern!

Aufräumen

cd ../
rm nginx-[cur-nginx-version].tar.gz
rm nginx-[cur-nginx-version] -R

Starten von nginx

cd /srv/nginx/sbin # Zu nginx wechseln
./nginx # nginx starten

Nun sollte nginx laufen. Jedoch unterstützt nginx noch kein PHP.
Deshalb weiter mit dem Tutorial…

Installieren von PHP

apt-get install -y php5-cgi # Installieren von php5-cgi
wget http://ftp.de.debian.org/debian/pool/main/s/spawn-fcgi/spawn-fcgi_1.6.3.orig.tar.gz # Herunterladen
tar spawn-fcgi_*.orig.tar.gz # entpacken
cd spawn-fcgi*
./configure
make
make install

Anlegen und starten der benötigen Startdatei

cd /srv/nginx/sbin # Wechseln in das Inst.verzeichnis von nginx
echo "spawn-fcgi -d /etc/php5/ -f /usr/bin/php-cgi -a 127.0.0.1 -p 9000 -C 2 -F 2 > /dev/null &" > php
chmod +x php
./php

Hinweis: Die Parameter -C und -F geben die Anzahl der Prozesse an, welche die PHP Dateien verarbeiten.

Schlussendlich eine Beispielconfig für /srv/nginx/conf/nginx.conf:
root-dir/public-dir/html-dir: /var/www

[sourcecode language=”plain” collapse=”true”]user www-data;
worker_processes 2;

events {
worker_connections 256;
multi_accept on;
use epoll;
}

http {
sendfile on;
tcp_nopush off;
tcp_nodelay off;
types_hash_max_size 2048;
charset win-utf;
source_charset win-utf;
ignore_invalid_headers on;

include /srv/nginx/conf/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

gzip on;
gzip_disable "msie6";
gzip_static on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types application/x-httpd-php text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

add_header Cache-Control public;
add_header Vary Accept-Encoding;

client_body_buffer_size 64M;
client_header_buffer_size 64M;
client_max_body_size 64M;
large_client_header_buffers 32 32k;
client_body_timeout 30;
client_header_timeout 30;
keepalive_timeout 30;
send_timeout 30;

server {
autoindex on;
listen 80;
server_name patrik.kernstock.net www.patrik.kernstock.net;
location / {
root /var/www;
index index.php index.html index.htm;
fastcgi_read_timeout 1280;
}
location ~ \.(php)$ {
root /var/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
}
}

#Automatische Domains#
# server {
# autoindex on;
# listen 80;
# server_name $host www.$host;
# location / {
# root /var/www/$host;
# index index.php index.html index.htm;
# fastcgi_read_timeout 1280;
# }
# location ~ \.(php|tpl)$ {
# root /var/www/$host;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /var/www/$host/$fastcgi_script_name;
# include fastcgi_params;
# }
# }

}[/sourcecode]

Automatische Installation per Script
Wär sich nginx + PHP automatisch installieren lassen will, kann folgendes Script verwenden:

wget https://patrik.kernstock.net/nginx-install.sh
chmod +x nginx-install.sh
./nginx-install.sh

Ich übernehme keine Haftung!

Danke an q23p.de für die Beispielconfig und die Auflistung der notwendigen Pakete!

Tutorial darf nur mit Copyright und Link zu diesem Artikel kopiert werden!

LCD Display an DockStar


Meine DockStar besitzt nun einen LCD Display mit den wichtigsten Informationen.
Verwende folgenden DPF (Digital Photo Frame = Digitaler Fotorahmen):
http://www.pearl.de/a-HPM1184-5618.shtml bzw. http://www.pearl.de/a-PX1184-5618.shtml
Die Lieferung nach Österreich dauerte 4 Werktage.

So sieht es dann fertig aus:
Bilder

Installieren der notwendigen Pakete
apt-get install libgd2-noxpm
Der Download des Debian Paketes zum Hacken des Displays, kann direkt über den Hersteller oder über meinen Server erfolgen.
Mein Server: https://patrik.kernstock.net/wp-content/uploads/lcd4linux/lcd4linux_0.11.0-svn_armel.deb
Hersteller: http://geekparadise.de/wp-content/uploads/lcd4linux_0.11.0-svn_armel.deb

Herunterladen des Paketes:
wget https://patrik.kernstock.net/wp-content/uploads/lcd4linux/lcd4linux_0.11.0-svn_armel.deb
Installieren des Paketes:
dpkg -i lcd4linux_0.11.0-svn_armel.deb

Hacken des Displays

Hacken des Displays

wget https://patrik.kernstock.net/wp-content/uploads/lcd4linux/dpfhack-0.1alpha.tgz # Herunterladen
cd dpf/src # In den richtigen Ordner wechseln
python hackit.py /dev/sg1 # Let's hack!

Nun ist das Display erfolgreich gehackt. Trennt nun das DPF vom USB und steckt es erneut an. Nun haltet den MENU Knopf ca 2-3 Sekunden lang. Das Display ist nun fertig.

Jetzt benötigen wir noch eine richtige Konfiguration für das Display.
Die Configdatei findet ihr unter:
/etc/lcd4linux.conf
Die Datei lcd4linux.conf muss unbedingt dem Benutzer root zugewiesen sein und die Rechte 600 besitzen!
Dies geht wie folgt:
chown root:root /etc/lcd4linux.conf
chmod 600 /etc/lcd4linux.conf

Wer das gleiche Display wie ich haben möchte, gibt folgende Befehle ein:
Letzte Aktualisierung meiner Config: 24.05.2011 17:00
cd /etc
rm lcd4linux.conf
wget https://patrik.kernstock.net/wp-content/uploads/lcd4linux/lcd4linux.conf
chown root:root lcd4linux.conf
chmod 600 lcd4linux.conf
mkdir /root/lcd
cd /root/lcd
wget https://patrik.kernstock.net/wp-content/uploads/lcd4linux/dockstar-320x240.png

Das Bild dockstar-320×240.png ist der Hintergrund vom Display. Es werden nur PNG-Bilder unterstützt!
Diese Grafik kann zu jeden beliebigen Bild ersetzt werden. Es muss nur das Format beibehalten werden.

Nach jeden Änderungen in lcd4linux.conf muss lcd4linux neugestartet werden:
kill lcd4linux && sleep 1 && lcd4linux
Hersteller des Debian Paketes ist: GeekParadise.de
Ein detailliertes Tutorial findet ihr unter:
http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/
Dort findet ihr unter Punkt 3, wie man lcd4linux automatisch starten lassen kann.

Ich hafte für keine Schäden, Fehler oder Sonstiges!

DockStar FreeAgent mit Debian Lenny/Squeeze


» Seagate FreeAgent Dockstar auf amazon «

USB Datenträger formatieren
Um danach Debian installieren zu können, musst du deinen USB Stick/Festplatte in zwei Partitionen aufteilen.
Eine ext2-Partition (sda1) und eine SWAP-Partition (sda2).

Alternativ kannst du den USB Datenträger nach Abschluss von “Automatisches Firmware-Update deaktivieren” mit der DockStar formatieren:
fdisk /dev/sda
Automatisches Firmware-Update deaktivieren
Die DockStar ist nicht nur eine einfache Dockingstation für USB-Festplatte, sondern kann auch als MiniServer mit Debian Lenny/Squeeze verwendet werden. Dank dem einfachen Installer von Jeff ist die Installation besonders einfach.

Das großes Problem ist, dass nach dem Anschluss an einem Router mit einem Internetzugang, sich die Firmware automatisch aktualisiert und sich daraufhin das root-Passwort ändert.
Deshalb steck die DockStar an einen Router ohne Internetzugang an.
Ist die DockStar fertig gestartet – erkennbar wenn das grüne LED leuchtet und nicht blinkt – könnt ihr euch mit der DockStar über SSH verbinden. Die IP des Gerätes findet man meistens auf der Verwaltungsseite eures Routers, wo der FreeAgent angesteckt ist. Ich verwende das Programm PuTTy um mich zu SSH Servern zu verbinden.

Nachdem du dich verbunden hast, musst du dich an der DockStar anmelden.
Der Benutzername ist root und das Passwort ist stxadmin.
Sollte bereits eine neuere Firmware installiert sein, ist das Passwort meistens ceadmin.

Um Schreibzugriff zum Rootverzeichnis zu bekommen, führe noch folgenden Befehl aus:
mount -o rw,remount /

Bearbeite nun die Datei /etc/init.d/rcS mit dem vi Editor
vi /etc/init.d/rcS
und kommentiere die Zeile /init.d/hbmgr.sh start aus!
(Einfach ein “#” vor den Beginn der Zeile setzen!)

Das auskommentieren der Zeile verhindert, dass beim nächsten Start der DockStar die Firmware aktualisiert wird. Nach dieser Änderung könnt ihr euer Gerät neu starten
/sbin/reboot
und euren Router wieder an das Internet anschließen.
Neustart nicht zwingend notwendig, da du wahrscheinlich sowieso Debian installieren wirst.

Installation von Debian Lenny/Squeeze
Bei der Installation von Debian wird nur ein kleiner Teil des Bootloaders manipuliert. Der Rest des originalen Betriebssystemes der DockStar bleibt unberührt, da das neue Betriebssystem auf einen eigenen USB Stick/Festplatte installiert wird.

Ich würde euch Debian Squeeze empfehlen, da dieses Betriebssystem etwas weniger RAM als Lenny benötigt und man einen aktuelleren Kernel installieren kann, der die Steuerung der LEDs an der DockStar erlaubt. Der Kernel ist mit Debian Lenny nicht kompatibel.

Schließe zuerst einen USB Stick/Festplatte an den USB Anschluss, der dem Stromanschluss am nächsten ist, an.

Installation von Debian Squeeze (meine Empfehlung)
cd /tmp
wget http://jeff.doozan.com/debian/dockstar.debian-squeeze.sh
chmod +x dockstar.debian-squeeze.sh
export PATH=$PATH:/usr/sbin:/sbin
./dockstar.debian-squeeze.sh

Nun wird Debian Squeeze heruntergeladen und am USB Stick installiert.
Empfehle dir nach Abschluss der Installation von Squeeze den neueren Kernel mit LED-Support zu installieren. Genauere Installationsschritte weiter unten.

Installation mit Debian Lenny
Solltest du dich für Debian Lenny entscheiden, führe diese Befehle auf deiner DockStar aus:
cd /tmp
wget http://jeff.doozan.com/debian/dockstar.debian-lenny.sh
chmod +x dockstar.debian-lenny.sh
export PATH=$PATH:/usr/sbin:/sbin
./dockstar.debian-lenny.sh

Nun wird Debian Lenny heruntergeladen und am USB Stick installiert.

Nach erfolgreichen Abschluss der Installation nur mehr die DockStar neustarten.
Danach könnt ihr euch in das neue Betriebssystem mit dem Benutzernamen root und dem Passwort root einloggen. Das Passwort kann dann mit dem Befehl
passwd
geändert werden.

Installation des Kernels mit LED-Support unter Debian Squeeze
Achtung! Der Kernel ist nur mit Debian Squeeze kompatibel!
Sobald du nach der Installation von Debian Squeeze den Server neu gestartet hast, kannst du nun den neuen Kernel herunterladen und installieren.
wget http://193.16.217.9/files/dockstarheavy.deb
dpkg -i --force-overwrite dockstarheavy.deb
mv /boot/uInitrd /boot/org.uInitrd

Nach einer erfolgreichen Installation musst du natürlich die DockStar neustarten.
Dazu tippe:
telinit 0
Trenne danach die DockStar vom Strom und schließe sie dann wieder an.

Die Steuerung der LEDs erfolgt durch Textdateien.
Ordner des grünen LED: /sys/class/leds/dockstar\:green\:health/
Ordner des orangenen LED: /sys/class/leds/dockstar\:orange\:misc/

Beispiele entnommen von anwendungsentwickler.ws
echo default-on > /sys/class/leds/dockstar\:green\:health/trigger # Grün dauerhaft an
echo none > /sys/class/leds/dockstar\:green\:health/trigger # Grün dauerhaft aus
echo heartbeat > /sys/class/leds/dockstar\:orange\:misc/trigger # Oranger Heartbeat

# Orange jeweils eine Sekunde an und eine Sekunde aus
echo timer > /sys/class/leds/dockstar\:orange\:misc/trigger
echo 1000 > /sys/class/leds/dockstar\:orange\:misc/delay_on
echo 1000 > /sys/class/leds/dockstar\:orange\:misc/delay_off

Ein Script des Besitzers von anwendungsentwickler.ws zum einfachen steuern der LEDs: http://snippets.sim4000.de/show/38/

Um die LEDs beim Starten und Herunterfahren der DockStar leuchten zu lassen, kannst du folgenden Code nehmen: http://snippets.sim4000.de/show/39/
nano /etc/init.d/led.sh
« Code einfügen »
update-rc.d led.sh defaults

Verwende gerne den nano Editor, dieser muss auf Squeeze erst via apt-get installiert werden: apt-get install nano
Hinweis: In diesem Script muss der Code zum steuern der LEDs in der Datei /root/dockstarled.sh befinden!

Wer seine DockStar auch mit einen Numpad steuern möchte, würde ich folgende Seite empfehlen inkl. Sourcecode: http://anwendungsentwickler.ws/dockstar_keylistener_20/entry/339/

technische Daten der DockStar:

Ich übernehme keinerlei Verantwortung!

Quellen

Wenn jemand die Anleitung außerhalb meines Blogs verwenden möchte, möge er mich bitte per E-Mail kontaktieren. E-Mail Adresse ist im Impressum vermerkt.