# Legyél linux guru jól :) by atya '99 # hakhakhakhak # A leírás gyakran tartalmazhat regexp-et! :)) # # History: # 1999.11.02 atya: the 1st version Olvasd el és értsd meg a "A UNIX operációs rendszer" című könyvet Brian W. Kernigen és Rob Pike tollából (kötelező olvasmány) Általános imertetek: pipeing, regexp, folyamatkezelés, állományok tulajdonságai (eszközök is!) Fontos állományok: /boot/.* /proc/.* /dev/.* /etc/(inittab|.*version|inputrc|issue.*|motd|ld.so.conf|lilo.conf|login.defs) /etc/(passwd|shadow|group|gshadow|host(name|s|.(allow|deny|equiv))|networks) /etc/(rc.\.d/.*|skel/.*|securetty|shells|sudoers|modules|conf.modules|fstab) /etc/(protocols|services|resolv.conf|environment) Szükséges parancsok és funkciók: sh, bash(, csh, tcsh)? mail (-s), mutt, pgp (-k(g|a|r|x|v(c|v)?|e)), man (-M|), info, pinfo, lynx n?vim?|emacs date (-s), time, file, w(ho)?, passwd, talk, write, wall, cron, crontab (-e), loadkeys, setfont, uname (-a), (whiptail|dialog) init, getty, mgetty, halt, reboot, shutdown cd, ls (-larRmdiksSt), ln (-s), rm (-rf), cp (-arRslu), find (-depth -size -type -name -newer -ls -exec -print(0|f)? ), cpio (-pdvmio0H), tar (zxctvf), gzip (-dqc), bzip (-d), compress, uncompress, mv, (rm|mk)dir, ch(mod|own|grp) (-R), dd (if of count block), touch, du (-shk), df (-kh), pwd fdisk, su (-), sudo, dmesg, syslog(-ng)?, mkfs (-t), mkswap, swapon, u?mount (-ot), fsck (-tAPRar), tune2fs, mknod, sync echo (-n), printf, cat, tac, (e|f)?grep (-v), tail (-cn), head (-cn), sort (-rnz), uniq (-cdfsui), cut (-bcdf), diff, patch (-p), cmp, od, sed (s///g), tee (-a), tr, wc, xargs, more, less, zcat, zless, z(e|f)?grep kill, killall, ps, jobs, bg, fg, fuser, top ifconfig, route, netstat, ping, tcpdump, ipchains, host, dig, hostname, nslookup, pppconfig, (minicom|kermit), lsof, fuser, nc login, telnet, ftp, ncftp, ssh, scp, slogin, rsh, rcp, rlogin test, [, sleep, false, true make, make-kpkg, dpkg-buildpackage, insmod, lsmod, modprobe, lilo X, xinit, (wmaker|enlightenment|kde|icewm), xterm, xdm, wdm (apt-get, apt-cache, dpkg)|rpm, alien ldd, nm, depmod (-a) Opcionális (hasznos) parancsok és csomagok: mt, ntop, iptraf, swatch Szükséges alrendszerek (mindenből egyet tudni kell telepíteni zárójeben ajánlat) mail (exim) dns (bind) web/ftp-cache (squid) állományszolgáltató (samba v coda) pop3 szerver (qpopper) ftp szerver (proftpd) sshd !telnet Szükséges programozási nyelvek: sh <-- alapvető! nagyon jól ismerni awk(, perl)? <-- _nagyon_ hasznos!! c(, c++)? <-- alapvető Feladatok: Az elejen soha ne telepíts olyan szoftvert, ami nem Unix standard. Ez segít megszokni az eleinte kissé nehézkesnek tűnő programok kezelését is. Később hálás leszel mikor egy vt100 előtt ülsz és probálsz rendbehozni egy feltört Unixware-t... Most még ne használj semmi szutyok grafikus programot. Maximum böngészőre lesz szükséged (de ugye annak ott van a lynx :)). Telepíts Stabil Debiant CD-ről (Vigyázz mit teszel fel. Javaslom a semmit. Aztan csak akkor tegyél fel valamit, ha szükséged van rá. Akkor is elővigyázatosan.) Olvass sok man-t, info-t. Javaslom szedd le a debian mirrorok valamelyikéről a pinfo forrását, és fordítsd le .deb csomagba. Azzal olvass man-t és info-t. Állítsd be a telefonos hálózatot. Tegyél fel csomagszűrő védelmet a külső behatolás ellen. Szedd le a legújabb kernelt. Konfiguráld be és fordíts belőle .deb csomagot. Upgradeld a rendszert Unstable-re net-ről apt-vel (ha túl nagy akkor egy egész éjszaka is eltarthat!) Tedd működőképessé. Írjál scriptet ami cron-bol óránként lefut, és ha az egyik partíció 90%-ig megtelt, akkor levelet küld egy config állományban megadott arcnak. írd meg ugyanazt awk-ban. írd meg ugyanazt perl-ben. írjál mentőscriptet sh-ban, ami lementi az egész állományrendszert vagy inktrementális backup-ot csinál, mintaállomány(regexp) alapján kihagy állományokat és könyvtárakat. A kimenet egy backup.cpio.gz nevű állomány legyen a /var/backup könyvtárban. Mindent ellenőrizz le (a konfig állomány és a szükséges könyvtárak meglegyenek). Az előbbi feladatot írd meg perl-ben is. Építs lokális hálózatot, ahol az egyik gépnek a másik gép route-ol a modem felé. Tiltsd ki a belső gépről a http forgalmat. Levelezzél pgp-vel és mutt-al. Állíts be minden programot úgy, hogy a magyar nyelv ne törje a nyelvüket. Ne levelezz pop3-on. Állíts be saját mail szervert. A web böngészéshez húzzál fel egy proxyt. Húzzál fel saját domain-t a lokális hálóra, ha a belső gépnek a kapugép MX szerint tud levelet küldeni, akkor már kezd alakulni :)) Húzz fel egy getty-t a ttyS0-ra és a másik gépről lépj be minicom-mal vagy kermit-tel. Húzzál fel két Xwindow-t, és az egyiken menő xdm-et távolról érd el. A másikon ne fusson más, csak X parancs. Másolj ssh (!) -val.