Hackspace Ubuntu
Paketmanagement Elementare Befehle
dpkg-query -l apac* : Listed alle installierten Pakete, die mit apac... beginnen und gibt deren Paketstatus an.
apt update : Neueinlesen der Paketlisten die in (/etc/apt/source.list, ... ) sind. Vor Upgrade notwendig (wg. Abhängigkeiten).
apt upgrade <packet> : Aktualisiert bereits installierte Pakete, ohne Installationsstatus anderer Pakete zu ändern.
apt dist-upgrade <packet> : Aktualisiert auch zu Lasten weniger wichtiger Pakete. Oft notwendig, um Testversionen korrekt zu installieren.
apt list --upgradable : Zeigt aktualisierbare Pakete inkl. Versionensangabe an.
apt remove <packet> : Entfernt das Paket und die davon abhängigen Pakete.
apt purge <packet> : Entfernt das Paket, die davon abhängigen Pakete und auch die Konfigurationsdateien.
apt autoremove : Entfernt nicht benötigte Abhängigkeiten.
apt clean : Leeren des Paketcaches.

Automatische Aktualisierungen (Info)
apt install unattended-upgrades : Automatische Paketaktualisierung installieren.
/etc/apt/apt.conf.d/50unattended-upgrades : Konfiguration der Updates
/etc/apt/apt.conf.d/10periodic
/etc/apt/apt.conf.d/10periodic : Alle wieviel Tage soll die Aktualisierung durchgeführt werden.

Hinzufügen eines Repositorys
Das Standardverzeichnis /etc/apt/sources.list sollte nicht durch Hinzufügungen verändert werden. Fremdquellen können in das Verzeichnis /etc/apt/sources.list.d mit Endung .list eingetragen werden.
Beispiel: es soll das Repositorys ppa:webupd8team/brackets hinzugefügt werden, um das Programm brackets installieren zu können (webupd8team).
Nach add-apt-repository ppa:webupd8team/brackets befindet sich das Repository im Verzeichnis für zusätzliche Pakete /etc/apt/sources.list.d oder ist direkt in das Repostory-Verzeichnis /etc/apt/sources.list eingetragen. Jetzt kann das Programm  brackets aus diesem Repository ganz normal installiert werden.

Installation von DEB-Paketen
gdebi <packet.deb> : Installiert das DEB-Paket und lädt bei Bedarf benötigte Abhängigkeiten nach.
Systemverwaltung

shutdown -h now System sanft herunterfahren (halt -p . hart herunterfahren).

reboot : Neustart.

 

Systeminfos

uname -a : Print certain system information (old command)

hostnamectl : Hostname+Basisinformation

hostnamectl set-hostname <name> : Hostnamen ändern.

htop : Speicherplatz + Prozesse/CPU.

lspci -nnk : PCI-Geräte anzeigen.

cat /etc/fstab : Statische Info zu den Filesystemen. (ubuuser)

df -h : Freier Speicherplatz der gemounteten (lokalen) Dateisysteme anzeigen.

du -h ./ : Benutzer Speicherplatz des aktuellen Verzeichnisses aufgeschlüsselt nach Subdirektories (-s nur summierter Wert).

find . -type f -print0 | xargs -0 du -s | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {} : The 10 biggest files in the current dir.

lspcu : List CPU architecture info.

lsblk : Blockdevices (Festplatten, CDs)  in Baumdarstellung

blkid :Informationen über Partitionen in angeschlossenen (auch noch nicht gemounteden) Spechermedien, insbesondere die UUID. (ubuuser)

 

Init-System SystemD mit systemctl managen (info):

systemctl list-units : Alle Units (Services im allerweitesten Sinne) anzeigen, die der init-Prozess SystemD gestartet hat.

systemctl list-units --type=service : Alle Services anzeigen, die der init-Prozess SystemD gestartet hat.

systemctl start apache2.service : Den Service mit SystemD starten (analog die Optionen: stop / restart /status / enable / disable / is-enabled ).

 

Apps

apt install terminator : Useful terminal manager and multiplexer

Benutzerverwaltung

passwd user7 : Passwort von user7 ändern.

cat /etc/passwd : Benutzerdatenbank passwd anzeigen.

cat /etc/group : Gruppendatenbank anzeigen.

groupadd <name> bzw. groupdel <name> : Neue Gruppe anlegen bzw. vorhandene Gruppe löschen.

adduser user7 bzw. deluser user7 : Neuen Benutzer user7 anlegen bzw. löschen.

adduser user7 wireshark : Benutzer user7 zur Gruppe wireshark hinzufügen

deluser --remove-home user7 : Benutzer komplett löschen inklusive home-Verzeichnis .

groups user7 : Die Gruppen anzeigen, in den user7 ist.

id user7 : Zeigt die Identität und Gruppen von user7 an.

files

tree : Verzeichnisbaum anzeigen

chmod g+rw datei : Für datei werden die Gruppenrechte lesen+schreiben gesetzt. (a=all, u=user, g= group, o=other)

chown -R name datei : rekursiv den Besitzer der datei auf name ändern.

ln -s ziel bezeichnung : einen symbolischen Link setzen. (wiki.ubuntuusers.de/ln/)

gzip datei : erzeugt eine komprimierte Datei datei.gz und löscht die Orginaldatei. Option -d für decompress. (Info)

mounten

ls /dev/ | grep sd : Vorhandene Partitionen ausgeben.

mount /dev/sdb1 ~/usb-stick : Die Partition sdb1 im Verzeichnis ~/usb-stick verfügbar machen.

umount /dev/sdb1 : unmount the partition sdb1 .

Partitionen fdisk und parted : Klassisches Tools zur Partitionierung auf Kommandozeile. parted bequemer für Größenänderungen.
fdisk -l : Auflisten aller Partitionen.
cfdisk : Menügeführte Partitionierung auf Kommandozeile.
mkfs.ext4 /dev/sdb1 : Format the partition sdb1 with the file system ext4.
Bash

Allgemein:

sudo -i : Als su (superuser) im root-Environment arbeiten.

sudo -s : Als su (superuser) im aktuellen Environment (~/.bashrc) arbeiten.
su -l userxy : Als Benutzer userxy arbeiten. Es findet ein wirkliches Einloggen in die Umgebung von userxy statt. Ohne Benutzerangabe wird man root.
printenv, env : Alle Umgebungsvariable, die für aus der Shell gestartete Prozesse verfügbar sind. (Info)

echo $PATH : Content of environment variable PATH. Set changes for $Path f.e. PATH="$HOME/bin:$PATH" in ~/.profile.

alias : Alle definierten Alias-Kommandos anzeigen.
alias h=histroy : Den Alias h für das Kommando history setzen. (Rückgängig machen mit unalias h . Tipp: alle Benutzeraliases in ~/.bash_aliases schreiben.)
history 7 : Die letzten 7 Kommandos anzeigen.
!7 : Das Kommando 7 ausführen.
<CTRL> + R : Reverse Befehlssuche (Tastenkombination drücken und dann Anfangsbuchstaben des Befehls eingeben.)

 

Für die Kommandozeile:

&& : Hintereinanderausführung vom Kommandos


Bash-Prompt anpassen:
In Datei ~/.bashrc die Variable PS1 mit einem Editor entsprechend setzen. Beispiele:
 - hellgrüne Schrift: PS1="\[\033[1;32m\]\u@\h\[\\033[0m\] \[\033[1;34m\]\w\[\033[0m\] >"
 - hellrote Schrift: PS1="\[\033[1;31m\]\u@\h\[\\033[0m\] \[\033[1;34m\]\w\[\033[0m\] >"
 - Schwarze Schrift, grün hinterlegt: PS1="\[\033[0;30m\]\[\033[42m\]\u@\h\[\\033[0m\] \[\033[1;34m\]\w\[\033[0m\] >"
 - hellgraue Schrift, rot hinterlegt: PS1="\[\033[0;30m\]\[\033[41m\]\u@\h\[\\033[0m\] \[\033[1;34m\]\w\[\033[0m\] >"
Infos: Shell-Prompt // Escape-Sequenzen für Farben

Prozesse ps -f : Alle Prozesse des Teminals (-f im Detail, -F noch mehr Details, -e alle Prozesse, ps -e | wc -l Anzahl der Prozesse.)
pstree -p . Prozessbaum (-p Anzeigen der PID)
pstree -p | grep systemd : Alle Zeile im Porzessbaum anzeigen, in denen systemd vorkommt.
(sleep 10; echo "Hallo") & : Im Hintergrund (&) 10 Sekunden schlafen und dann Hallo sagen.
[Strg] Z : Anhalten des gerade laufenden Vordergrundprozesses in der bash.
kill -15 PID bzw. kill -9 PID : Den Prozess PID mit Terminalsignal bzw. hart beenden (PID = -1: alle Prozesse des Terminals).
bg %5 bzw.  fg %5 : Den Prozess 5 des Terminals in den Hintergrund bzw Vordergrund schieben.
Serverinstallation Lokale Tastatur:
sudo dpkg-reconfigure keyboard-configuration : Einstellungen der Tastatur ändern. Z.B. wechseln auf deutsches Tastatur-Layout. (Aufpassen bei Befehlseingabe: "-  --> ß oder Shift 7", "y --> z".)

Lokale Zeit:

sudo dpkg-reconfigure tzdata  : Über Menü Zeitzone einstellen.

Servernamen ändern:

1) Zuerst in /etc/hosts den Servernamen ändern.
2) Dann in /etc/hostname.

VMware-Tools:

apt-get install open-vm-tools : VMware Tools installieren.
LVM

Logical Volume Manager (flexibles Managen von Festspeicher + Partitionen, sollte bei Installation eingerichtet werden, wenn es für die Systempartition verwendet wird.)

- pvscan , pvdisplay , pvs: Anzeigen der physical Volumes.

- vgscan , vgdisplay ,vgs: Anzeigen der Volume Groups.

- lvscan , lvdisplay ,lvs: Anzeigen der logical Volumes.

 - pvcreate /dev/sda3 : Initialise the partition /dev/sda3 as physical volume.

- pvresize /dev/sda1 . Das physical Volume /dev/sda1 auf Partitionsgröße erweitern.

- vgextend host-vg /dev/sda3 : Extend the volume group host-vg

- vgrename old-name-vg new-name-vg : rename volume group. Activate changes with vgchange -ay. (PROBLEMS: works, but not booting after renaming!!)

- lvrcreate -L +5G -n test77 vol_gr : Logical Volume test77 in der angebenen Volume Group erzeugen.

- lvresize -L +5G --resizefs vol_gr/test77 : Logical Volume test77 um 5G erweitern und das Filesystem angepassen. Analog reduzieren (auch root) mit lvreduce .

- lvextend -l +100%FREE --resizefs vol_gr/test77 : Logical Volume test77 möglichst weitgehend erweitern und das Filesystem angepassen.

- lvcreate -s -L 10G -n snap_lv_test vol_gr/lv_test : Erstellt vom logical Volume lv_test einen Snapshot von 10GB in snap_lv_test.

- lvremove vol_gr/snap_lv_test : Den eben erstellten Snapshot snap_lv_test entfernen.

- lvconvert --merge vol_gr/snap_lv_test : Spielt den Snapshot wieder zurück (bei aktivem Volume ist reboot notwendig).

- vgextend vol_gr /dev/sda3 : Erweitern der Volume Group vol_gr auf das physical Volume /dev/sda3 . Voraussetzung ist ein vorhandenes freies physical Volume, das z.B. mit einem Partitionstool erzeugt wurde.

Links: ubuuser, DigOcean, Krenn, ovaistariq, linux-tips, tecmint

VMware-Tools apt install open-vm-tools : VMware-Tools installieren.
apt install open-vm-tools-desktop : VMware-Tools für grafische Oberfläche (zusätzlich) installieren
Java apt install openjdk-9-jre : Installation des Java-Laufzeitumgebung.
apt install openjdk-9-jdk : Installation des Java-Entwicklungsumgebung.
Links: wiki.ubuntuusers.de/...
Wine Umgebung, um Windowsprogramme unter Ubuntu laufen zu lassen (https://www.winehq.org/).
1) add-apt-repository ppa:wine/wine-builds : Wine-Repository hinzufügen.
2) dpkg --add-architecture i386 : 32Bit-Architektur für Ubuntu anschalten.
3) apt-get update :
4) apt-get install --install-recommends wine-staging : Installation durchführen.
5) /opt/wine-staging/bin/wine notepad.exe : Notepad aus Windows zum Test aufrufen.
(Doku) (Wine Staging)
Server Desktop Auf einem Server einen resourcenschonenden Desktop installieren, z.B:
- apt install xfce4 : Xfce, ca 1,7GB HDD, 135 MB RAM. Es kann noch zusätzlich xfce4-goodies installiert werden, was auch immer das ist.
- apt install xorg lxde-core : LXDE, ca. 1,6GB HDD, 110 MB RAM
VIM apt install vim : Grundinstallation

VIM mit Github The Ultimate vimrc anpassen:
- git clone git://github.com/amix/vimrc.git ~/.vim_runtime : Vom Github The Ultimate vimrc holen (READ.md).
- sh ~/.vim_runtime/install_basic_vimrc.sh : Die Basisversion installieren.
- sh ~/.vim_runtime/install_awesome_vimrc.sh : Die Awesome-Version installieren.
 
KVM

Installation

  • Gute Anleitung Ubuntu Homeserver-Virtualisierung mit KVM .
    Hinweise: Damit der virt-manager per ssh zugreifen kann, muss auf dem Client noch ssh-askpass mittels sudo apt-get install ssh-askpass-gnome ssh-askpass installiert werden.

 

KVM Management Interfaces

 

qemu-img info hdd.qcow2 : List info about qcow2 image. (qemu-img)

qemu-img resize hdd.qcow2 +20G : Increase qcow2 image. (qemu-img)

Then start guest with SATA hdd (otherwise problems with hdd tools)! Then you have to increase the partitions inside the guest. Hint: use old fdisk , delete the old small partitions, create the new bigger partitions, fix partition type. Reboot. Then use pvresize /dev/sda5 .

Verschiedenes /
Tools
Eigene Applikation/Skript in Launcher/Favoriten bringen:
In ~/.local/share/applications einen MyApp.desktop File erzeugen (Info). Ausführbar machen. Dann wird die Applikation/Skript ganz normal gefunden und ist .

Bootbaren USB-Stick erstellen: (1) Anleitung/Tool www.thomas-krenn.com/.., (2) Tool UNetbootin . Hinweis: Bei mir brach Installation über USB-Stick öfter erfolos ab. Besser über CD/DVD installieren.

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 12.09.2022-10.46