====== Linux ======
https://wiki.debian.org/NetworkConfiguration
https://wiki.debian.org/InstallingDebianOn/Allwinner
* [[Kernel]]
* [[ubuntu18.4]] [[ubuntu20.4]] [[ubuntu22.4]]
* [[LXC]]
* [[Docker]]
* [[virtualbox]]
* [[GIMP]]
* [[multimedia]]
===== Einstellungen =====
==== Titelleisten-Icons ====
gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
==== Terminal-Breite ====
stty rows 50 cols 150
wenn der Zeilenumbruch nicht funktioniert kann man folgendes in der .bashrc probieren:
shopt -s checkwinsize
#if [ $(tty) == '/dev/ttyS0' ]; then
# trap resize DEBUG
#fi
apt install --no-install-recommends xterm
#resize-befehl in xterm
export PROMPT_COMMAND="resize &>/dev/null ; $PROMPT_COMMAND"
===== ppp ifup-script =====
Script in /etc/ppp/ip-up.d darf keine Dateiendung haben [[https://unix.stackexchange.com/questions/208343/vpn-script-at-etc-ppp-ip-up-d-not-autoexecuting-on-pptp-connection-establishe|Quelle]]
Beispiel ppp-default-route in separate routing-Tabelle:
PPP_LOCAL=$4
PPP_REMOTE=$5
PPP_IFACE=$1
ip route flush table telekom
ip route add $PPP_REMOTE/32 dev $PPP_IFACE src $PPP_LOCAL table telekom
ip route add default dev $PPP_IFACE table telekom
ip route show table telekom
exit 0
===== apt-get force ipv4 =====
apt-get -o Acquire::ForceIPv4=true update
[[https://www.vultr.com/docs/force-apt-get-to-ipv4-or-ipv6-on-ubuntu-or-debian|Quelle]]
permanent (als root):
echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4
[[https://unix.stackexchange.com/a/100887|Quelle]]
===== basis x-server =====
apt-get install --no-install-recommends xserver-xorg xinit openbox policykit-1 xterm xfonts-base
===== einfacher Mailserver =====
als Relay-Server (sendet Mails über einen externen Mailserver) für System-Angelegenheiten (infos, backup,...)
https://linuxundich.de/gnu-linux/system-mails-ohne-einen-mail-server-mit-ssmtp-verschicken/
===== screen =====
http://fractio.nl/2008/09/29/setting-session-name-in-screen/
screen -S Sitzungsname Befehl
===== wget =====
Ausgabeverzeichnis angeben
-P download in Verzeichnis
wget -P /path/to/folder
-O download als Datei
wget -O /path/to/folder/file.ext
===== prozessinfos =====
ps -o pid,args -C tcpdump
===== nano =====
Sprung in Zeilennummer: Strg+Umschalt+- (Strg+_)
Ersetzen: Alt+R
==== Einstellungen ====
sudo nano /etc/nanorc
=== Cursorposition ===
## Constantly display the cursor position in the status bar. Note that
## this overrides "quickblank".
set constantshow #temporär strg+C,
=== Zeilennummerierung ===
## Display line numbers to the left of the text.
set linenumbers #alt+# zum temporären deaktivieren
=== TAB-Breite ===
#/etc/nanorc
set tabsize 4
#temporäres umgehen (z.B. für Patches)
nano -T 8 datei
====== Datenträgerprüfung ======
#Dateisystem:
sudo fsck -f /dev/sdb1
#Prüfung auf defekte Sektoren
sudo badblocks -nsv /dev/sdb
====== NTP ======
apt-get install ntp
service ntp stop
ntpdate ptbtime1.ptb.de
service ntp start
====== zeit setzen ======
#timedatectl --help
timedatectl set-timezone CET #zeitzone setzen (CET/CEST)
date -s "2020-10-29 19:14" #aktuelle Uhrzeit setzen
hwclock -w #RTC setzen, sonst ist die Zeit nach dem nächsten reboot wieder falsch
====== update-alternatives ======
sudo apt-get install gcc-9-arm-linux-gnueabihf gcc-10-arm-linux-gnueabihf
sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-10 50
sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-9 50
sudo update-alternatives --config arm-linux-gnueabihf-gcc
arm-linux-gnueabihf-gcc --version
sudo apt-get install gcc-9-aarch64-linux-gnu gcc-10-aarch64-linux-gnu
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-10 50
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-9 50
sudo update-alternatives --config aarch64-linux-gnu-gcc
anderes beispiel
sudo update-alternatives --install /usr/bin/calc calc /usr/bin/gnome-calculator 10
====== umbenennen ======
Datei test wird in test.bak umbenannt (ohne zu verschieben)
mv /home/frank/test{,.bak}
====== irssi ======
===== einstellen =====
Server+nick einstellen
irssi -n NICK #irssi mit dem nickname starten
/network add -nick NICK -autosendcmd "/msg nickserv IDENTIFY *******" fn
/server add -auto -ssl -network fn chat.freenode.net 7070 #ports 6697, 7000 and 7070 for SSL-encrypted connections.
/SET nick xxx
/SET alternate_nick xxx
/nick alternatenick
/msg NickServ IDENTIFY mainnick password
/msg NickServ GROUP
https://freenode.net/kb/answer/registration
/alias nick_recover msg NickServ GHOST $0 $1; wait 2000; msg NickServ RELEASE $0 $1; wait 2000; nick $0; wait 2000; msg NickServ IDENTIFY $1
/network modify -autosendcmd "/nick_recover NICK PASSWORD" fn
/SET server_reconnect_time 300
https://irssi.org/documentation/startup/
===== fenster umschalten =====
/window 1-x #1=server-fenster
alternativ mit Strg+P (previous)/Strg+N (next)
/win list #zeigt die offenen Fenster im Server-Status (1) an
===== Abwesenheit =====
/away grund #Abwesenheitsmodus starten (Nachrichten landen im Server-Fenster #1)
/away #Abwesenheitsmodus beenden
====== udev ======
gleiche serial-adapter mit Symlink anhand der USB-Ports (hinter Hub)
https://askubuntu.com/questions/49910/how-to-distinguish-between-identical-usb-to-serial-adapters
udevadm info --attribute-walk --path=/sys/bus/usb-serial/devices/ttyUSB0
/etc/udev/rules.d/11-ttyusb.rules:
#r2 (first port) roothub-port.hubport
# KERNELS=="1-3.1:1.0"
# KERNELS=="1-3.1"
#r64 (second port=3)
# KERNELS=="1-3.3:1.0"
# KERNELS=="1-3.3"
KERNEL=="ttyUSB*", KERNELS=="*-*.1*", SYMLINK+="ttyUSB_R2"
KERNEL=="ttyUSB*", KERNELS=="*-*.3*", SYMLINK+="ttyUSB_R64"
====== sshd ======
===== qnap (entware) =====
nano /opt/etc/ssh/sshd_config #ggf. optionen anpassen (hostkey ecdsa/ed.../...)
ps | grep ssh
kill PID #PID= pid von /opt/sbin/sshd
/opt/sbin/sshd -E /tmp/sshd.log -o LogLevel=DEBUG3
tail -f /tmp/sshd.log
#bei Fehler "Bad ownership":
chmod go-w ~/;chmod 700 ~/.ssh;chmod 600 ~/.ssh/authorized_keys
#wenn fertig
/opt/etc/init.d/S40sshd restart
====== kernel kernelconfig (/proc/config.gz) ======
# modprobe configs
# zcat /proc/config.gz | grep -i hwmon
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_THERMAL_HWMON=y
====== mv-alternative ======
rsync -avh --progress --remove-source-files source target/
#delete empty directories (not done by rsync)
find source/ -type d -empty -delete
====== diverses ======
===== fsck erzwingen =====
in die kernel-cmdline:
fsck.mode=force
===== rc.local =====
https://www.troublenow.org/752/debian-10-add-rc-local/
===== VNC-Server =====
basierend auf https://www.scivision.dev/vncserver-setup-on-ubuntu/
apt install tightvncserver openbox
apt install lxterminal firefox-esr --no-install-recommends
~/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
unset SESSION_MANAGER
exec openbox-session &
~/startVNC.sh
#!/bin/sh
vncserver :1 -geometry 1024x768 -depth 8
nicht vergessen, die beiden scripte ausführbar zu machen
chmod +x ~/startVNC.sh ~/.vnc/xstartup
ich starte das script über die rc.local (s.o.), man kann natürlich auch ein init-script dafür machen
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-18-04-de
===== locales =====
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Lösung:
wenn noch nicht erzeugt die locales generieren
locale-gen de_DE.UTF-8
das in die /etc/environment:
LC_ALL=de_DE.UTF-8
LANG=de_DE.UTF-8
ggf danach nochmal
dpkg-reconfigure locales
nun sollte kein Fehler mehr auftauchen
locale -a
Lösung über /etc/default/locale hat bei mir nicht funktioniert