Linux
Logcheck rule additions to Debian Jessie 8.
Logcheck rule additions to Debian Stretch 9.
Logcheck rule additions to Debian Buster 10.
Logcheck rule additions to Debian Bullseye 11.
Handige Linux commando's:
Bash parsing
cat - cat standaard input (het gaat hier om het streepje) '' alle karakters tussen '' worden letterlijk genomen. "" alle karakters tussen "" worden letterlijk genomen, behalve: $`" !commando voert laatsteuit. $? geeft exit code van laatste commando. alias alias naar een commando configureren, ook bv met een default optie help display information about builtin commands. CtrL + R search in bash history (CtrL + Shift + R reverse)
File system
ls -lh ls: human readable size lsof open files van een proces (-p) of welke PID's hebben een file of dir. geopend. fuser welke gebruiker gebruikt een bepaalde file of dir. umount -f force unmount mkisofs is om cd ISO images te maken. dd if=/dev/hdc of=image.iso maak van een CD of DVD een ISO image. mount -o loop image.iso /mnt mount een ISO image. tar clpf - . | (cd /mnt/floppy; tar xpvf -) kopieert huidige direktorie naar nieuwe direktorie op andere HD. whereis locate the binary, source, and manual page files for a command whatis/apropos zoek commando's which locate a command, vooral handig met scripting tune2fs -l device geeft partitie informatie tune2fs wijzig filesysteem (bv max mount count en root reserved blocks) resize2fs /sbin/blkid info van alle filesystemen met UUID ddrescue disk recovery (zie package: gddrescue), eerst met optie -n voor snelle gemakkelijke data, daarna zonder -n voor de moeilijke rest. tree geeft files weer in tree mode findmnt geeft duidelijk overzicht mounted file systemen, beter dan mount
Systemd
locate --regex ctl$|grep bin welke systemd commando's zijn op het systeem aanwezig? systemctl main command: systemctl status/start/stop/restart/disable/list-dependencies (--reverse) apache2.service journalctl logfiles: journalctl -u ssh.service / journalctl --dmesg (-k) / journalctl --PID= hostnamectl host informatie/beheer: hostname, kernel, Linux version, architecture. localectl taal configuratie/beheer. loginctl ingelogde gebruikers en beheer networkctl apache2ctl systemd-analyze systeem boot performance. systemd-analyze blame/crtitical-chain.
Processes
kill -SIGHUP 'proc_id' herstart proces of reload configuratie files, proc_id blijft hetzelfde. lsof open files van een proces (-p) of welke PID's hebben een file of dir. geopend.
Network
iptraf grafisch netwerk gebruik ethtool netwerk tool, ethtool -i geeft ook driver / firmware info netstat -tulp poorten met processen weergave netstat-nat op de firewall: alle NAT connecties weergeven. conntrack connection tracking lijst beheren mtr continue traceroute ntpq -p localhost geeft gebruikte NTP servers weer met stats. netstat -tulp poorten met processen weergave ssh -D8080 hostname SOCKS5 proxy server via server hostname, zet webbrowser op SOCKS5 http://localhost:8080 curl --head url HTTP header info van een website sslscan --no-failed SSL Scanner, determine the ciphers that are supported
Packages (Debian)
aptitude show package package info aptitude search packagename zoek op packagename aptitude search ~description zoek op package description aptitude why waarom is package geinstalleerd (ivm dependencies en automatische installatie) apt-cache showpkg 'packname' package info apt-file search 'filename' zoek package met een bepaalde file, of 'dpkg -S' dpkg -l alle geinstalleerde packages + info (-p 'packagename' meer info en -L voor bestanden)
Performance
iostat / iotop htop interactive process viewer ionice IO scheduler vmstat -n 5 geeft elke 5 sec virt. mem. statistieken (disk io, swap, mem) dstat stats overzicht (CPU / disk / net / paging / system)
Users
id huidige user informatie: ID's en groepen
Tools
grep -v inversie, dus alles wat niet matched. grep -c telt aantal matched regels. egrep "x|y" geeft regels weer die zowel x als y bevatten. head / tail sed handig in scripts om tekst te wijzigen. xargs zorgt voor niet teveel argumenten op commandline, bv verwijderen van 100000 files kan met: 'ls|xargs rm' ipv 'rm *' wkhtmltopdf url pdf converteer website via een url naar een pdf file.
Scheduling
at eenmalig gescheduleerd commando (sluit met CTRL-d).
System info
uname systeem informatie dmesg geeft boot messages lsb_release -a geeft informatie over Linux systeem (versie, dist) /etc/issue geeft vaak Linux versie who -r huidig runlevel lshw hardware informatie lscpu geeft CPU info
Kopieer OS disk naar een nieuwe disk
- Voeg nieuwe disk toe
- Nieuwe partitie indeling + formateren
- Mount partities op /mnt. Maak ook de subdir's aan en mount deze ook
- Kopieer data: tar clpf - -X /root/excl / | (cd /mnt/; tar xpvf -)
- /selinux kan weg, aanmaken op nieuwe disk: /mnt /proc /sys /dev /run
- mkswap /dev/sdb7
- Wijzig nieuwe fstab naar nieuwe UUID’s: blkid
- Boot manager naar nieuwe disk. Voer kopje hieronder uit.
- Umount alles onder /mnt
- Shutdown en oude disk verwijderen.
excl file:
/proc /sys /dev /mnt /run
Nieuwe boot disk
mount /dev/sdb1 /mnt (sdb1 is de nieuwe root disk met de /boot dir.) grub-install --boot-directory=/mnt/boot /dev/sdb mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys mount --bind /dev /mnt/dev chroot /mnt update-grub
Standaard diskruimte
Vergroot waar nodig: #1 prim 1 GB / #5 log 6.1 GB /usr #6 log 2.9 GB /var #7 log 1 GB swap #8 log 512 MB /tmp #9 log rest /home
Video streaming
streamer ffmpeg
Overig
> /dev/pts/1 output naar ander console last laatst ingelogde gebruikers sysctl kernel parameters lezen/wijzigen (ook sysctl.conf) linphonec commandline SIP regular expression: ^ (begin regel), $ (eind regel)
DNS
dig @A.ROOT-SERVERS.NET . ns > /etc/bind/db.root updaten BIND root DNS servers
Postgres
backup database: pg_dump -f support.db -Fc support restore database: pg_restore -d support support.db
MySQL
Create a new database: mysqladmin -u root -p create databasename Log in and set the access database rights: mysql -u root -p At the MySQL prompt, set the permissions using the following command: GRANT ALL ON `user`.* TO 'user'@'localhost' IDENTIFIED BY 'passwd'; Change passwd: mysqladmin -u user_name -h host_name password "newpwd" Backup database: mysqldump -u user -p --databases databasename > sql-script Restore database: mysql -u user -p databasename < sql-script