Linux
Logcheck rule additions to Debian Jessie 8.
Logcheck rule additions to Debian Stretch 9.
Logcheck rule additions to Debian Buster 10.
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.
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
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