Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:spielerei_mit_linux-systemen

Dies ist eine alte Version des Dokuments!


Linux

Hier sollen Dinge gesammelt werden, die mir zu Merkzwecken dienen.

PDF

  • pdftk zum zerteilen etc. von PDFs, nicht mehr in neueren Umgebungen enthalten, aber als snap verfügbar
    • sudo apt-get install pftk oder
    • sudo apt-get install snapd und
    • sudo snap install pdftk
  • Alternative zu pdftk ist pdfunite von poppler http://poppler.freedesktop.org
  • pdf zu jpg/png:
  • pdf Seiten entnehmen:
  • pdf zerlegen: pdftk burst file.pdf
  • pdfs zusammenfassen: pdftk file1.pdf file2.pdf cat output out.pdf
  • eine Seite exportieren pdftk 'Beispiel Datei.pdf' cat 9 output page9.pdf
  • mit GUI PDFs zusammensetzen, teilen etc: https://pdfsam.org/de/pdfsam-basic/
  • Anhang in PDF speichern: pdftk beispiel.pdf attach_files tux01.eps beispiel.tex output beispiel_anhang.pdf,Quelle: http://www.lagotzki.de/pdftk/index.html#attachment
  • Lesezeichen bearbeiten:
    1. vorhandenes Dokument ausleden: pdftk alle_Flyer_Elektrotechnik_und_Informatik_HIT_2024.pdf dump_data output data.txt
    2. Daten bearbeiten (ggf. aus einem guten Dokument zum Vergleich auslesen)
    3. Datei neu erzeugen: pdftk alle_Flyer_Elektrotechnik_und_Informatik_HIT_2024.pdf update_info data.txt output alle_Flyer_Elektrotechnik_und_Informatik_HIT_2024_mit_Lesezeichen.pdf

Imagemagik

  • Installation: sudo apt install imagemagick
  • JPGs zu einer PDF: convert *.jpeg out.pdf
  • heic zu jpg: mogrify -format jpg *.HEIC
  • PDF zu png: convert -density 600 Test04.pdf Test04.png density in pixel/cm
    • -alpha off um Transparenz zu entfernen
  • Seiten drehen damit Zeilen exakt horizontal sind: convert *.jpeg -deskew 80% out.pdf
  • Größe ändern: mogrify -resize 1200 *.JPG größte Seite auf 1200, Namen beibehalten
    • 100×200 # width = 100, height = 20, keep ratio
      100×200\! # deform ratio
      300x # width = 300, height = proportional
      x300 # width = proportional, height = 300

Grafik und Co.

Kommandozeile

  • cat /etc/os-release Zeigt Infos zur Distribution an
  • ls -l lange Darstellungsform des Verzeichnisinhalts
  • ls -1 Zeigt nur die Dateinamen untereinander
  • ls -1 > dir.txt speichert die Dateinamen in einer Textdatei
  • ls -li zeigt die inodes an.
  • tree oder tree ordner zeigt den Inhalt in grafischer Darstellung an, Installation: sudo apt install tree
  • su - in die root-shell wechseln
  • less /dev/log zeigt Infos über eine Datei an
    • less -s /dev/log überspringt mehrfache Leerzeilen
    • less -S /dev/log Zeilenumbruch für überlange Zeilen
  • id zeigt ID des Nutzers, bzw. Gruppenzugehörigkeit an
  • find -name „*JPG“ -exec convert -resize 1920×1920 {} {} \; Dateien mit JPG finden und auf maximale Seitenlänge mit 1920 Pixeln wandeln
  • locate libcrypto.so.1.0.0 eine Datei/Bibliothek finden
  • dpkg -l libssl* ein Paket suchen
  • sudo chown name:gruppe Dateiname Besitzer und Gruppe einer Datei ändern
  • mehrere Dateien in Großbuchstaben umwandeln: mmv -v „*“ „#u1“, Kleinbuchstaben: mmv -v „*“ „#l1“, Quelle: https://www.linux-community.de/ausgaben/easylinux/2009/01/shell-tipps/
  • stat /etc/hosts Informationen über Erstellung Bearbeitung etc zu einer Datei erhalten
  • cat /etc/hosts |od -a eine Datei in ASCII anzeigen
  • Inhalte in Dateien suchen: grep -rnwi '/Pfad/zu/Ordner/' -e 'Textschnipsel' Quelle
      • dvdbackup -I -i /dev/dvd
      • komplett dvdbackup -p -M -i /dev/dvd -o ~/Videos
      • titel dvdbackup -p –title=4 -i /dev/dvd -o ~/Videos
      • titelset dvdbackup -p –titleset=4 -i /dev/dvd -o ~/Videos
  • Dateien umbenennen, Texteil ersetzten:
    • rename -n 's/pg_00/Urkunde-/g' *.pdf
    • -n zeigt zunächst an, was passieren würde, „pg_00“ wird ersetzt durch „Urkunde-“
  • In Dateinamen Leerzeichen durch Underscores ersetzen rename 's/\s/_/g' ./*.pdf (Quelle: https://unix.stackexchange.com/questions/223182/how-to-replace-spaces-in-all-file-names-with-underscore-in-linux-using-shell-scr)
  • md5sum filename um die md5 Prüfsumme zu bekommen
  • keytool -list -printcert -jarfile filename.zip um md5 und sha Prüfsumme aus dem Java Archiv zu bekommen
  • # Strip .jpg from all filenames for f in *.jpg; do mv „$f“ „${f%.jpg}“; done # Add .jpg to all filenames (even those with .jpg already) for f in *; do mv „$f“ „$f.jpg“; done # Add .jpg to all filenames…unless they are already .jpg for f in *; do case „$f“ in *.jpg) echo skipped $f;; *) mv „$f“ „$f“.jpg; esac; done # Add .jpg to all filenames…unless they already have a . extension for f in *; do case „$f“ in *.*) echo skipped $f;; *) mv „$f“ „$f“.jpg; esac; done
  • in fortlaufende Zahlen mirt führenden Nullen und Dateiendung umbenennen: ls -v | cat -n | while read n f; do mv „$f“ `printf „%03d.mp3“ $n`; done
  • mehrere MP3s in eine MP3 zusammenführen https://wiki.ubuntuusers.de/mp3wrap/ mp3wrap ERGEBNIS.mp3 TITEL-0*.mp3
  • Logs anzeigen: journalctl und dmesg
  • Größe der Unterordner anzeigen: df -h -d 1 todo: mit awk nach Dateigröße sortiert ausgeben
  • Verzeichnis mit Inhalt rekursif löschen rf -r folder, ohne nachfrage: rm -rf folder
  • Suchen IN Dateien, auch PDF und LibreOffice: uvgrep -in Bauvorhaben *.pdf *.odt von https://github.com/hgesser/uvgrep, Abhängigkeiten installieren: sudo apt install libxml2-utils pdfgrep

Backup

Libraries

  • nachträgliches normalerweise in /usr/local/lib installiert
  • ldconfig -v listet alle gefundenen auf
  • sudo ln -sf libad.so.4.6.525 /usr/local/lib/libad.so erstellt einen Link aus eine spezielle Version
  • nm –dynamic –demangle /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC zeigt die aktiven glibc Versionen an
  • ldd datei.so zeigt an, welche Bibliotheken dynamisch verlinkt sind
  • ldd –version zeigt die glibc Version an
  • readelf -h /usr/local/lib/libad.so.4.6.525 Anzeigen des Formats, u.a. ELF32 oder ELF64
  • ldconfig –help oder ldconfig -p Infos zu Biblioheken ausgeben, ohne Parameter und mit sudo neu einlesen??

serial

  • lsusb zeigt USB Geräte an, inkl. USB ID
    • CH340G: 1a86:7523
  • anzeigen nach USB-Steckplatz: ls /dev/serial/by-path/ - gleicher Steckplatz = gleiche Bezeichnung Quelle

Festplatte löschen bzw. freien Platz überschreiben

  • einmal überschreiben genügt egal mit null oder was auch immer: https://www.heise.de/-198816
  • Prinzip
  • a): nur freier Speicherplatz: in Verzeichnis vom Laufwerk gehen, das überschrieben werden soll
    • cd Verzeichnis auf HDD (Stammverzeichnis)
    • dd /dev/zero leeredatei status=progress
    • warten auf die Meldung, dass kein Speicherplatz mehr da ist,
    • Datei leerdatei löschen (alles bis auf ganz wenig freier Speicherplatz ist überschrieben
  • b) Ganze Platte löschen: mit blkid die Platte identifizieren!!!!
    • dd bs=1M if=/dev/zero of=/dev/sdX status=progress überschreibt die Partition/Platte
    • Dauer 500GB an USB2.0: (500 GB, 466 GiB) kopiert, 12959,4 s, 38,6 MB/s = 3,6h
    • Dauer 1TB an USB3 (odroid xu4) (1,0 TB, 932 GiB) copied, 13565 s, 73,7 MB/s = 3,77h
    • Dauer 2TB an USB3 (odroid xu4) (2,0 TB, 1,8 TiB) copied, 24705,5 s, 81,0 MB/s = 6,87h
    • 500 GB in OneTouch USB3 (i5-3470) Seagate v. 2013 (500 GB, 466 GiB) kopiert, 13788,7 s, 36,3 MB/s = 3,83h

Festplatte Image sichern für Wiederherstellung gelöschter Dateien, nach versehentlichen Formatieren

  • sichern, unkompirmiert: dd if=/dev/sda bs=4M | pv | of=/dev/sdd1/meinbackup_2.img
    • sudo dd if=/dev/sda bs=4M | pv | gzip > backup.img.gz
  • Wiederherstellen: gzip -dc backup.img.gz | pv | sudo dd of=/dev/sda bs=4M bzw. sudo dd if=/dev/sdd1/meinbackup_2.img | pv | of=/dev/sda bs=4M (ungestestet)

Festplatten einhängen, home auf einer anderen Platte, Verzeichnisse mounten

  • ist ein Laufwerk im Ordner/mnt eingehängt, wird es nicht als Symbol angezeigt
  • mount –bind /dsv/sdc/ordner /home/neuer Ordner bindet einen Ordner an einer beliebigen Stelle ein
  • in der Datei /etc/fstab werden dauerhafte mounts eingetragen

Analysieren von Programmen

  • strace zeigt die Aufrufe des Programms an
    • strace -e open bash Opensystemcalls für das Programm bash anzeigen
    • write, execve, recvfrom
  • time zeigt, wie lang das Programm lief, wieviel CPU genutzt wurde, … Achtung: in bash gibt es time als Befehl, es muss der richtige gewählt werden /usr/bin/time
    • /usr/bin/time -f „\t%E real,\t%U user,\t%S sys, \t%PCPU“ df -h
  • sudo ngrep -d lo 5000 zeige Netzwerktraffic am Gerät localhost port 5000 an
  • curl –header „Accept-language: en-US“ localhost:5000 Header setzen
  • weitere Netzwerktools: tcpdump, wireshark, mitmproxy
  • Stack anzeigen für PID
    • pgrep -f mystery PID ermitteln z.B. 12345
    • sudo cat /proc/12345/stack
    • oder in einer Zeile sudo cat /proc/(pgrep -f mystery)/stack
  • dstat -d Zeigt Lese- und Schreiboperationen an
  • Anzeig der Version von glibc: ldd –version

Netzwerk

  • Gateway anzeigen: ip route oder ip route | grep default
  • ip -6 a IPv6 Adresse anzeigen
  • netstat -tulpn - offene Ports anzeigen
  • ip -br -c addr show tabelarisch die Netzwerkadressen anzeigen
  • ip -br -c link show tabelarisch die Verbindungen anzeigen
  • Gerät im Netzwerk suchen sudo nmap -sn 192.168.178.0/24
  • Versionen und Verletzlichkeit von SSL anzeigen und analysieren: https://testssl.sh/

Firefox

  • Addons
    • uBlock origin
    • Export Tabs URLs
    • I don't care about cookies
    • Video DownloadHelper
    • Startpage.com — Datenschutz-Suchmaschine

home-Assistant

Services

  • es gibt verschiedene Systeme für Services, die auf verschiedenen Systemen eingesetzt werden:
    • sudo service network-manager restart, z.B. nachdem sudo xed /etc/hosts geändert wurde
      • systemctl
    • /etc/init.d System

Bash Skripte

Weiteres

  • Elektonikcad https://kicad.org
  • Bild von Videoquelle anzeigen (Eigentlich eine GUI für Videoquellen und deren Einstellungen) https://wiki.ubuntuusers.de/guvcview/
  • Ein mit LUKS verschlüsselte Platte (aus Laptop, mit Passwort beim Booten) einhängen: Über GUI „Laufwerke“ gibts ein Symbol mit offenen/geschlossenen Schloss, damit kann die LUKS Partition eingehängt und ausgehängt werden
  • Eine verschlüsseltes Homeverzeichnis kann mit dem Befehl ecryptfs-recover-private /media/<UUID>/home/.ecryptfs/<USERNAME>/.Private in der /tmp Verzeichnis mit Read-only eingehängt werden, zum Schreibzugriff -rw ergänzen Link (Wenn es das TMP Verzeichnis nicht mounten kann, dann which ecryptfs-recover-private kopieren und editieren, fünftletzte Zeile im Mountbefehl '-i' (lokaly only) entfernen)
  • Benchmark Phoronix Test Suite: Paket (deb) von https://phoronix-test-suite.com/?k=downloads
    • phoronix-test-suite benchmark c-ray
    • phoronix-test-suite benchmark build-linux-kernel
      • Meldung: tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: Datei oder Verzeichnis nicht gefunden –> apt install libelf-dev
    • i7 work: Intel Core i7-3770 @ 3.90GHz: C-Ray 277.853 Seconds, build-linux-kernel 275.392 Seconds
  • Cron Jobs von allen Nutzern anzeigen: for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done Quelle: Tamara https://debianforum.de/forum/viewtopic.php?t=104233
  • Hardware anzeigen sudo lshw -short
  • Cisco PacketTracer installieren: nicht Doppelklick (gdebi?) hat keinen Erfolg –> sudo dpkg -i CiscoPacketTracer822_amd64_signed.deb
  • fehlende Abhängigkeiten installieren apt install -f

Audio

  • Ein/Ausgabegeräte auflisten
  • pacmd list-sink-inputs, pactl list short sources, pactl list short
  • baudline um eine Spektrum anzuzeigen https://www.baudline.com/download.html
  • starten und (im Verzeichnis wo baudline entpackt ist):
    • parec –format=s16le –channels=1 –latency-msec=5 | ./baudline -stdin
    • Manchmal muss ich rechtsklicke und pause oder record klicken, dass ich was sehe
    • manchmal musste ich erst in den Klangeinstellungen die richtige Audioquelle auswählen.
    • Wenn im Terminal der Befehl 'parec -d ' und dann [TAB] drücke, kommt die Autovervollständigung und du findest verschiedene Geräte. So kann ich mit
    • parec -d alsa_input.usb-046d_HD_Pro_Webcam_C920_D64B083F-02.analog-stereo –format=s16le –channels=1 –latency-msec=5 | ./baudline -stdin mein Mikrofon der Webcam direkt nutzen.
    • Farbmodus umstellen: Rechte Maustaste im Wasserfalldiagramm –> input –> channel mapping –> letzte Spalte Color umstellen

Autobingooo

  • FAQ sagt, Gibt es eine Version für andere Betriebssysteme als Windows? Zusätzlich bieten wir AutoBINGOOO für Mac OSX an. Linux unterstützen wir nicht nativ, es ist aber möglich Win32-Software mittels Windows-Emulation auf einem Linux-Rechner zu betreiben. Support für diese Einrichtung können wir aber nicht bieten.
  • Vorbereitung: sudo apt-get install wine-stable
  • Installation: wine setup_autobingooo.exe
  • Über Menü Start –> Wine –> Autobingooo
  • Meldung „… antwortet nicht, „Warten“ klicken
  • rechts unten: „Jetzt testen!“ klicken

SSH für Git erstellen

  1. (Schlüssel erzeugen) ssh-keygen -t rsa -b 4096 -C „your.email@example.com“ (mit oder ohne Password, in Datei is_rsa und id_rsa.pub)
  2. sudo chmod 600 ~/.ssh/id_rsa und sudo chmod 600 ~/.ssh/id_rsa.pub
  3. Inhalt aus id_rsa.pub in gitlab unter Einstellungen ssh-Keys eintragen und Namen geben
  4. in der Kommandoteile die Verbindung testen: ssh -T git@git_server.org
  5. remote von https zu ssh umstellen:
    1. anzeigen lassengit remote -v
    2. ändern: git remote set-url origin git@git_server.org:user/repo_url_for.git

CD oder DVD Laufwerk als Image verwenden

Eine ISO Datei erstellen: dd if=/dev/cdrom of=image.iso

Eine ISO Datei einbinden:

mkdir verzeichnis

sudo mount image.iso ~/verzeichnis -o users,ro,loop

Die Bedeutung der Schalter und Optionen: sudo: als Superuser arbeiten, mount ist der Befehl, image.iso der Dateiname ~/verzeichnis der Pfad (muss vorhanden und leer sein) wo das Image verfügbar gemacht werden soll, -o user, dass von jedem Benutzer wieder ein unmount gemacht werden kann, ro bedeutet read-only, und loop, dass es kein Gerät sondern eine Umleitung ist. Quelle u.a.: [http://www.arsenal-of-wisdom.org/?p=212]

Wieder trennen: umount ~/verzeichnis

Weiteres zum arbeiten mit DVDs: https://wiki.ubuntuusers.de/dvdbackup/ dvdbackup -M -i /dev/dvd -o ~/Videos

NAS ZyXEL NSA325

In Settings Telnet aktivieren, dann mit z.B. PuTTY.exe [http://winscp.net/eng/download.php#putty] [http://winscp.net/download/putty.exe] in die busybox gehen. Jetzt kann z.B. die [http://www.cis.upenn.edu/~bcpierce/unison/index.html|Unison] Archiv für ARM von [http://www.crutzi.info/unison/binary/armel] laden mit dem Befehl:

wget www.crutzi.info/sites/default/files/unison-2.40.102-static-armel.zip

entpacken mit

unzip unison-2.40.102-static-armel.zip

und ausführbar machen mit

chmod u+x unison

Jetzt kann ein kurzer (Selbst)Test zeigen ob das Programm arbeitet:

./unison -selftest

Der nächste Schritt wäre das einrichten von SSH und starten von unison als Server…

linux/spielerei_mit_linux-systemen.1734091595.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki