====== Contents ====== # Linux course syllabus ---- ## Beginner * Introduction: * Unix philosophy: Do One Thing and Do It Well (DOTADIW) * How deep is deep enough * Style is made of certain conscious choices * Issues: Speed(Google), Concentration(Questions), Boundaries(Sysadmin, DevOps, Programmer) * Note-taking: Zettelkasten, Second Brain, Obsidian, TiddlyWiki, DokuWiki * Update syllabus on the go * Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds * https://distrowatch.com : Debian/Ubuntu/RedHat/CentOS/Fedora/ArchLinux/Manjaroi/Mint/Kali/Slackware * http://lxer.com : Linux News * Installation * Debian * amd64 / i386 / netinstall * A Brief Tour * Login / id -u -g / w / who / whoami * logout / exit / <ctrl+d> * clear / <ctrl+l> * reboot / poweroff / halt * passwd * Virtual Terminals: Alt-F1, Alt-F2, ... * Shift-PgUp, Shift-PgDn * ssh client / putty * Files and Directories * ls -lha * pwd * Home Directory * file * Reuse previous commands * Using TAB for completion * cd / cd .. / cd - / cd ~ * mkdir -p / rmdir * tree * Relative / Absolute Addresses * rm -rf * cp -rv * mv * wild cards * alias / unalias * cat / more / less * head / tail -f * touch * ln -sfn * man, info * whereis, apropos, man -k * whatis, makewhatis * which, type, enable * /usr/share/doc * find * slocate / updatedb * grep * ps / kill / killall * chown * chmod * mount / umount / eject , (cdrom, usb) , fstab * tar * zcat / zless / zgrep * unzip / unrar * xargs * diff * date, cal / unix timestamp * hexdump -C * Shell Variables (PATH, TMOUT) * piping / tee * split * uptime / free * top / htop / atop * vmstat / iostat / iotop * screen * md5sum * wget / curl * dd * dos2unix / unix2dos * hdparam
  • Editing text files: vi
  • Disks and Partitions
  • Networking
  • User Management
  • Process Management
  • Bash Shell
  • Filesystem Hierarchy Standard
  • Kernel
  • Servers and Clients
  • Essential Commands
  • Package Management: apt, yum, pkgtool, slackpkg, slapt, sbopkg, epkg
  • SSH Server / ssh client, putty / scp, winscp / rsync / tunnel / sshfs
  • netstat -nlp -tunapo
  • NFS: Network Filesystem
  • Open-iSCSI
  • RFC/BCP: rfc1818
  • PPPOE Client / Dialup
  • Source code compile
  • jdate,jcal
  • epkg / encap
  • ipcalc
  • Cache Server: squid (transparent)
  • logrotate / syslog / rsyslog / syslog-ng
  • Firewall: Stateless, Statefull
  • Filesystem Hierarchy Standard : https://refspecs.linuxfoundation.org/fhs.shtml /proc /sys
  • regex / pcre / egrep
  • sed: stream editor
  • awk
  • Web Server: apache, php, lighttpd/ nginx, php-fpm
  • Apache: htaccess, htpasswd / Nginx
  • openssl / https
  • Database Server: mysql, postgres ,redis
  • phpmyadmin
  • wordpress / drupal / joomla
  • MS-SQL: FreeTDS / UnixODBC
  • SNMP Server: net-snmp
  • Scheduling: crontab / atd / anacron
  • smokeping
  • ntpdate / ntpd / chronyd / hwclock
  • Bandwidthd
  • Zabbix
  • Cacti
  • Nagios
  • collectd
  • git
  • minicom
  • Traffic Control: tc, htb, iptables, lartc.org
  • Policy Routing: ip rule, ip route, iptables
  • Bridge: brctrl
  • Proxy ARP
  • DNS Server - Authoritative, forward-only, master/slave : bind
  • Dynamic DNS: ISC DHCP, BIND
  • dnsmasq
  • Squid: tproxy, wccp
  • Super Server / inetd / xinetd
  • telnet Server
  • tftp Server
  • ftp server: pureftpd, proftpd
  • ftp client: ncftp, lftp
  • Socks Server: dante
  • Quagga: OSPF / BGP / RIP / IS-IS
  • vrrp / keepalived
  • Configuration management: Chef, Puppet, Ansible, SaltStack ,CFEngine
  • data-serialization formats: YAML, XML, JSON
  • Kernel Upgrade
  • Lilo / Grub / Syslinux
  • init / systemd / run level / sysV
  • ACL / getfacl / setfacl / chattr
  • Network Scanning: nmap
  • webmin
  • mc / ranger
  • VLAN management: vconfig
  • Bridge: ebtables, arptables, arp, arping
  • Network Access Server: Radius Server (freeradius), VPN Server(poptop / pptpd), PPPOE Server
  • OpenVPN/ vtund / l2tp/ ipsec / iptunnel
  • Dark Web: Tor / Tor-Browser / Tails
  • cryptocurrency : Blockchain/mining/ wallet/ Bitcoin, Ethereum
  • Samba / openldap / kerberos / SMB,CIFS / NIS
  • lxc / docker / kvm / libvirt / xen / qemu
  • HAProxy: TCP/HTTP Load Balancer
  • varnish
  • Kubernetes: automating deployment, scaling, and management of containerized applications
  • Perl / CGI
  • Python / Django
  • Ruby / Rails
  • IPv6 / HTTP/2 / QUIC
  • Infrastructure as code (IaC): terraform
  • Prometheus
  • Grafana / Graphite
  • ELK: Elasticsearch, Logstash, and Kibana
  • Databases: Neo4j Cassandra FluidDB MongoDB OrientDB cloudant (couchdb) Couchbase RethinkDB ArangoDB MarkLogic ClickHouse InfluxDB Druid Snowflake Redshift BigQuery
  • Kafka: Distributed Streaming Platform
  • Hadoop: distributed processing
  • Digital Radio: icecast2 / ices
  • Firewalls: iptables / ipset / recent / port-knocking / firewalld, ufw, nftables
  • Fluentd: data collector
  • Node.js: back-end JavaScript runtime environment
  • Load Balancer: Seesaw, LoadMaster, ZEVENET, balance (https://balance.inlab.net/), pen (https://github.com/UlricE/pen)
  • DNS high-availability : PowerDNS dnsdist, OpenBSD relayd
  • DRBD: Distributed Replicated Block Device
  • VNC: tightvnc, x11vnc
  • SELinux
  • ---- ## Intermediate -- Multiple Softwares all beginner topics in depth jump into other distros client X Window dpkg-reconfigure tzdata stat shred DNS / Unbound / knot
  • Mail Server: Qmail / vpopmail / mysql / dovecot / roundcube / postfix / iredmail / daemontools
  • remote syslog
  • Network Sniffing: tcpdump / ngrep / tcpick
  • MRTG / iptraf / nload / iftop
  • Update / Upgrade OS https://tldp.org/LDP/GNU-Linux-Tools-Summary/html/index.html
  • Bash Scripting (variables, for, case, if, functions) https://www.gnu.org/software/bash/manual/html_node/index.html
  • Bash Startup Files : https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html
  • pwgen ---- ## Advanced
  • LVS: Linux Virtual Server Cluster / Piranha Configuration Tool
  • PHP: CakePHP, Lerevel, CodeIgniter, yii, Zend Framework
  • Knot / Slpit Domain scrpting / source reading security / rootkit ---- ## Expert LFS Programming Python C ----