Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Linux
Mitte Dezember 1991 wurde die Version 0.99 unter die GPL gestellt (vorher war Linux nicht frei).
-
-
netstat -i→ip link/ip -s linkarp -a→ip neigh/ip -4 neighifconfig→ip addr/ip -4 addrnetstat -r→ip route/ip -6 routenetstat -a→ss -a/ss -6tar/ss -6 -u -a/ss -4trl
-
root@linux:~# ls -l test.txt -rw-r--r-- 1 root root 527 6. Mär 11:54 test.txt root@linux:~# ls -l --time-style=long-iso test.txt -rw-r--r-- 1 root root 527 2023-03-06 11:54 test.txt
Neuerdings heißt netstat jetzt ss und versteht exakt die gleichen Parameter.
-
- Mit "Rust for Linux" soll es möglich werden, Kernelcode und Kernelmodule in Rust zu schreiben. Linus Torvalds gefällt die Idee, aber er hat noch Einwände.
- Die Entwickler des Projekts "Rust for Linux" haben die technischen Voraussetzungen geschaffen, um Code für den Linux-Kernel in Rust zu schreiben.
-
-
- Microsoft macht Weg frei für exFAT im Linux-Kernel - Do, 29. August 2019, 11:00 Uhr
Linux-Tricks
Trick Nr. 2 Magic SysRQ [ Alt ] + [ Druck ] gedrückt halten und [ R ] [ E ] [ I ] [ S ] [ U ] [ B ] nacheinander drücken, mit kurzen Pausen dazwischen [ R ] = unraw (Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur) [ E ] = term (Sendet ein SIGTERM an alle Prozesse außer Init) [ I ] = kill (Sendet ein SIGKILL an alle Prozesse außer Init) [ S ] = sync (Schreibt die Daten aus dem Kernel-Festplatten-Cache auf die Festplatten) [ U ] = umount (Alle eingehängten Partitionen werden ausgehängt, danach nur-lesbar eingehängt) [ B ] = reboot (Fährt den Rechner sofort herunter und startet den Rechner neu)
Trick Nr. 3 XServer (grafische Oberfläche) neu starten: [ Alt ] + [ Druck ] + [ K ]
Distributionen
- interessante Linux-Distributionen:
-
-
- Clear Linux Project for Intel Architecture, kurz Clear Linux OS ist aber mehr als nur ein Showcase für Intels Architektur, die Distribution ist auch für produktives Arbeiten beim Cloud-Computing ausgelegt. Das Augenmerk lag dabei auf einer optimierten Ausführung des gesamten Spektrums von systemnahen Kernelfunkionen bis hin zu komplexen Applikationen, die den ganzen Betriebssystem-Stack umfassen.
-
- Syllable - Projektziel ist es, eine einfach zu bedienende Distribution zu schaffen, die einem nicht im weg steht und mit der man produktiv ist
- Slackware - ist auf größtmögliche Unix-Ähnlichkeit ausgelegt. Alle Einstellungen am System können vom Nutzer durch Editieren der Konfigurationsdateien vorgenommen werden. Es existieren keine offiziellen distributionsspezifischen Werkzeuge mit grafischer Oberfläche zur Systemkonfiguration. Dies verstieße gegen das KISS-Prinzip.
- Kanotix - mit KDE-Oberfläche - Es ist ein auf Debian beruhendes Linux; es enthält die neuesten wichtigen Pakete und erkennt nach Angaben der Entwickler mehr moderne Hardware als irgend ein anderes heutiges Betriebssystem; es kann als Live-CD nahezu auf jedes Gerät - ohne eine vorherige Treiber-Installation - zugreifen.
-
- spezielle Linux-Distributionen:
-
- Ubuntu bedeutet auf Zulu soviel wie Menschlichkeit (es bezeichnet eine afrikanische Philosophie)
- ZorinOS - eine auf Ubuntu LTS aufbauende Ditribution, das in seiner Bedienung besonders Windows-ähnlich sin will
- Linux Mint (verwendet die Gnome-Desktopumgebung)
- Ubuntu-Basis ⇒ stable
- Debian-Basis (Rolling Release): LMDE ⇒ testing
- Ubuntu-Server + Mate → diese Variante (mit Ubuntu LTS) wird von mir aus Erfahrung wegen der höheren Stabilität bevorzugt
- grafische Desktop-Oberfläche mit Gnome 2 - Anmutung:
- UGR - Ubuntu GNOME Remix (verwendet die Gnome-Desktopumgebung)
- Elive (Enlightenment live)
- Bodhi Linux (verwendet die Enlightenment-Desktopumgebung)
-
- Das neueste Kriegsschiff der US-Navy läuft unter Linux - Die USS Zumwalt, die gerade (Oktober 2013) in den Docks unter Aufsicht des Rüstungskonzerns Raytheon gebaut wird, verlässt sich bei der Datenverarbeitung völlig auf Linux.
- Nobara Project - Nobara (27. Juli 2022) will mit einer modifizierten Version von Fedora Linux, die mit benutzerfreundlichen Korrekturen versehen ist, neue Anwenderschichten gewinnen. Fedora hat den Nimbus, eine Distribution für Entwickler zu sein und ihm fehlen nach Einschätzung der Entwickler beim Nobara Project bei einer Neuinstallation in der Regel alle Pakete von Drittanbietern oder proprietäre Pakete. Deren Fehlen hindern nach ihrer Ansicht einen typischen »Point-and-Click«-Benutzer daran, viele Dinge zum Laufen zu bringen, wenn er sich nicht Zeit für die Suche in der Dokumentation nimmt. Einige der wichtigen Dinge, die in Fedora fehlen, insbesondere im Hinblick auf Spiele, sind WINE-Abhängigkeiten, OBS-Studio, Codec-Pakete von Drittanbietern wie GStreamer, Treiber von Drittanbietern wie NVIDIA.
- http://www.zenwalk.org/ - Ein kleines, schnelles, französisches Slackware-Derivat, in dem die Entwickler den Anwendern die Qual der Wahl ersparen; für jede Aufgabe ist in Zenwalk nur eine Anwendung enthalten.
- Zorin OS - Windows-ähnliche Linux-Distribution
Eine bootfähige ISO-Datei auf einen USB-Stick schreiben
> sudo apt install usb-creator-gtk > usb-creator-gtk
FlatPak - ein alternatives Linux-Repository
Werkzeuge
- FSCK bei jedem Bootvorgang ausführen, unabhängig von der installierten Linux-Ditribution → nur bei "ext"-Dateisystemen, bei "ext4" ist es empfehlenswert
- Upstart (ist eine SysVinit-Alternative)
- Systemd (ist eine SysVinit-Alternative)
WindowManager
- MS-Windows-Like: Linux Mint Cinnamon Edition (oder andere Linux-Distributionen mit Cinnamon oder Mate)
- Apple Mac-Like: elementary OS
Leistungsvergleich (benchmarking)
-
chmod 0755 ~/Downloads/Unigine_Superposition-1.1.run~/Downloads/Unigine_Superposition-1.1.run~/Unigine_Superposition-1.1/Superposition
Benutzer anlegen
so wird ein Benutzer mit dem Namen "Fritz" angelegt und danach kann man ihm noch ein Passwort zuweisen:
root@linux:~# useradd -m -s /bin/bash fritz root@linux:~# passwd fritz
Benutzer zur Gruppe "docker" hinzufügen:
> sudo usermod -aG docker $USER
Hardware-Infos
> lscpu Architecture: amd64 Byte Order: Little Endian Total CPU(s): 12 Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 1 Vendor: GenuineIntel CPU family: 6 Model: 165 Model name: Intel(R) Core(TM) i5-10600T CPU @ 2.40GHz Stepping: 3 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 12M Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cflsh ds acpi mmx fxsr sse sse2 ss htt tm pbe sse3 pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline aes xsave osxsave avx f16c rdrnd fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid fpcsds mpx rdseed adx smap clflushopt intel_pt sgx_lc syscall nx pdpe1gb rdtscp lm lahf_lm lzcnt
System-Informationen zur Hardware auslesen:
> lshw -C system
idmhe
Beschreibung: »Mini Tower«-Rechner
Produkt: OptiPlex 990 ()
Hersteller: Dell Inc.
Version: 01
Seriennummer: XXXXXSX
Breite: 64 bits
Fähigkeiten: smbios-2.6 dmi-2.6 vsyscall32
Konfiguration: administrator_password=disabled boot=normal chassis=mini-tower frontpanel_password=disabled keyboard_password=disabled power-on_password=disabled uuid=AAASACAC-AAOO-105A-BOSE-B3COAFAZ35A4
> lshw -C memory
...
*-bank:1
Beschreibung: DIMM DDR3 Synchron 1333 MHz (0,8 ns)
Produkt: HMT351U6CFR8C-H9
Hersteller: Hynix/Hyundai
Physische ID: 1
Seriennummer: 0XXXXCXX
Steckplatz: ChannelA-DIMM1
Größe: 4GiB
Breite: 64 bits
Takt: 1333MHz (0.8ns)
...
Version der Linux-Distribution
Der Unterschied zwischen /etc/os-release und /etc/lsb-release.
- /etc/lsb-release
DISTRIB_ID=LinuxMint DISTRIB_RELEASE=17.2 DISTRIB_CODENAME=rafaela DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
- /etc/os-release
NAME="Ubuntu" VERSION="14.04.5 LTS, Trusty Tahr" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 14.04.5 LTS" VERSION_ID="14.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
> echo "$(. /etc/os-release ; echo "${VERSION_ID}")"
14.04
Festplatten
die Namen aller Laufwerke anzeigen:
# ls -lha /sys/block/ insgesamt 0 drwxr-xr-x 2 root root 0 Mär 18 13:27 . dr-xr-xr-x 13 root root 0 Mär 18 13:27 .. lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop0 -> ../devices/virtual/block/loop0 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop1 -> ../devices/virtual/block/loop1 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop2 -> ../devices/virtual/block/loop2 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop3 -> ../devices/virtual/block/loop3 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop4 -> ../devices/virtual/block/loop4 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop5 -> ../devices/virtual/block/loop5 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop6 -> ../devices/virtual/block/loop6 lrwxrwxrwx 1 root root 0 Mär 18 13:27 loop7 -> ../devices/virtual/block/loop7 lrwxrwxrwx 1 root root 0 Mär 18 13:27 sda -> ../devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda lrwxrwxrwx 1 root root 0 Mär 18 13:27 sr0 -> ../devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sr0
Die Bezeichnungen aller Laufwerke anzeigen:
# cat /sys/block/*/device/model WDC WD1003FBYZ-0 DVD+-RW GH82N
Bezeichnung des DVD-Laufwerkes ermitteln:
# grep -F DVD /sys/block/*/device/model | awk -F'/' '{print $4}'
sr0
tmpfs - ein Laufwerk im RAM
Wenn man genügend RAM hat, dann kann man sein "/tmp"-Verzeichnis in den RAM verlegen, das beschleunigt die Zugriffsgeschwindigkeit und schont den Datenträger (USB-Stick oder SSD).
vi /etc/fstab
tmpfs /tmp tmpfs nodev,nosuid,size=20% 0 0
An Stelle der relativen Größenangabe "20%" kann man auch eine absolute wie zum Beispiel "2G" angeben.
Will man den Datenträger schonen oder etwas mehr geschwindigkeit rausholen, dann kann man das auch mit der Mountoption "noatime" tun:
LABEL=root / ext4 defaults,noatime 0 0
die richtigen Rechte für das TEMP-Verzeichnis:
> chmod 1777 /tmp > chown root:root /tmp
Lese- und Schreibzugriffe darstellen
will man das Verhältnis zwischen den Lese- und den Schreibzugriffen (iops) auf den Datenträger /dev/sda1 aus den letzten 60 Sekunden ermitteln, dann geht das mit dieser Kommandozeile (das Paket sysstat muss installiert sein: apt install sysstat):
> iostat -dx /dev/sda1 1 60 | fgrep sda1 | awk '{r+=$4;w+=$5} END {print "r / w =",r,"/",w}'
r / w = 1 / 29
Bind-Mount
Bind-Mounts anzeigen
> findmnt | grep "\["
oder
> findmnt | fgrep "["
Auto-Log-Out
Automatisches ausloggen nach einer Stunde Inaktivität. Im allgemeinen reicht es, wenn man eine der genannten Lösungen wählt.
# vi /etc/ssh/sshd_config ... ClientAliveInterval 3600
# echo $TMOUT 3600 # fgrep -HR TMOUT /etc/ /etc/profile.d/autologout.sh:TMOUT=3600 /etc/profile.d/autologout.sh:readonly TMOUT /etc/profile.d/autologout.sh:export TMOUT
# vi /etc/overlayroot.conf ... overlayroot="timeout=0"
Ubuntu-Derivate ohne Sound
Zum Beispiel geben Kubuntu und LinuxMint bei meinem Laptop "Fujitsu S7020" keinen Ton aus den Lautspechern aus, der Kopfhörer dagegen funktioniert prima.
Wie man dabei vorgehen muss, steht hier: http://wiki.ubuntuusers.de/Soundkarten_konfigurieren/HDA
als erstes nachsehen, welches Audio-Gerät verbaut wurde:
> head -n 1 /proc/asound/card0/codec* ==> /proc/asound/card0/codec#0 <== Codec: Realtek ALC260 ==> /proc/asound/card0/codec#1 <== Codec: LSI Si3054
dann sehen wir nach, welche Parameter dieser Treiber benötigt:
> zless /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz
ALC260
======
fujitsu Fujitsu S7020
acer Acer TravelMate
will Will laptops (PB V7900)
replacer Replacer 672V
favorit100 Maxdata Favorit 100XS
basic fixed pin assignment (old default model)
test for testing/debugging purpose, almost all controls can
adjusted. Appearing only when compiled with
$CONFIG_SND_DEBUG=y
auto auto-config reading BIOS (default)
dann den Treiber mit Parameter in die Konfigurationsdatei eintragen:
> echo "options snd-hda-intel model=fujitsu-xa3530" >> /etc/modprobe.d/alsa-base.conf
UMTS
# aptitude install usb-modeswitch modemmanager wvdial ppp # vi /etc/usb_modeswitch.conf # reload udev
Sollten keine /dev/ttyUSB*-Gerätedateien vorhanden sein (meist sind dann nur /dev/ttyACM*-Gerätedateien vorhanden), dann kann man das hier mal ausprobieren:
# modprobe -r airprime # modprobe -r usbserial
…usbserial can't handle HSDPA data rates…
# modprobe option
Blu-ray Disks
-
-
- AnyDVD HD - in der VirtualBox mit
Windows 7funktioniert es auch -
MakeMKV BETA ist ein kommerzieller Konverter, mit dem DVDs und Blu-ray-Disks auf der Festplatte gespeichert werden können. Wenn man einen Film mit relativ wenig Aufwand ansehen will, dann bietet sich die Emulierung der libaacs-/libbdplus-Bibliotheken (siehe direktes Abspielen im Mediaplayer) oder die Streamingmethode an. Die Shareware-Version bietet den vollen Funktionsumfang. Während der Beta-Phase ist das Programm kostenlos und der Testzeitraum von 30 Tagen kann beliebig oft verlängert werden. Nach Beendigung der Beta-Phase muss das Programm für die weitere Nutzung der Blu-ray Funktionalität käuflich erworben werden.
> add-apt-repository ppa:heyarje/makemkv-beta
...
gpg: Schlüssel 19F7E55B von hkp-Server keyserver.ubuntu.com anfordern
gpg: Schlüssel 19F7E55B: Öffentlicher Schlüssel "Launchpad PPA for hjmooses" importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
gpg: importiert: 1 (RSA: 1)
> aptitude update
> aptitude search makemkv
p makemkv-bin - MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can
p makemkv-bin:i386 - MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can
p makemkv-oss - MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can
p makemkv-oss:i386 - MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can
> aptitude install makemkv-bin makemkv-oss
Die folgenden NEUEN Pakete werden zusätzlich installiert:
libc6-i386{a} makemkv-bin makemkv-oss
...
Das Startkommando lautet makemkv.
CD/DVD
kopieren
Eine sehr gutes und vor allem kleines Programm zum DVD's kopieren ist VOBCopy.
Die Installation ist ganz einfach:
# aptitude install vobcopy
CSS-verschlüsselte CD/DVD ansehen
Um kopiergeschützte DVD's am PC ansehen zu können, braucht man die css-Bibliothek.
normalerweise kann man CSS-verschlüsselte CD/DVD so ansehen:
# mplayer dvd://1
oder so:
# totem dvd://1
Sollte das nicht funktionieren, dann muss man noch die CSS-Bibliothek installieren:
libdvdcss zu Fuß installieren (2016)
Paket mit der CSS-Bibliothek installieren:
# aptitude install $(aptitude search libdvdread | awk '{print $2}')
# /usr/share/doc/libdvdread*/install-css.sh
Jetzt den Regional-Code überprüfen (für Deutschland Region 2):
Bei manchen Laufwerken ist ab Werk kein Regionalcode gesetzt, dann lassen sich auf dem Laufwerk keine verschlüsselten DVDs abspielen!
Jetzt den Regional-Code überprüfen und ggf. setzen (für Deutschland Region 2):
# apt install regionset # regionset
die Rechte der Gerätedatei sollten so aussehen:
# # ls -l /dev/cdrom lrwxrwxrwx 1 root root 3 2011-10-09 17:14 /dev/cdrom -> sr0
# ls -l /dev/sr0 brw-rw----+ 1 root cdrom 11, 0 2011-10-09 17:14 /dev/sr0
evtl. müssen noch die Rechte der Gerätedatei richtig gesetzt werden:
# chmod 660 /dev/sr0 # chgrp cdrom /dev/sr0
Jetzt muss der entsprechende Benutzer noch in die Gruppe "cdrom" aufgenommen werden.
libdvdcss zu Fuß mit Ubuntu 18.04 installieren (18. März 2019)
# aptitude search libdvdread p libdvdread-dev p libdvdread4 # aptitude install libdvdread4 # ls -lha /usr/share/doc/libdvdread4 # cat /usr/share/doc/libdvdread4/README.css # aptitude search libdvdcss v libdvdcss-dev v libdvdcss2 # aptitude install libdvdcss2 # dpkg-reconfigure libdvd-pkg
jetzt funktioniert es auch:
# mplayer dvd://1 -dumpstream -dumpfile Die_Lange_Nacht_1.vob MPlayer 1.3.0 (Debian), built with gcc-7 (C) 2000-2016 MPlayer Team do_connect: could not connect to socket connect: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing dvd://1. There are 25 titles on this DVD. There are 1 angles in this DVD title. libdvdread: Attempting to retrieve all CSS keys libdvdread: This can take a _long_ time, please be patient libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000168 libdvdread: Elapsed time 0 ...
nützliches
Monitor
- mpstat - CPU-Status, Hard/Soft Interrupt
- netstat -antp - NIC-Status, Errors, Statistik
- Neuerdings heißt
netstatjetztssund versteht exakt die gleichen Parameter.
- vmstat - VM Page Info, HDD
- lspci - Listet alle Geräte am PCI-Bus auf
- lsusb - Listet alle Geräte am USB-Bus auf
- oprofile - system level profiling, kernel/driver code
- modinfo - Liste der geladenen Module
- sar - collect, report, save system activity information
- iotop - I/O / HDD
- iftop -n - Netzwerk-Bandbreitenmessung
- ifstat - Netzwerk-Bandbreitenmessung
- iptraf - Netzwerk-Bandbreitenmessung
- tcptrack - Netzwerk-Bandbreitenmessung
- slurm - Netzwerk-Bandbreitenmessung
- nload - Netzwerk-Bandbreitenmessung
- ethstatus - Netzwerk-Bandbreitenmessung
- vnstatd -d / vnstat - Netzwerk-Bandbreitenmessung
- ntop - Netzwerk-Bandbreitenmessung
Werkzeuge
- ethtool - View and change Ethernet card settings
- sysctl - View and set /proc/sys settings
- ifconfig - View and set ethX variables
- setpci - View and set pci bus params for device
- netperf - Can run a bunch of different network tests
Kernelparameter
Wenn ein Linux gestartet wurde, kann man die Parameter (wie folgt) auslesen, welche dem Kernel beim booten übergeben wurden:
# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-2.6.32-5-amd64 root=/dev/sda5 ro quiet
Partitionsname ermitteln
Die folgende Kommandozeile ermöglicht es, mit minimalen Mitteln, alle Partitionen im Rechner aufzulisten.
# ls /sys/class/block/*/removable | egrep -v 'loop|ram|dm-' | while read DREMNAME;do ls $(dirname ${DREMNAME})/ | fgrep "$(echo "${DREMNAME}" | awk -F'/' '{print $5}')";done
Die folgende Kommandozeile ermöglicht es, mit minimalen Mitteln, alle Partitionen im Rechner aufzulisten, die auf fest eingebauten Laufwerken liegen. Es werden also keine Partitionen der USB-Stick's bzw. USB-Festplatten angezeigt.
# fgrep -H 0 /sys/class/block/*/removable | egrep -v 'loop|ram|dm-' | while read DREMNAME;do ls $(dirname ${DREMNAME})/ | fgrep "$(echo "${DREMNAME}" | awk -F'/' '{print $5}')";done
USB-Festplatte reseten
Manchmal ist es sinnvoll ein USB-Gerät per Kommandozeile zu reseten.
Zum Beispiel, wenn man die Partitionstabelle von einer USB-Platte (in diesem Beispiel ist es eine "Western Digital My Book") ändert und der Rechner etwas weiter weg steht,
so das man nicht mal eben den USB-Stecker abziehen und wieder anstecken kann.
In soeinem Fall geht das wie folgt.
Als erstes brauchen wir die idVendor und idProduct:
> lsusb | fgrep 'My Book' Bus 001 Device 004: ID 1058:1105 Western Digital Technologies, Inc. My Book Studio II
Hier können wir lesen, dass die IDs "1058:1105" lauten.
Jetzt brauchen wir noch ein kleinen Skript, mit dem wir das dazu passende Verzeichnis in "/sys/" finden:
> vi usb_vendor-product-ID-paar.sh
#!/bin/bash
for X in /sys/bus/usb/devices/*; do
echo "$(cat "${X}/idVendor" 2>/dev/null):$(cat "${X}/idProduct" 2>/dev/null)" | fgrep "${1}" && echo -e "echo 0 > ${X}/authorized\necho 1 > ${X}/authorized";
done
jetzt starten wir das Skript mit den IDs aus der lspci-Ausgabe als Parameter:
> bash usb_vendor-product-ID-paar.sh 1058:1105 1058:1105 echo 0 > /sys/bus/usb/devices/1-1/authorized echo 0 > /sys/bus/usb/devices/1-1/authorized
zum restarten der USB-Festplatte geben wir nun diese Kommandos ein:
> echo 0 > /sys/bus/usb/devices/1-1/authorized > echo 1 > /sys/bus/usb/devices/1-1/authorized
sollte nichts funktionieren, dann gibt es noch dieses Miniprogramm zum selber kompilieren (http://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line):
> links -no-g -source "http://marc.info/?l=linux-usb&m=121459435621262&q=p3" > usbreset.c > cc usbreset.c -o usbreset > chmod 0755 usbreset > lsusb Bus 002 Device 003: ID 0fe9:9010 DVICO > ./usbreset /dev/bus/usb/002/003
> cat usbreset.c
/* usbreset -- send a USB port reset to a USB device */
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/usbdevice_fs.h>
int main(int argc, char **argv)
{
const char *filename;
int fd;
int rc;
if (argc != 2) {
fprintf(stderr, "Usage: usbreset device-filename\n");
return 1;
}
filename = argv[1];
fd = open(filename, O_WRONLY);
if (fd < 0) {
perror("Error opening output file");
return 1;
}
printf("Resetting USB device %s\n", filename);
rc = ioctl(fd, USBDEVFS_RESET, 0);
if (rc < 0) {
perror("Error in ioctl");
return 1;
}
printf("Reset successful\n");
close(fd);
return 0;
}
rescan USB-Bus
Alle hier gelisteten Kommandos sind ungetestet!
mal probieren (http://linux.die.net/man/8/usbview):
> usbview
der einfache Aufruf von lsusb scannt den USB-Bus bereits (ab "Linux kernel 2.3.15"):
> lsusb
oder
> /etc/rc.d/rc.scanluns oder > /etc/rc.d/rc.udev restart oder > rescan-scsi-bus -l
Sollte das nicht den gewünschten Erfolg bringen, dann könnte man noch dieses Kommando ausprobieren (https://lists.ubuntu.com/archives/ubuntu-devel/2009-January/027260.html):
> udevadm trigger oder > udevadm trigger --action=add --type=subsystems > udevadm trigger --action=add --type=devices > udevadm trigger --action=change --type=subsystems > udevadm trigger --action=change --type=devices
als letztes könnte man auch die USB-Module neu laden (http://www.cyberciti.biz/faq/usb-drive-not-being-recognized-under-linux/):
> rmmod usb-storage ; rmmod usb-ohci ; rmmod usb-uhci ; sleep 1 ; modprobe usb-uhci ; modprobe usb-ohci ; modprobe usb-storage
SysRQ
Schonmal das Problem gehabt das sich ein Linux so aufgehängt hat das keine Tastatur oder Mauseingaben gemacht werden können, geschweige STRG-ALT-ENTF unter der Console zum gewünschtem Erfolg führt?
Hier die Lösung
In Linux gibt es bestimmte Tastaturkombinationen (SysRQ Shortcuts) die immer funktionieren sofern folgender Parameter gesetzt ist:
# echo "1" > /proc/sys/kernel/sysrq
Die rettende Befehlsfolge
Mit dieser Folge sollte man seine Daten retten und den Server/Rechner sauber herunterfahren können.
- Alt + Druck + r – nimmt X die Kontrolle von Maus und Tastatur
- Alt + Druck + s – Daten aus dem Festplatten-Cache werden geschrieben (emergency sync)
- Alt + Druck + e – Prozesse werden sauber beendet (SIGTERM) / ein wenig warten damit die Prozesse Zeit haben sich zu beenden
- Alt + Druck + i – Prozesse die sich aufgehangen haben werden beendet (SIGKILL)
- Alt + Druck + u – umount aller gemounteten Dateisysteme
- Alt + Druck + b – neustart
Alle SysRQ-Befehle
Hier eine Übersicht über alle verfügbaren Befehle.
- Alt + Druck + r – nimmt X die Kontrolle von Maus und Tastatur (unRaw)
- Alt + Druck + o – System wird ausgeschaltet (powerOff)
- Alt + Druck + s – Daten aus dem Festplatten-Cache werden geschrieben (Sync)
- Alt + Druck + u – umount aller gemounteten Dateisysteme (Unmount)
- Alt + Druck + b – reboot (reBoot)
- Alt + Druck + m – listet Speicherinfos in der Konsole auf (showMem)
- Alt + Druck + t – listet alle Prozesse in der Konsole auf (showTasks)
- Alt + Druck + k – killt Prozesse auf dem Terminal (saK)
- Alt + Druck + e – sendet ein SIGTERM an alle Prozesse, ausser Init (tErm)
- Alt + Druck + i – sendet SIGKILL zu allen Prozessen, ausser Init (kIll)
- Alt + Druck + c – macht ein Dump (Crashdump)
- Alt + Druck + w – listet alle blockierten Prozesse in der Konsole auf(shoW-blocked-tasks)
- Alt + Druck + q – listet alle Timer in der Konsole auf (show-all-timers(Q))
CPU's zählen
physikalische Anzahl der CPU's im System zählen
In Linux (2.6.x - Kernel) kann man wie folgt die im System steckenden CPU's zählen:
# ls -1d /sys/devices/system/cpu/cpu[0-9]* | wc -l 4
physikalische Anzahl der CPU-Kerne anzeigen
# fgrep 'cpu cores' /proc/cpuinfo cpu cores : 4 cpu cores : 4 cpu cores : 4 cpu cores : 4
Anzahl aller Kerne im System zählen
# fgrep 'cpu cores' /proc/cpuinfo | awk '{z=$4;s+=z}END{print s}'
16
Anzahl der CPU's
# awk '/core id/ {s=$NF}END{print s+1}' /proc/cpuinfo
4
IP-Forward
abschalten
# vi /etc/sysctl.conf net.ipv4.ip_forward = 0
oder
# vi /etc/sysctl.d/weiterleitung.conf net.ipv4.ip_forward = 0
oder temporär:
# echo "0" > /proc/sys/net/ipv4/ip_forward
Firewall-Regeln
Bridge
USB-Stick unter Linux formatieren
USB-Stick mit FAT formatieren
FAT32:
# mkfs -t vfat -F 32 /dev/sdc1 # mkdosfs -F 32 /dev/sdc1
FAT16:
# mkfs -t vfat -F 16 /dev/sdc1 # mkdosfs -F 16 /dev/sdc1
FAT12:
# mkfs -t vfat -F 12 /dev/sdc1 # mkdosfs -F 12 /dev/sdc1
USB-Stick mit EXT4 formatieren
# fdisk /dev/sdc Command (m for help): p Disk /dev/sdc: 32.2 GB, 32161923072 bytes 55 heads, 55 sectors/track, 20765 cylinders, total 62816256 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x04030201 Device Boot Start End Blocks Id System /dev/sdc1 51304 62816255 31382476 83 Linux Command (m for help): q
# mkfs -D -b 1024 -t ext4 -L root /dev/sdc1
kurzer Dateisystemvergleich
| Dateisysteme | Vorteile | Nachteile |
|---|---|---|
| ext3 | sehr verbreitet | erfordert in regelmäßigen Abständen einen Dateisystem-Check; Dateisystem-Check ist sehr langsam; Plattenkapazität wird schlecht ausgenutzt |
| ext4 | etwas schneller und robuster gegen Hardwaredefekte als ext3 | erfordert in regelmäßigen Abständen einen Dateisystem-Check; Dateisystem-Check ist sehr schnell; Plattenkapazität wird schlecht ausgenutzt; etwas höheres Daten-Risiko als ext3 bei Systemausfall |
| xfs | schnellstes Dateisystem unter Linux; es fragmentiert nicht; kann auf identischer Partition 15% mehr Daten speichern als ext3 | extrem hohes Daten-Risiko bei Systemausfall |
| jfs | fast so schnell wie xfs; vergleichbare Datensicherheit wie ext3; Dateisystem-Check ist sehr schnell; kann auf identischer Partition 15% mehr Daten speichern als ext3 | geringere Verbreitung als ext* und xfs |
Probleme
manchmal gibt es mit einigen Systemen den folgenden Fehler:
NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s!
einige Leute haben das Problem mit diesen Parametern umgehen können (https://ubuntuforums.org/showthread.php?t=2205211):
acpi=off noapic nolapic
andere haben es behoben, in dem sie dieses Paket installerten:
intel-microcode
