Inhaltsverzeichnis
Linux
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 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
permanent (als root):
echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4
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 <file.ext> -P /path/to/folder
-O download als Datei
wget <file.ext> -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
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"
ftdi 4xuart
UBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="ftdi_r2" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", ENV{ID_USB_INTERFACE_NUM}=="01", SYMLINK+="ftdi_r64" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", ENV{ID_USB_INTERFACE_NUM}=="02", SYMLINK+="ftdi_r3" SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", ENV{ID_USB_INTERFACE_NUM}=="03", SYMLINK+="ftdi_r4"
udevadm control --reload-rules && udevadm trigger
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
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