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

  • Isntallation: sudo apt install imagemagick
  • JPGs zu einer PDF: convert *.jpeg out.pdf
  • 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

Backup

  • Backup machen: rsync -aAXv –exclude={„path/to/excluded/directories“} / /path/to/destination https://www.unixmen.com/how-to-backup-with-rsync/
    • Bog Backup: borg create –verbose –filter AME –list –stats –show-rc –compression lz4 ssh:dietpi@192.168.1.1/mnt/dietpi_userdata/borg_backup_repo/Backup::2024-09-03-0639 /home/user/Dokumente * Lock entfernen: borg break-lock /mnt/dietpi_userdata/borg_backup_repo/Backup ==== Doppelte Dateien finden und durch HardLinks ersetzen ==== * fdupes https://github.com/adrianlopezroche/fdupes * findet und listet die Dateien aber ersetzt sie nicht? * fdupes -Sr . listet alle gleichen Dateien blockweise an * duff https://manpages.ubuntu.com/manpages/trusty/man1/duff.1.html * freedup https://linux.die.net/man/1/freedup * Rdfind https://rdfind.pauldreik.se/ * rdfind -dryrun true -makehardlinks true . zeige an was er machen würde, ersetzte gleiche Dateien durch Hardlinks * rdfind -makehardlinks true . * dupeguru https://dupeguru.voltaicideas.net/ * kommt nicht in Frage: fslint - nicht mehr unterstützt da Python2, * jdupes https://github.com/jbruchon/jdupes 7x schneller als fdupes? * jdupes -Lr /path/to/your/files ersetzt gleiche Dateien durch hardlinks, inklusive Unterverzeichnissen ==== 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 ==== * Quelle: https://www.youtube.com/watch?v=5v6o-VsLAew&feature=youtu.be * 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 ==== * 15 Tipps: https://yewtu.be/watch?v=FVusYP4fHFM * https://analytics.home-assistant.io/ * ===== Bash Skripte ===== * #!/bin/sh set -euo pipefail bei Fehler abbrechen, nicht weitermachen wenn eine Variable nicht gesetzt ist und wenn eins von mehreren Befehle in einer Pipe fehl schlägt, Quelle: https://infosec.exchange/@darkuncle/113032028521655044 ===== Weiteres ===== * https://stephenagrice.medium.com/take-your-linux-workspace-anywhere-backup-for-nerds-fdbf40b0421 * HP Druckertreiber und Scanner: https://developers.hp.com/hp-linux-imaging-and-printing * aus Downloadordern woanders hin kopieren * sudo apt-get remove libhpmud0 libsane-hpaio * sh hplip-3.20.11.run * Elektrocad https://qelectrotech.org/ * Neueste Entwicklerversion: sudo add-apt-repository ppa:scorpio/qelectrotech-dev * sudo xed /etc/apt/preferences.d/40qelectrotech-devel * Package: qelectrotech*
      Pin: version 0.90.*
      Pin-Priority: 1001 * sudo apt-get update * Elektonikcad https://kicad.org * https://github.com/openscopeproject/InteractiveHtmlBom * https://github.com/gregdavill/Buzzard/tree/kicad Labels * 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 * https://openbenchmarking.org/ * 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 ===== - (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) - sudo chmod 600 ~/.ssh/id_rsa und sudo chmod 600 ~/.ssh/id_rsa.pub - Inhalt aus id_rsa.pub in gitlab unter Einstellungen ssh-Keys eintragen und Namen geben - in der Kommandoteile die Verbindung testen: ssh -T git@git_server.org - remote von https zu ssh umstellen: - anzeigen lassengit remote -v - ä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.1725338693.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki