Archiv der Kategorie: Linux

dd

dd dient zum bit-genauen Kopieren von Festplatten, Partitionen oder Dateien. „Bit-genaues“ Kopieren bedeutet, dass der Datenträger Bit-für-Bit bzw. Byte-für-Byte ausgelesen und beschrieben wird, unabhängig von dessen Inhalt und Belegung. dd funktioniert grundsätzlich mit allen Dateisystemen auf die Ubuntu / Linux zugreifen kann (z.B. ext2/3, reiserfs, vfat, ntfs etc.). Es funktioniert auch mit CD/DVD-Dateisystemen, allerdings nur für Daten-CDs/DVDs.

Verwendung: dd [OPERAND…]
oder: dd OPTION
Kopieren einer Datei, Konvertierung und Formatierung gemäß der Operanden.

bs=BYTES BYTES Bytes auf einmal lesen und schreiben (siehe ibs=,obs=)
cbs=BYTES BYTES Bytes auf einmal konvertieren
conv=CONV Datei gemäß kommagetrennter Schlüsselwörter‐Liste konvertieren
count=N nur N Eingabeblöcke kopieren
ibs=BYTES Lesen von BYTES Bytes auf einmal (Voreinstellung: 512)
if=DATEI aus DATEI statt von der Standardeingabe lesen
iflag=FLAGS anhand der kommagetrennten Symbolliste lesen
obs=BYTES BYTES Bytes auf einmal schreiben (Voreinstellung: 512)
of=DATEI in DATEI statt in die Standardausgabe schreiben
oflag=FLAGS anhand der kommagetrennten Symbolliste schreiben
seek=N N obs‐große Blöcke am Anfang der Ausgabe überspringen
skip=N N ibs‐große Blöcke am Anfang der Eingabe überspringen
status=WELCHE WELCHE Info nicht auf dem Standardfehlerkanal ausgegeben
werden soll. „noxfer“ unterdrückt die übertragungsstatistik
und „none“ alle Ausgaben

N und BYTES können folgende multiplikative Endungen tragen:
c=1, w=2, b=512, kB=1000, K=1024, MB=1000×1000, M=1024×1024, xM=M
GB=1000×1000×1000, G=1024×1024×1024, und so weiter für T, P, E, Z, Y.

Jedes CONV‐Symbol kann sein:

ascii von EBCDIC in ASCII
ebcdic von ASCII in EBCDIC
ibm von ASCII in alternatives EBCDIC
block mit Zeilenumbrüchen terminierte Datensätzen durch
Leerzeichen bis zur cbs‐Größe auffüllen
unblock nachlaufende Leerzeichen in Datensätzen von
cbs‐Größe mit Zeilenumbrüchen ersetzen
lcase Großbuchstaben in Kleinbuchstaben ändern
ucase Kleinbuchstaben in Großbuchstaben ändern
swab Jedes Paar von Eingabebytes vertauschen
sync jeden Eingabeblock mit NULLen zur ibs‐Größe auffüllen; wenn mit
„block“ oder „unblock“ benutzt, stattdessen mit Leerzeichen
excl scheitert, wenn das auszugebende Byte bereits existiert
nocreat Die Ausgabedatei wird nicht erzeugt
notrunc Die Ausgabedatei wird nicht abgeschnitten
noerror nach Lesefehlern fortfahren
fdatasync vor Beendigung Ausgabedatendatei physisch schreiben
fsync genauso, zusätzlich auch die Metadaten

Jedes Symbol FLAG kann sein:

append Anfügemodus (nur für Ausgabe sinnvoll; conv=notrunc empfohlen)
direct direkte Ein‐/Ausgabe für Daten benutzen
directory abbrechen, wenn kein Verzeichnis
dsync synchronisierte Ein‐/Ausgabe für Daten benutzen
sync genauso, aber auch für Metadaten
fullblock volle Eingabeblöcke ansammeln (nur iflag)
nonblock nicht‐blockierende Ein‐/Ausgabe benutzen
noatime die Zugriffszeit nicht erneuern
nocache zwischengespeicherte Daten verwerfen
noctty das kontrollierende Terminal nicht von Datei zuweisen
nofollow symbolischen Verknüpfungen nicht folgen
count_bytes behandelt „count=N“ als einen Byte-Zähler (nur iflag)
skip_bytes behandelt „skip=N“ als einen Byte-Zähler (nur iflag)
seek_bytes behandelt „seek=N“ als einen Byte-Zähler (nur iflag)

Schickt man einem laufenden „dd“‐Prozess ein USR1‐Signal, gibt dieser
auf der Standardfehlerausgabe Eingabe‐/Ausgabe‐Statistiken aus und fährt
mit dem Kopieren fort.

$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid
18335302+0 Datensätze ein
18335302+0 Datensätze aus
9387674624 Bytes (9,4 GB) kopiert, 34,6279 Sekunden, 271 MB/s

Optionen sind:

–help diese Hilfe anzeigen und beenden
–version Versionsinformation anzeigen und beenden

GNU coreutils Onlinehilfe:
Melden Sie Übersetzungsfehler für dd an Full documentation at:
or available locally via: info ‚(coreutils) dd invocation‘

Siehe auch https://wiki.ubuntuusers.de/dd/

(2)

Python 2.7 für CentOS

Es ist schon unglaublich, welche seitenlangen Anleitungen ich fand, um CentOS mit Python 2.7 auszustatten, statt mit Python 2.6.
Manche kompilieren sich das 2.7 sogar, dabei genügt:

yum install python27
scl enable python27 bash

Yum verwendet aber weiterhin Python 2.6.
Meine Lösung: Weg mit CentOS und her mit Ubuntu oder Debian. 😉

(2)

Ubuntu 15.10: Wily Werewolf ist da

Eine der Besonderheiten von Ubuntu ist für mich seit 20 Versionen, dass ich einfach durch die Aktualisierungsverwaltung darauf aufmerksam gemacht werde, dass eine neue Version erschienen ist. Ja, bei MS-Produkten muss man heute auch nicht mehr ins Geschäft laufen und sich die CD oder DVD holen, aber die Installation einer neuen Version ist immer noch unvergleichbar kompliziert. Unvergleichbar, denn in Ubuntu funktioniert das, wie immer, mittels eines einzigen Klicks auf „System aktualisieren“. Im Hintergrund läuft dann die Aktualisierung und ich arbeite ganz normal weiter. Da es die letzten 20 mal kein Problem gab, verzichte ich sogar auf die Sicherung meiner Daten. Naja, ab und zu sichere ich meine privaten Daten ohnehin auf eine DVD, aber das muss jetzt nicht mehr vor einem Versions-Upgrade sein, so groß ist mein Vertrauen zu Ubuntu. Gut, ich habe auch schon einiges kritisiert, aber selbst wenn jemand sehr lange glücklich verheiratet ist, wird es ab und zu eine Meinungsverschiedenheit in der Beziehung gegeben haben. So ist es bei mir und Ubuntu und an eine Trennung habe ich seit der ersten Version noch nie nachgedacht. Mein Ubuntu ist im Bootmanager immer an erster Stelle, dann kommt am PC Fedora, Debian, Mint, BSD und ein Windows 8, das ich geschenkt bekam.
Ich korrigiere: „es gab ein paar Wochen in den letzten 10 Jahren, in denen Fedora meine erste Wahl war“.
Naja, der Wily Werewolf hat sich also im Hintergrund installiert – keine CD’s oder DVD’s und keine Kosten. Ubuntu kostet immer noch 0 Euro. Man kann eben nicht alles kaufen und das beste Betriebssystem ist also tatsächlich unbezahlbar. Das ich dabei auch neue Versionen sämtlicher Open Source Software, wie Office, Gimp und Co erhalte, erwähne ich gar nicht mehr, denn in der Linux-Welt ist das selbstverständlich. Wenn ich einen neue DVD-Brenner benutzen will, weil mir der zuverlässige Standardbrenner langweilig wurde, dann klicke ich bei der gewünschten Software auf „installieren“ und das war’s.

Nach dem Neustart funktioniert alles, aber das habe ich erwarte. Viel hat sich auf den ersten Blick nicht geändert, aber das war ja auch vorgesehen. Wily Werewolf steht ja ganz im Zeichen der Produktpflege.
Wer mehr über die Neuerungen wissen will, liest What’s new in Ubuntu 15.10: desktop and devices.
Ubuntu 15.10 is here
Download Ubuntu 15.10 (Wily Werewolf)
ReleaseNotes

(6)

„GLib-CRITICAL“ Seltsamer Ubuntu Bug oder seltsame Fehlermeldung?

gparted-logoUbuntu 15.04 hat bisher problemlos funktioniert, aber leider ist jetzt seit Tagen eine Fehlermeldung beim Startvorgang aufgetaucht, die mich beunruhigte.
„GLib-CRITICAL: Source ID 13 was not found when attempting to remove it“ steht in der syslog.
Angeblich ein Bug, der bei mir auch reproduzierbar ist. Bekannt geben brauche ich ihn nicht mehr, da er schon auf bugs.launchpad.net zu finden ist, siehe GLib-CRITICAL **: Source ID was not found when attempting to remove it – warning when leaving Network menu of g-c-c.
Da ich ein start fähiges Ubuntu auf einem USB-Stick habe und mein „home“ und „etc“ gesichert ist, kann nicht viel passieren, also sehe ich mir einmal die Laufwerke mit e2fsck(8) an, wie es beim Bootvorgang empfohlen wird. Dieser wird angehalten, dann kommt die Meldung: „Welcome to emergency mode! After logging in type „journalctl -xb …. usw. Ja, da steht das Gleiche, wie in der syslog: „GLib-CRITICAL **: Source ID was not found w“… und zur Behebung bekam ich vom System den Tipp, ich solle e2fsck ausführen. Das kann zwar nicht schaden, aber da ich gerade keine Lust dazu hatte, wollte ich Fedora starten und stellte zu meinem Entsetzen fest, dass ich letztes mal nur Ubuntu, Mint und Windows 9 installierte. Windows bekam ich kostenlos von einem Institut und Mint ist bestimmt auch sehr gut, aber mir persönlich gefällt es nicht besonders. Das ist aber nur eine rein persönliche Geschmackssache und hat nichts mit der Qualität von Mint zu tun. Also die Live CD von Ubuntu ins Laufwerk und GParted starten. Die Partition für Fedora verkleinern und Kaffee trinken, denn die Verkleinerung der Partition ist ein langwieriger Prozess. Neustarten – ach, ich sollte vorher die Fedora-CD einlegen. Zu spät, Ubuntu startet schon – und ob ihr es glaubt oder nicht, ohne Fehlermeldung. Die Verkleinerung der Partition hat also schon gereicht, um den Fehler zu beheben. Gut gemacht, GParted. Jetzt habe ich also wieder ein fehlerloses Ubuntu, eine überprüfte HD und Platz für Fedora. Das ist recht erfreulich, denn am 22. Oktober kommt ja schon „Willi der Werwolf“, nein „wily werewolf„, also Ubuntu 15.10 heraus.

Weblinks:
GLib-CRITICAL: Source ID … was not found when attempting to remove it
Sublime Text on Ubuntu 14.04 – Keeps attempting to remove it
GLib-CRITICAL **: Source ID XXX was not found when attempting to remove it
Dateisystemcheck und
e2fsck(8) – Linux man page (falls jemand „man e2fsck“ auf der Konsole nicht eintippen kann.

Bild: Gparted-Logo von pixel-anarchy.de

(1290)

telnet – Kommandos und Optionen sind mir immer noch nützlich

Immer wieder nützlich, daher notiere ich sie mir schnell.

telnet> ?

close   	close current connection
logout  	forcibly logout remote user and close the connection
display 	display operating parameters
mode    	try to enter line or character mode ('mode ?' for more)
open    	connect to a site
quit    	exit telnet
send    	transmit special characters ('send ?' for more)
set     	set operating parameters ('set ?' for more)
unset   	unset operating parameters ('unset ?' for more)
status  	print status information
toggle  	toggle operating parameters ('toggle ?' for more)
slc     	set treatment of special characters

z       	suspend telnet
environ 	change environment variables ('environ ?' for more)

Zum Beispiel um einen Email-Server zu testen.
telnet
telnet> open mail.irendwer.irgendeine 25
Connectet to …
EHLO mail.irendwer.irgendeine

250-mail.irendwer.irgendeine
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Man kann sich dann anmelden mit
AUTH LOGIN

und wird nach dem Benutzernamen gefragt. Der ist dann im base 64 Format (es gibt auch andere encoder online) einzugeben, ebenso wie das Kennwort.
Mit
MAIL FROM:<sender@domain.com> ENTER kann man bei Erlaubnis (sonst weigert sich der SMTP) RCPT TO:<recipient@remotedomain.com> ENTER den Empfänger eingeben. Ist der Empfänger empfangsbereit kommt keine Fehlermeldung und man kann mit DATA den Text eingeben. Nach ENTER gibt man einen Punkt ein (.) ENTER und schon sollte die E-Mail unterwegs sein, was der telnet-client telnet auch anzeigt.

Man kann damit auch den „TCP Port 80 (http) Zugriff mit telnet überprüfen“.

Package für Debian, Ubuntu und als RPM.

Telnet auf Wickipedia macht auch schlau und wenn ich mehr wissen will, lese ich die Ausgabe von

telnet> set ?
echo            character to toggle local echoing on/off
escape          character to escape back to telnet command mode
rlogin          rlogin escape character
tracefile       file to write trace information to
                
                The following need 'localchars' to be toggled true
flushoutput     character to cause an Abort Output
interrupt       character to cause an Interrupt Process
quit            character to cause an Abort process
eof             character to cause an EOF 
                
                The following are for local editing in linemode
erase           character to use to erase a character
kill            character to use to erase a line
lnext           character to use for literal next
susp            character to cause a Suspend Process
reprint         character to use for line reprint
worderase       character to use to erase a word
start           character to use for XON
stop            character to use for XOFF
forw1           alternate end of line character
forw2           alternate end of line character
ayt             alternate AYT character

autoflush       enable flushing of output when sending interrupt characters
autosynch       enable automatic sending of interrupt characters in urgent mode
skiprc          enable don't read the telnetrc files
binary          enable sending and receiving of binary data
inbinary        enable receiving of binary data
outbinary       enable sending of binary data
crlf            enable sending carriage returns as telnet <CR><LF>
crmod           enable mapping of received carriage returns
localchars      enable local recognition of certain control characters

debug           enable debugging
netdata         enable printing of hexadecimal network data (debugging)
prettydump      enable output of "netdata" to user readable format (debugging)
options         enable viewing of options processing (debugging)
termdata        enable (debugging) toggle printing of hexadecimal terminal data
?               display help information

das Linux Manual mit „man telnet“:

TELNET(1) BSD General Commands Manual TELNET(1)

NAME
telnet — user interface to the TELNET protocol

SYNOPSIS
telnet [-468ELadr] [-S tos] [-b address] [-e escapechar] [-l user]
[-n tracefile] [host [port]]

DESCRIPTION
The telnet command is used for interactive communication with another
host using the TELNET protocol. It begins in command mode, where it
prints a telnet prompt („telnet> „). If telnet is invoked with a host
argument, it performs an open command implicitly; see the description
below.
telnet – Kommandos und Optionen sind mir immer noch nützlich weiterlesen

(1056)