Was für ein Jahr für Linux

Die Linux Foundation lässt in einem Video das dann doch recht bewegte Jahr für Linux Revue passieren.

“Gefeiert” wird unter anderem der Umsatz von einer Milliard Dollar bei Redhat oder das Android, Chromebook und Kindle, welche ja mit Linux laufen oder darauf aufbauen, immer mehr Verbreitung finden. Aber seht selbst.

Ich bin mal gespannt, ob mit dem Erscheinen von Steam die Linux Foundation nächstes Jahr auch das Jahr von Linux auf dem Desktop feiern kann. SCNR :D

Entpacken unter Linux leicht gemacht

Geht es euch auch so, dass ihr euch nicht merken könnt, mit welchen Parametern man z. B. ein tar-Archiv entpackt? Also mir schon. Deswegen habe ich mir unter der ZSH diverse Aliase angelegt (z. B. untar welcher tar -xvf ausführt) Heute habe ich eine Alternative dazu gefunden. Dtrx (do the right extraction).

Das Tool entpackt zum Beispiel tar, zip, cpio, deb, rpm, gem, 7z, cab, lzh, rar, gz, bz2, lzma, xz, sowie diverse exe- und Installshield-Dateien und Windows-Cabinetdateien. Hierzu z. B. einfach dtrx test.tar ausführen und fertig. Die Dateirechte werden dabei so geändert, dass man als Nutzer lesend und schreibend auf die entpacktend Dateien zugreifen kann. Alle anderen Rechte bleiben unangetastet. Sollte sich ein Archiv im zu entpackendem Archiv befinden, wird dies auch mit entpackt. Die Verzeichnisstruktur wird beim Entpacken ebenfalls berücksichtigt.

Informationen über Blockgeräte anzeigen

Heute bin ich mal wieder über ein Tool gestolpert, dass ich kurz vorstellen will. Es handelt sich hierbei um lsblk.

Führt man den Befehl ohne Parameter aus, erhält man beispielsweise folgende Ausgabe.

[root@netbook ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298,1G 0 disk
├─sda1 8:1 0 94,1M 0 part /boot
└─sda2 8:2 0 298G 0 part
└─main (dm-0) 254:0 0 298G 0 crypt
├─main-root (dm-1) 254:1 0 30G 0 lvm /
├─main-swap (dm-2) 254:2 0 16G 0 lvm [SWAP]
└─main-home (dm-3) 254:3 0 252G 0 lvm /home

Das ganze lässt sich über diverse Parameter noch ziemlich erweitern bzw. eingrenzen. Mit dem Parameter -f kann man sich beispielsweise noch die UUID anzeigen lassen. Mehr erfährt man in der Manpage.

[root@netbook ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 boot f2859c78-5073-4134-8792-337d944ca37e /boot
└─sda2 crypto_LUKS a8751c65-3549-4f75-8d42-399915c93ccf
└─main (dm-0) LVM2_member fNkm7V-hkpi-4sP7-H54e-5qod-GelW-zRwEz7
├─main-root (dm-1) ext4 root 61ce4471-67bc-4a18-9c80-0a75c075e899 /
├─main-swap (dm-2) swap swap 3cbfb365-e6c6-4bd1-8459-d04ed7c7858e [SWAP]
└─main-home (dm-3) ext4 home 1c4bf4c8-8e2c-444a-8121-beb54e48202a /home

Lsblk gibt die Informationen übrigens auch aus, wenn die Partitionstabelle nicht gültig ist.

Meine Konfigurationsdatei von nano

Bis Ende des Jahres will ich diverse Konfigurationsdateien anpassen und ggf. aufräumen. Bei dieser Gelegenheit werde ich diese dann veröffentlichen. Heute habe ich mit nano angefangen. Nano ist mein bevorzugter Editor wenn ich keine grafische Oberfläche zur Verfügung habe oder ich einfach keine Lust habe größere Geschütze wie Bluefish zu starten.

Das ist nun dabei herausgekommen.

## Sample initialization file for GNU nano.
##
## Please note that you must have configured nano with --enable-nanorc
## for this file to be read! Also note that this file should not be in
## DOS or Mac format, and that characters specially interpreted by the
## shell should not be escaped here.
##
## To make sure a value is disabled, use "unset ".
##
## For the options that take parameters, the default value is given.
## Other options are unset by default.
##
## Quotes inside string parameters don't have to be escaped with
## backslashes. The last double quote in the string will be treated as
## its end. For example, for the "brackets" option, ""')>]}" will match
## ", ', ), >, ], and }.

## Backup files to filename~.
set backup

## The directory to put unique backup files in.
set backupdir "/hom/mathmos/Dokumente/nanobackup"

## Constantly display the cursor position in the statusbar. Note that
## this overrides "quickblank".
set const

## Enable ~/.nano_history for saving and reading search/replace strings.
set historylog

## Don't convert files from DOS/Mac format.
set noconvert

## Fix numeric keypad key confusion problem.
set rebindkeypad

## Make the Home key smarter. When Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards). If the
## cursor is already at that position, it will jump to the true
## beginning of the line.
set smarthome

## Use smooth scrolling as the default.
set smooth

## Enable soft line wrapping (AKA full line display).
set softwrap

## Allow nano to be suspended.
set suspend

bind ^S research main

## Syntax-Highlightning
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"

## Makefiles
include "/usr/share/nano/makefile.nanorc"

## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"

## HTML
include "/usr/share/nano/html.nanorc"

## PHP
include "/usr/share/nano/php.nanorc"

## TeX
include "/usr/share/nano/tex.nanorc"

## Patch files
include "/usr/share/nano/patch.nanorc"

## Manpages
include "/usr/share/nano/man.nanorc"

## Perl
include "/usr/share/nano/perl.nanorc"

## Python
include "/usr/share/nano/python.nanorc"

## Ruby
include "/usr/share/nano/ruby.nanorc"

## Java
include "/usr/share/nano/java.nanorc"

## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"

## XML-type files
include "/usr/share/nano/xml.nanorc"

Eventuell kann es ja jemand als Grundlage gebrauchen. Alles was ich nicht benötigt habe, habe ich aus der Datei entfernt. Die komplette Datei nanorc findet man unter /etc/. Diese am besten nicht editieren sondern als .nanorc in das Homeverzeichnis kopieren.

Killen mit der ZSH

Seit geraumer Zeit bin ich ein Fan der ZSH. Aber manchmal werde ich immer noch überrascht.

Gerade wollte ich mit dem Befehl “kill” einen Prozess abschießen. Nur welche PID hat er? Reflexartig wollte ich schon den Befehl “pidof” auspacken um die PID des Prozesses zu ermitteln. Stattdessen habe ich einfach mal TAB gedrückt, da man damit unter ZSH ja eine klasse Autovervollständigung hat. Und genau an der Stelle wurde ich mal wieder überrascht. Nachdem ich TAB gedrückt hatte, kam eine Auflistung aller Prozesses mit ihrer PID aus der ich mit den Cursortasten den richtigen Prozess auswählen kann.

ZSH Kill PID

Also einfacher geht es nun wirklich nicht.

Welche Kniffe, Tricks usw. kennt Ihr noch für die ZSH? Oder für die jeweilige Shell, die ihr nutzt?