Debian-Tipps
Siehe oldCt:Debian
Allgemeines
- Debian ist eine weit verbreitete Linux-Distribution, die auch Grundlage vieler anderer Distributionen ist (z.B. Ubuntu).
- Die aktuelle "unstable" Version heißt sid. Die "testing" jessie (Debian 8.0), die aktuell stabile Version ist Debian 7.0 Wheezy.
- Die alte noch stabile Version von Debian, die 6.0, heißt Squeeze. Die Vorversion 5.0 heißt Lenny.
- Die alte Version 4.0 heißt Etch und findet sich weiterhin in den Archiven.
Einzelne Versionen
Debian 8.0 Jessie
Debian Jessie hat teilweise noch Probleme mit der Tastatur. Siehe Linux-Tipps#Tastatur
Außerdem gibt es - jedenfalls im April 2014 - noch Probleme beim Erkennen des Einlegens von Wechselmedien wie Digitalkameras, USB-Sticks, CD-ROMs etc.
Installation
Mini Server Installation
Installation über PXE
- Herunterladen von netboot.tar.gz
- Auspacken des Archivs auf einem Windows-Server (z.B. mit Cygwin-tar):
tar -xf netboot.tar.gz
- Kopieren von
debian-installer/i386/pxelinux.0
unddebian-installer/i386/pxelinux.cfg
in das Verzeichnis, in dem sich auch das Verzeichnisdebian-installer
befindet. - Einrichten der DHCP- und TFTP-Server wie bei Installation von OpenSuse über PXE
- Starten des Zielrechners
Installation von einem anderen Linux aus
Debian lässt sich wie Ubuntu mittels debootstrap
auch von einem anderen laufenden Linux (ohne Booten von CD oder Netzwerkkarte) aus installieren. Nach Installation des Pakets debootstrap
findet man im Pfad /usr/share/debootstrap/scripts/
die Distributionen bzw. deren -Versionen, die debootstrap
unterstützt.
Zunächst muss man eine Partition sowie eine Swap-Partition erstellen (fdisk oder parted).
Dann erstellt man eine chroot-Umgebung und geht die Befehle entsprechend dieser Anleitung (oder dieser) durch (tasksel install standard hat bei mir allerdings nicht funktioniert).
Nach dem Neustart (als root
ohne Passwort einloggen) kommen Feinheiten:
- Root-Passwort festlegen:
passwd
- Neuen Benutzer hinzufügen:
adduser einBenutzer
- Gnome installieren
aptitude install gnome
Weitere Anleitungen:
Zusätzliche Pakete für HTPC mit Debian Stretch
Die Paketquellen von Debian Stretch sollten neben main auch contrib und non-free enthalten. Folgende Pakete mit deren Abhängigkeiten empfehlen sich für einen Heim-PC, der auch als HTPC eingesetzt werden soll:
- syslinux-utils - für gethostip
- ssh - damit auch von anderen Geräten auf die shell des HTPC zugegriffen werden kann
- joe - ein WordStar-ähnlicher Editor für die shell
- bash-completion
- man
- firmware-iwlwifi - fürs Wifi des NUC6i3SYH
- cinnamon-desktop
- fonts-tlwg-sawasdee oder besser alle fonts-tlwg-* - schöne Fonts wie Sawasdee oder Purisa
- hplip (oder task-print-server) - aktuelle Treiber für HP-Drucker
- docker.io - um neue Dienste auszuprobieren
- tvheadend - für den Fernsehempfang - eigenes Tvheadend-Repository für Debian Stretch passt auch das "Release" für Debian Jessie
- kodi - das frühere XBMC
- [ https://wiki.debian.org/CDDVD#Video_DVD libdvdcss2 ] zum Abspielen verschlüsselter CDs
Installation einzelner Softwarepakete
- Empfohlen wird der Einsatz von
aptitude
gegenüberapt-get
, weil nur aptitude bei der Deinstallation auch vormals nur wegen der Abhängigkeit zum deinstallierten Paket installierte Pakete wieder deinstalliert.[1]
- Zur Überprüfung der Vertrauenswürdigkeit der Paketquellen siehe die Dokumentation von apt-secure.
Sound
Mit
speaker-test
kann festgestellt werden, ob die Lautsprecher noch funktionieren. Wenn nicht hilft vielleicht
alsactl init
oder
amixer
Sony VAIO PCG-Z600RE
Bei dem etwas älteren Laptop Sony VAIO PCG-Z600RE lässt sich auch Debian 6.0 Squeeze installieren.
Zu beachten ist dabei bei Betrieb eines ebenfalls älteren WLAN-USB-Stick von Sitecom, dass auch die dazu gehörige Firmware installiert ist. (non-free - Zweig in /etc/apt/sources.list
hinzufügen und
aptitude install zd1211-firmware
Für den integrierten Netzwerkadapter braucht man ab Kernel 2.6.29 zusätzlich das Paket linux-firmware (inkl. linux-firmware-non-free):[2]
aptitude install linux-firmware
Wenn man die Netzwerk-Interfaces selbst verwaltet (in /etc/network/interfaces
),
# cat /etc/network/interfaces auto lo iface lo inet loopback
auto eth0 iface eth0 inet dhcp address 192.168.0.20 netmask 255.255.255.0 gateway 192.168.0.1
auto wlan0 address 192.168.2.22 gateway 192.168.2.1 wireless-key a1_usw wireless-essid SSID
dann ist es sinnvoll, den Networkmanager zu deinstallieren (denn Gnome-Anwendungen wie Evolution bleiben im Offline-Modus, wenn der Network-Manager keine eigenen Netzwerk-Verbindungen herstellt:[3]
aptitude remove network-manager-gnome network-manager
Für den Sound findet sich hier die Anleitung für das Yamaha-Device. Unter XFCE muss man noch zusätzlich das Paket gstreamer0.10-alsa
installieren.
Bei Problemen mit Linux kann auch zu BSD gewechselt werden.
Weblinks
Konfiguration
Spracheinstellungen
- In
/etc/locale.gen
die Raute vor der gewünschten Sprache entfernen locale-gen
laufen lassen- Mit
locale
testen
Anmeldemanager
Um im Gnome-Anmeldemanager gdm einen Benutzer ohne Passworteingabe und sonstige Interaktionen anzumelden, muss unter Einstellungen->Systemverwaltung->Anmeldefenster auf dem Reiter Sicherheit sowohl
- Automatisch anmelden
- Zeitgesteuert anmelden
mit einem Häkchen versehen werden.
SSH-Server
Wenn der SSH-Server nicht startet, hilft evtl. folgender Befehl:[4]
cd /sbin ln -s start-stop-daemon.REAL start-stop-daemon
Sudo
Sudo einrichten
Sudo bietet gegenüber dem Anmelden als Root eine Menge Sicherheitsvorteile[5].
Neben der Installation des Pakets sudo
muss noch mit
adduser user sudo
der privilegierte Nutzer user der Gruppe sudo
hinzugefügt werden. Die Privilegierung erhält er nach dem nächsten Anmelden.
Sinnvollerweise gibt man der Gruppe sudo auch entsprechende Rechte in /etc/sudoers
oder ggf. in /etc/sudoers.d/XYZ
(Achtung: die mit einer Raute (#) versehene Include-Anweisung in /etc/sudoers
darf nicht entfernt werden):
%sudo ALL=(ALL:ALL) ALL
Wenn die Benutzer der sudo-Gruppe nicht einmal ein Passwort eingeben müssen sollen (Sicherheitsrisiko!), heißt die Zeile:
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Sudo Troubleshooting
Wenn die Meldung sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben erscheint (z.B. in einer chroot-Umgebung), hilft evtl. die Option "-S" bzw "--stdin", z.B.:
sudo -S aptitude
XFCE
Siehe XFCE
Cinnamon
Zur Installation von Cinnamon in Debian 8 Testing Jessie (nicht aber in Debian 9 Unstable Sid) ist zur Installation von Cinnamon das Einbinden des Linux Mint-Repositorys notwendig. Dazu erstellt man eine Datei /etc/apt/sources.list.d/linuxmint.list
mit folgendem Inhalt:
deb http:/packages.linuxmint.com qiana main import backport upstream
Allerdings hat dies bei mir NICHT funktioniert, da Cinnamon Abhängigkeiten hatte, die mein Jessie-System nicht erfüllen konnte (Stand: 24.8.2014).
Samba
Für die graphische Einrichtung von Samba(bzw. Windows-)Freigaben bietet sich gadmin-samba
an:
sudo aptitude install gadmin-samba menu-l10n winbind
Für den XFCE-Dateimanager Thunar kann man das Einrichten von Smaba-Freigaben händisch nachrüsten. Auch ein entsprechendes Thunar-Plugin befindet sich in der Entwicklung.
Will man darauf nicht warten, kann man unter XFCE auch den Gnome-Dateimanager Nautilus verwenden:
sudo aptitude install nautilus nautilus-share
Zeroconf
Apples Bonjour-Dienst, um verschiedene Geräte in einem Heimnetzwerk zu erkennen, nennt sich unter Linux Zeroconf bzw. Avahi. Zu installieren ist er mit
sudo aptitude install avahi avahi-discover
Mit dem graphischen GUI-Programm
avahi-discover
kann man sich die verfügbaren Geräte und deren Dienste anzeigen lassen. Spätestens nach Installation von avahi-discover sollten Netzwerkdrucker im Einstellungen -> Druckeinstellungen -> Hinzufügen -> Drucker automatisch angezeigt werden.
SFTP/SSH als Bonjour-Dienst
Um einen SSH/SFTP-Dienst in Avahi zu annoncieren, erstellt man erstens eine Datei[6] /etc/avahi/services/ssh.service
mit folgendem Inhalt:
<?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h SSH</name> <service> <type>_ssh._tcp</type> <port>22</port> </service> </service-group>
und eine Datei /etc/avahi/services/sftp.service
mit folgendem Inhalt:[7]
<?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h SFTP</name> <service> <type>_sftp-ssh._tcp</type> <port>22</port> </service> </service-group>
Dann muss man noch den zeroconf-Daemon neu starten:
sudo service avahi-daemon restart
Auf dem Client muss man ggf. den Serverschlüssel des Rechners RECHNER.local (RECHNER muss durch den Namen des Rechners, auf dem der Dienst zur Verfügung gestellt wird, ersetzt werden) löschen, wenn der Zielrechner ein neues Betriebssystem bekommen hat (Fehlermeldung z.B. "Einhängen des Ortes nicht möglich."):
ssh-keygen -R RECHNER.local
Im Mime-Typ-Editor (in den Einstellungen) evince
oder okular
als Anzeigeanwendung für Typ application/pdf
auswählen.
Möglicherweise will man auch noch Adobe Reader installieren.
Als Drucker zum Drucken in PDF kann man das Paket cups-pdf
installieren:
sudo aptitude install cups-pdf
Scans
Siehe OCR
Die angeblich beste Texterkennung unter Linux bieten Tesseract und Cuneiform.
Für Cuneiform gibt es das graphische Frontend YAGF.
Java
Siehe Java
Die OpenJDK-Version von Java stellt mit IcedTea auch ein Plugin zum Ausführen von Applets im Browser zur Verfügung:
aptitude install icedtea-plugin
Zusätzlich gibt es auch einen Player von Java Web Start-Anwendungen (mit Endung .jnlp):
aptitude install icedtea-netx
Flash
Um Adobe Flash zu aktivieren, müssen die Paketquellen neben main
auch contrib
und non-free
enthalten. Dann muss über den Lader Adobe Flash installiert werden:
aptitude install flashplugin-installer
Browser
Neben dem Firefox-Derivat Iceweasel bietet sich unter Debian auch der kommerzielle, aber kostenlose Browser Opera an, der unter Linux auch noch den Opera Mail-Client enthält.
Unterhaltung
Angebote der öffentlichen Fernsehsender können über die Mediathek über das Internet angeschaut werden.
aptitude install mediathekview
Pakete
Allgemeine Tipps zur Paketverwaltung
Downgrade auf ein bestimmtes Paket
Siehe
Pakete-Selbstbau
- Hilfreich beim Pakete-Selbstbau sind die
debhelper
-Skripte; siehe
man debhelper
- Nach Installation des Pakets
dh-make
kann mit folgendem Befehl ein Skelett eines Pakets erzeugt werden:
dh_make --packagename paketname_0.1 --createorig
- https://askubuntu.com/questions/1345/what-is-the-simplest-debian-packaging-guide
- Paket mit Shell-Skript erzeugen
- FAQ zu Debian-Paketen
- Debian-Paket erstellen (auch mit md5sum)
- Debian-Paket erstellen (auch zur Namenskonvention)
- Common Debian Build Service
- Hello-World-Debian-Paket, ein Tutorial
- How to create a Debian/Ubuntu package (.deb) manually
- Inside Hello World Package, ein umfangreiches Tutorial mit Beschreibung
- Debian Paket FAQ
- Debian-Paketverwaltung
- Tools zur Erstellung von Paketen
- Paketbaurichtlinien
- Debian-Paket-HowTo
- Erklärung u.a. der Bedeutung einiger "control"-Einstellungen
- Debian-Package-Build with dh_make
Meta-Paket
mittels equivs
Das Equivs-Paket installieren:
sudo aptitude install equivs
Control-Datei anlegen:
equivs-control meinpaket
Control-Datei bearbeiten, z.B. mit joe
joe meinpaket
.deb erzeugen:
equivs-build meinpaket
Nun geht's ans testen. Paket installieren:
dpkg -i meinpaket_1_0.deb
Abhängigkeiten auflösen mit
aptitude install -f
Jetzt müsste es laufen.
Links
Meta-Pakete sind Pakete, die keinen eigenen Inhalt haben, sondern bei ihrer Installation die Installation von Abhängigkeiten erzwingen:
Anleitungen:
- http://ubuntuforums.org/showthread.php?t=83646
- Debian-HowTo for Meta-Packages
- Meta-Pakete unter Ubuntu und Erstellung mittels equivs
- Meta-Paket mittels equivs-control
- Metapaket mit postinst-Skript
Einfaches Paket mit einem Skript
Paket dh-make
installieren
aptitude install dh-make
Grundstruktur
Um ein Paket PAKET zu erstellen
mkdir -p ~/pkg/PAKET-0.1 cd ~/pkg/PAKET-0.1 dh_make -e name@email.de --packagename PAKET --single --native --copyright=gpl
Kontrolldateien
pkg/PAKET-0.1/debian/control
- Architektur
Architecture:all
- Section
Section: misc
- Leerzeile
- Packagename
Package: PAKET
- Eintragen von Abhängigkeiten
Depends: NOETIGES_PAKET, ... Suggests: LIEBES_PAKET, ...
- Beschreibung
Description: Kurzbeschreibung Die Absätze der Langbeschreibung beginnen jeweils mit einem Leerzeichen.
- Siehe die Beschreibungen der Kontrollfelder bei Ubuntu.
pkg/PAKET/debian/copyright
Insbesondere Email ist anzupassen, wenn man nicht vor dem Aufruf von dh_make die Variable DEBEMAIL
exportiert hat
export DEBEMAIL=user@domain.com
pkg/PAKET/debian/changelog
- Evtl. Anheben der Versionsnummer
- Das Tool
dch
kann bei Veränderungen der changelog helfen
Dateien entfernen
- Entfernen von README.Debian
rm ~/pkg/PAKET/debian/README.debian
- Entfernen von Beispieldateien
rm ~/pkg/PAKET/debian/*.ex
Optionales Erstellen eines Skripts
Skript erstellen
cd ~/pkg/PAKET-0.1 mkdir bin echo -e '#!/bin/bash\necho -e "Hallo $USER,\\nDein $0"' > bin/PAKET.sh chmod a+x bin/PAKET.sh
Skript zur Installation anmelden
Das Skript und sein Installationsordner müssen noch in der Datei debian/install
(noch zu erzeugen) eingetragen werden
bin/PAKET.sh usr/bin/
Quellarchiv bauen
tar -czf ../PAKET-0.1.tar.gz bin/
Paketbau
debuild -us -uc
Mit diesem Befehl erhält man ein unsigniertes Paket im übergeordneten Verzeichnis (~/pkg). Die beiden Optionen können auch weggelassen werden, wenn man einen GPG-Key hat. Den erzeugt man mit:
gpg --gen-key
Mit
gpg --list-keys
lassen sich die vorhandenen Schlüssel anzeigen.
Links
Siehe
- Paket mit einem Skript
- Paket mit Python-Skript
- Skript-Pakete, hier wird zunächst das Skript in einen Tar-Ball verpackt
- Anleitung zur Erstellung eines "Hello World"-Skripts, inkl. Eintrag im Menü. Arbeitet mit
dpkg -b
. - Skript-Paket (runterscrollen zur ersten Antwort)
Paket mit einem kleinen C++-Programm
debconf zum Konfigurieren
Mittels debconf können während des Installationsprozess Angaben vom Benutzer eingefordert werden.
Siehe
- Ausführliche Anleitung zum Nutzen von Debconf in eigenen Scripts
- https://www.leaseweb.com/labs/2013/06/creating-custom-debian-packages/
Tools
- FPM ist ein Tool zur einfachen Erstellung von .rpm und .deb-Archiven
Eigenes Paket-Repository
Dienste
Bluetooth
- Siehe auch Bluetooth-Tipps
Computer als Obex Push Server
Computer soll Bilder vom Handy empfangen können:
- Im Gnome Bluetooth Manager (Icon auf der Startleiste) eigenen Computer als Bluetooth sichtbar machen
- Installieren von obexpushd:
apt-get install obexpushd
- OBEX Push Server anmelden
sdptool add OPUSH
- OBEX Push Server starten
obexpushd -B
Pairen eines anderen Computers/Handys
- Suchen des anderen Geräts mit
hcitool scan
- Schauen ob es OBEX File Transfer unterstützt (MAC-Adresse vom
hcitool scan
:
sdptool browse 10:1E:1D:17:19:E4
- Auflisten des Austauschordners des anderen Geräts:
obexftp -b 10:1E:1D:17:19:E4 -l
- Zunächst wird auf dem anderen Gerät nach einer PIN (frei wählbar) gefragt
- Dann blinkt der Gnome Bluetooth Manager (Icon auf der Startleiste); beim Klicken auf das Icon wird man auch hier nach der PIN gefragt. Dieselbe PIN eingeben. Fertig!
Weblinks
Anwendungen
Iceweasel aka Firefox
Debian nutzt aus lizenzrechtlichen Gründen den Fork Iceweasel von Firefox.
Wer unter Debian 8.0 Jessie eine aktuelle Version des Iceweasel will sollte eine /etc/apt/sources.list.d/iceweasel.list
-Datei mit folgendem Inhalt anlegen:[8]
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
Dazu sollte noch der Archiv-Key installiert werden:
wget -O - http://deb.opera.com/archive.key http://mozilla.debian.net/archive.asc | apt-key add -
Danach
aptitude update aptitude install iceweasel iceweasel-l10n-de
Opera
- Siehe auch Opera.
- Installation von Opera übers Package-Management (siehe auch Opera Knowledge Base)
- Java für Opera
OpenOffice
- Weitere Tipps zur Installation von OpenOffice auf Debian findet sich Debian-Wiki.
- Zur Installation der neuesten Version siehe das OOo-Wiki.
MediaWiki
- ↑ http://www.skhor.de/node/324
- ↑ http://linux.koolsolutions.com/2009/05/11/tip-debian-linux-kernel-firmware-issues-ethernet-drivers-missing/
- ↑ http://www.dathoschy.org/?p=19
- ↑ Siehe http://forums.debian.net/viewtopic.php?f=17&t=103646
- ↑ Siehe https://wiki.debian.org/sudo
- ↑ Siehe http://holyarmy.org/2008/01/advertising-linux-services-via-avahibonjour/
- ↑ Vgl. http://askubuntu.com/questions/460371/trouble-using-ssh-and-avahi
- ↑ Siehe http://debianforum.de/forum/viewtopic.php?f=29&t=144623 oder http://unix.stackexchange.com/questions/98591/on-debian-testing-how-to-get-a-recent-iceweasel-release-non-esr-version-witho .