Rychlé odkazy na této stránce: síť | disky a cdrom | systém | hledání | tisk | převody | audio | aplikace | mplayer | balíčky deb | rpm | cesty | ostatní


- Síť -
nastavení sítě
ifconfig ... aktuální nastavení sítě včetně všech informací
route -n ... nastavení routování
hostname ... název počítače
/etc/resolv.conf ... nastavení DNS
/etc/sysconfig/network-scripts/ifcfg-ethX ... nastavení (Mandrake, RedHat like)
/etc/network/interfaces ... nastavení (Debian)
routování + NAT
nastavit ip adresy, masku, dns atd.
povolení forwardování
	echo "1" > /proc/sys/net/ipv4/ip_forward
NAT (2 možnosti)
	(1) iptables -t nat -A POSTROUTING -o ethx -j SNAT --to ip_adresa ... pro statickou ip adresu serveru
	(2) iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE ... dymamická adresa serveru (např. přes DHCP)
aby fungovalo ftp klientům
	modprobe ip_conntrack_ftp
	ip_nat_ftp
skenování portů
nmap ip_adresa_nebo_název_počítače
-a ... pokročilé
-n ... nezjišťovat DNS adresu počítače
-p <rozsah portů> ... které porty skenovat
-v ... ukecaný režim
-P0 ... nesnažit se o ping (vhodné pokud firewall na cílovém počítači odmítá pingy)
wget - stahování
wget -rl 3 http://server.cz/neco.html
wget -c ftp://server.cz/soubor
-c ... naváže přerušené stahování
-r ... rekurzivní stahování
-l ... (k parametru -r) do jak velké hloubky se má rekurzivně stahovat - pro ftp kolik adresářů do hloubky; pro http jde podle odkazů na stránkách
-m ... mirroring (= -r -N)
-N ... stahuje co se změnilo
rsync - stahování
rsync -v -P <odkud> <kam>
odkud ... ftp://server.cz | user@host:cesta
kam ... aktuální adresář: .
-v ... více informací
-P = --partial --progress
--partial ... nechávat i jen částečně stažené soubory
--progress ... ukazovat postup
--bwlimit ... omezení rychlosti přenosu
--size-only ... při opakoveném stažení poronává soubory jen podle velikosti 
př:
rsync -v -P franta@stroj.cz:"/super\ cesta/" .
programy pro monitorování síťového trafficu
iptraf - konzolový monitor sítě, jen root, vlastní menu
ntop - webove (ip:3000), oki
ipac - konzolové, jen root, rychlý výstup s proteklými daty
nload	- konzolový, realtime graf
sntop	- konzole, jestli jsou spuštěny dané servery
vnstat - přehled (MB) prošlých dat za včera a dnes
ethstats - aktuální statistiky net (Mbps, pakety)
pktstat - kompletní přehled síťového provozu
          lehce stylu top - řazení podle max atd.
          ze kterých portů kam, ICMP requesty atd.
          na ftp uláže i co je stahováno
iptstate - konexe přes firewall (nezkoušeno)
připojování pomocí certifikátu
ssh-keygen -t dsa
cat ~/.ssh/id_dsa.pub | ssh uzivatel@server 'cat >> ~/.ssh/authorized_keys'

3 dílný seriál na rootu: ssh intimně aneb úvod do paranoii
self-signed certifikát
openssl req -new -x509 -nodes -out cert.pem -keyout key.pem -days 365
req ... cerifikační žádost
-x509 ... self-signed
-nodes ... nešifrován - není potřeba heslo
-out ... kam zapsat certifikát
-keyout ... kam zapsat klíč
-days ... platnost

Jako CommonName se zadává DNS jméno serveru nebo ip adresa.

Pro certifikát i klíč v jednom souboru:
cat key.pem cert.pem > apache.pem

Pro informace:
openssl x509 -in cert.pem -text
openssl rsa -in key.pem -text
-in ... odkud číst
-text ... čitelné pro člověka

Zjištění sériového čísla:
openssl x509 -in apache.pem -text | grep "Serial Number:" -A1 | awk /:..:/'{print "00:"$1}'
nastavování času ze serveru
ntpdate ntp.cesnet.cz
v balíčku ntp (ntp je network time protocol)
vnc
vncviewer -bgr233 -depth 0 -compresslevel 0 -quality 0 kam_se_pripojit[:cislo_obrazovky]
-> většina parametrů zajišťuje co nejmenší přenosy dat
-fullscreen ... na celou obrazovku - přepínání: F8
server: balíček vnc-server (Mandrake) -> spustit vncserver
IPv6 blacklist
do /etc/modprobe.d/blacklist.conf připsat:

#nechci IPv6 kvůli problémům s apache2 - spouští se jen na IPv6
blacklist ipv6
sftp only (bez standardního ssh přístupu) + chroot
/etc/ssh/sshd_config:

Subsystem sftp internal-sftp

Match user jmeno_uzivatele
  ChrootDirectory /cesta/k/sftp_chroot
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp

adresář /cesta/k/sftp_chroot nesmí být zapisovatelný pro uživatele jmeno_uzivatele 
- disky a cdrom -
vytvoření file systému
mkfs -t ext3 -N 200000 -m 2 /dev/hdXY
-t ... typ file systému (zde ext3 -> automaticky se vytvoří žurnál)
-N ... počet inodů (kolik inodů, tolik může být adresářů a souborů)
-m ... kolik % mista vyhrazeno pro roota
-c ... otestovat na vadné sektory
parametry ext2/ext3
tune2fs -i 0 -c 0 /dev/hda3
-i ... časový interval pro otestování disku 
-c ... maximální počet připojení disku do další kontroly (0 znamená vypnuto)
Rozhodně nedělejte, pokud si nejste vědomi důsledků.
info o disku, cdrom..
hdparm -i /dev/hdX
hdparm -I /dev/hdX ... podrobnejsi
nastavení disků a cdrom
hdparm -a 128 -A1 -c1 -d1 /dev/hdX
-a ... read ahead sector
-A ... lookahead on
-c1 ... 32bit I/O support
-d1 ... zapne DMA - problémy u některých disků - hlavně Western Digital (sledovat co se vypisuje ve /var/log/messages)
ne zcela bezpečné volby:
-m 16 ... sector for multi-sector (kolik jich disk zvládne je ve výpisu hdparm -i /dev/hdX)
-u 1 ... inerrupt unmask
zapnutí DMA
hdparm -d1 /dev/hdX ... jen pro toto spuštění
v Mandraku: /etc/sysconfig/harddisks -> nastavit USE_DMA=1
v Debianu /etc/hdparm.conf
-> sledovat jestli nehlásí chyby ve /var/log/messages 
-> často nefunguje se staršími disky (+/- <10GB), problémy mají údajně WD
namontování *.iso
mount -o loop soubor.iso kam_připojit
bezpečné smazání disku
Formátování nepomůže. Přepsání samými 0 není 100%.  
Nejlepší je dostatečně dlouho přepisovat náhodnými daty.
while true; do
  dd if=/dev/urandom of=/dev/hdX bs=1M
done
kontrola ext3 souborového systému
fsck.ext3 -C0 /dev/hdXY
-C0 ... zobrazí průběh
-c ... otestuje na vadné sektory v režimu jen čtení
-cc ... otestuje na vadné sektory v režimu čtení/zápis (data zachová)
-t ... po skončení vypíše časové statistiky
-v ... více informací
-y ... na všechny otázky automaticky odpoví „ano” 
šifrování oddílu
#zkontrolovat disk a přepsat náhodnými daty
badblocks -c 10240 -s -w -t random -v /dev/sdX

aptitude install cryptsetup hashalot

#vytvořit oddíl na disku
cfdisk /dev/sdX

#nastavit LUKS (Linux Unified Key Setup)
cryptsetup --verbose --verify-passphrase luksFormat /dev/sdXY

#otevřít zašifrovaný oddíl a přiřadit jej virtuálnímu oddílu
cryptsetup luksOpen /dev/sdXY crypt_sdXY

#vytvořit souborový systém (+ různé optimalizace)
mkfs.ext3 -j -m 0 -O dir_index,filetype,sparse_super /dev/mapper/crypt_sdXY

#pro zavření virtuálního oddílu
cryptsetup luksClose /dev/mapper/crypt_sdXY

Čerpáno z: www.hermann-uwe.de/blog/howto-disk-encryption-with-dm-crypt-luks-and-debian 
- systém -
informace o počítači a systému
uname -a
less /var/log/messages ... chyby atd.
lsmod ... používané moduly
lspci [-v] ... co je na pci sběrnici (-v ... více informací)
statistiky
top
vmstat 2
dstat ... barevné sledování procesor, disk, net, stránkování, system
sar/atsar ... ukládá do databáze a ukazuje statistiky zpětně za určité období
memstat ... kompletní přehled zabrané paměti kterými procesy
iostat ... hardcore statistiky disku
mpstat ... altuální systémové statistiky
trasování programu - hledání problému
strace příkaz
strace -n pid(id procesu)
př: strace krusader
procesy
fuser zařízení
př: fuser /dev/dsp
-> vypíše čísla procesů, které používají dané zařízení
statistiky souboru
stat název_souboru_nebo_adresáře ... statistiky vytvoření, přístupu atd.
historie příkazů
history [-počet] ... vypíše historii příkazů (posledních "počet" příkazů)
!! ... zopakuje poslední příkaz
!4 ... zopakuje příkaz číslo 4
!$ ... zopakuje poslední parametr posledního příkazu
!^ ... zopakuje první parametr posledního příkazu
!* ... zopakuje všechny parametry posledního příkazu
!:0 ... nultý parametr posledního příkazu (čili samotný příkaz bez dalších parametrů)
!:2-4 ... druhý až čtvrtý parametr
!:-3 ... nultý až třetí parametr
!847:2-4 ... nemusíme samozřejmě operovat jen s posledním příkazem - takto pracujeme s příkazem číslo 847
!!:s/řetězec1/řetězec2/ ... provede poslední příkaz + nahradí řetězec1 řetězcem2 (stejné jako ^string1^string2^)
přesměrování chybového výstupu do "koše"
2>/dev/null
př: grep bash * 2>/dev/null
zjištění typu souboru
file soubor
př: file soubor.iso ... řekne i jestli je bootovatelné atd.
zjištění ssh public klíče
echo /etc/ssh/ssh_host_*|xargs -n 1 ssh-keygen -l -f
jaké knihovny potřebuje aplikace
ldd soubor
př: ldd /usr/bin/centericq
znovunačtení tabulky oddílů
partprobe [-s] [zařízení]
-s ... přehled zařízení a oddílů
př: partprobe
bezpečnost systému
snort - intrusion detection system
portsentry - detekuje skenování portů
chkrootkit - detektor rootkitů
rkhunter - hledá známé rootkity a díry v systému
odhalení hesla (kontrola síly hesla)
john (john the ripper)
john <soubor> ... pokusí se prolomit všecha hesla nalezená v daném souboru
john -users:<login> <soubor> ... jen konkrétního uživatele
john -show <soubor> ... rozluštěná hesla
john -status ... jak jsme daleko
john -restore ... pokračuje v naposledy spuštěném
při spuštění zobrazí po stisku klávesy aktuální info
otevřené soubory aplikace
lsof -p <PID>
konfigurace přístupu na ssh
/etc/ssh/sshd_config ... např. "AllowUsers pepa@127.0.0.*"
/etc/security/access ... např. "+ : pepa : 127.0.0.0/24"
- hledání -
locate
locate část_názvu_souboru
updatedb ... aktualizace databáze souborů
find
find [cesta] [výraz]
-type f ... normalní soubor
-type d ... adresář
-exec <příkaz> {} \; ... provede příkaz s najitým
-ok <příkaz> {} \; ... zeptá se zda provést příkaz s najitým
-atime +počet ... s posledním přístupem více než počet dní
-perm -022 ... je zapisovatelný jak pro skupinu tak pro ostatní (o další příznaky se nezajímá)
-perm +111 ... ja nastaven příznak x alespoň pro jednoho z user, group, other
-printf %f\ %m\\n ... vypíše jméno souboru, mezeru, práva, nový řádek

příklady:
find -type f -exec chmod o-w,a-x {} \;
find -type d -ok chmod o-w {} \;

find ./ -atime +30 -exec ls -l {} \;

find -type f -perm -022 -printf %f\ %m\\n -exec chmod g-w,o-w {} \; 
find -type f -perm +111 -printf %f\ %m\\n -exec chmod a-x {} \;
find -type d -perm +022 -printf %f\ %m\\n -exec chmod g-w,o-w {} \;
Prohledávání souborů
grep -rl co_hledat kde_hledat
-l ... vypisovat názvy souborů, které obsahují hledané
-r ... rekurzivně (čili i podadresáře)
-v ... invert -  vypíše řádku které neobsahují zadané
- tisk a příprava na tisk -
spojování pdf souborů
pdftk prvni.pdf druhe.pdf cat output vysledne.pdf
pdftk ... balík pdftk 
pdfjoin prvni.pdf druhe.pdf --outfile vysledne.pdf
pdfjoin ... balík pdfjam

pdftk bylo při mém testování podstatně rychlejší a výsledné pdf měly menší velikost
pdfjoin nevadí pdf práva, která zakazují kopírování
více stránek na jednu stránku v pdf
pdftops vstup.pdf - | psnup -8 -l | ps2pdf - vystup.pdf
... balíky: xpdf-utils psutils gs-common
-8 ... 8 stran na 1
-l ... stránky jsou na vstupu otočeny doleva (může se stát při převodu)
pdfnup vstup.pdf --nup 2x2 --delta "-2cm -2cm" --outfile vystup.pdf
... balík pdfjam
--nup ... styl výstupu (2x1 dvě stránky vedle sebe, 1x2 vertikálně nad sebou)
--delta ... mezera vložená mezi stránky, "-2cm -2cm" znamená více smrsknuté k sobě

pdfjam má šílené množství závislostí, takže u mě chtělo asi 600MB dat, proto jsem přidal ještě jednu možnost
výběr stránek z PostScriptu
psselect -p 2-7 vstup.ps vystup.ps
-p ... výběr stran
více stránek na jednu stránku v PostScriptu
psnup -n 8 vstup.ps vystup.ps
psnup -l -n 8 -m 0.5cm vstup.ps vystup.ps
-n ... počet stránek na jednu stranu (jakým způsobem řeší sám program)
-l ... stránky jsou v původním souboru otočeny doleva
-m 0.5cm ... okraje výstupu zvětší o 0,5 cm
-d ... rámečky okolo každé původní stránky
tisková fronta
lpq ... vypíše čekající úlohy
lprm ... výmaz úloh ve frontě
- převody -
Unix 2 Dos
Pro převod textu z Linuxového (Unixového) formátu do Windowsovského (DOSového).
Změní ukončení řádků z LF (tušim) na CR/LF.
cat původní_soubor | unix2dos > vysledny_soubor
nebo unix2dos soubor #převede a přepíše
unix2dos -n puvodni vysledny
Dos 2 Unix
opak Unix2Dos
změna kódování
iconv -f cp1250 -t iso8859-2 vstup.txt>výstup.txt
-f ... z jakého
-t ... na jaké
kódování cp1250, iso8859-2 UTF-8 ...
- audio -
převod audio cd na ogg, mp3 atd.
možnosti:
1)grip - ideální grafický nástroj se spoustou možností nastavení  
2)audiocd:/ - velmi jednoduché, stačí např. v konqueroru nebo krusaderu zadat jako adresu
3)kaudiocreator (netestováno)
převod wav na ogg, mp3
oggenc -q4 neco.wav -o neco.ogg
-q ... kvalita (nejnižsí -1, nejlepší 10)
lame -v neco.wav neco.mp3
-v ... variable bitrate
přejmenování mp3 podle id3 popisu
mp3rename -s '&k_&t' ... nastavení výchozího stylu pojmenování mp3
  &k ... číslo skladby
  &t ... název skladby
  -> výsledek př: 12_Nazev skladby.mp3
mp3rename -i *.mp3 ... pro kontrolu si nechat vypsat id3 popisy
mp3rename *.mp3 ... přejmenuje soubory
  -p ... přidat k číslu skladby 0, pokud je menší než 10 (v mé verzi 0.6 bohužel nejde)
- aplikace -
checkinstall
-při kompilování zdrojáků napsat místo make install -> checkinstall
-> místo instalace se vyrobí rpm (nebo deb...) -> nainstalovat z něj
-> lépe se odinstlovává a neuděláte si bordel v systému
-> vytvářená rpm se ukládají do /usr/src/rpm/srpms/ (Mandrake)
ukázka a návod: http://iglu.cz/wraith/linux/worker_install.html
anglický slovník
komerční - např Lingea
výborný free konzolový - wbook http://kvik.cao8.cz/~fidlej/c.html#wbook
emulátor SNES (Super Nintendo Entertainment System)
zsnes - balík zsnes
zsnes nejaka_ROM.smc ... příklad spuštění
klávesy:
	aszx
	šipky
	[enter]
	p
ukládání a nahrávání pozic:
	F2 ... uložení pozice
	F3 ... výběr slotu pro načtení/uložení
	F4 ... načtení pozice
pomocí [escape] menu emulátoru
	config -> video -> filters: nastavit "HQ filter" (rozdíl bez HQ a s HQ)
	config -> video -> modes: podle libosti video mód (1024x896)
	misc -> misc keys: nastavit klávesu pro screenshot
	config -> options: sshot vybrat png
screenshoty ze hry jsou maličké (256x223), pro větší to chce sejmout přímo ze systému
SNES romy lze sehnat např. zde (není legální je nabízet, tak kdo ví jak dlouho zde budou)                           
obálky na CD
glabels ... obálky a štítky na cokoliv
	netiskne ohraničení -> lze si pomoci čárou
kcdlabel ... získá názvy hudebního cd z cddb
	špatně nastavitelné
gcombust
	File -> Print cover
	tiskne přes cdlabelgen
	rychlý výstup, málo nastavitelné
+ ls & tree - ideální pomocník na data
tree
	-d ... jen adresáře
	-A ... ANSI znaky (hezčí)  				 
- Mplayer -
přehrávání filmů s titulky v mplayeru (1)
mplayer -vo sdl:x11 -ao sdl -vm -nolirc -nortc -subfont-text-scale 4 -subcp cp1250 -sub "titulky" "video"
-vo ... video out
-vm ... mplayer se pokusí přepnout do co nejlepšího video módu
-subcp ... v jaké kódování jsou titulky (je nutné mít nainstalován iconv)
problémy tohoto způsobu - ruší GUI v gmplayeru
přehrávání filmů s titulky v mplayeru (2)
mplayer -vop expand=0:-120:0:50 -stop-xscreensaver -subcp cp1250 -subfont-text-scale 4 -sub "titulky" "video"
-vop expand ... změní rozměry okna pro video -> titulky a OSD nepřekáží v obraze
-stop-xscreen-saver ... vypne šetřič
-subcp ... v jaké kódování jsou titulky (je nutné mít nainstalován iconv)
-subfont-text-scale ... velikost titulků
-sub ... kde jsou titulky - většinou není potřeba zadávat
přehrávání dvd
mplayer dvd://1 -aid 129 -sid 0
dvd://1 ... číslo titulu
-aid 129 ... audio kanál
-sid ... id titulku

informace o dvd:
mplayer dvd://1 -v
- balíčky deb -
vyhledávání debtags
dokáže byhledávat balíky podle podobnosti s jinými, podle zařazení a vůbec podle všeho co si člověk dokáže představit
debtags update ... aktualizuje databázi
debtags show hdparm ... zobrazí info
debtags related -d 3 hdparm,smartmontools ... zobrazí balíky podobné zadaným
	-d ... maximální rozdíl podobnosti
- rpm -
rpm -qa ... vypíše vše co je nainstalované
-qa ... question all - vypsat vše
použití:
rpm -qa | sort | less ... výsledek seřadí abecedně a připraví k prohlížení
rpm -qa | grep co_hledám ... prohledávání výsledku

rpm -qi balík ... informace o nainstalovaném balíku

rpm -qip balík soubor.rpm ... informace o balíku *.rpm

rpm -qf soubor_na_disku ... ke kterému balíku tento soubor patří

rpm -V balík ... ověří co se v balíku změnilo (konfigurační soubor vůči databázi)

rpm -ql balík ... co všechno k tomuto balíku patří
rpm -qd balík ... dokumentační soubory patřící k tomuto balíku
rpm -qc balík ... konfigurační soubory patřící k tomuto balíku

rpm -e balík ... odstranění balíku

rpm -Uvh balík.rpm ... nainstaluje balík.rpm, pokud existuje starší verze tak upgradne
urpm (Mandrake)
urpmi co_instalovat
urpmq --headers ftp ... hledat balíky, které mají v hlavičce ftp
urpmq --list ... vypsat dostupné balíčky
urpmf --description ftp ... hledat balíčky, které mají v popisku ftp
urpmf --summary ftp ... hledat balíčky, které mají ve zkráceném popisku ftp
aktualizace systému (Mandrake)
1) urpmi.update --update ... aktualizuj zdroje pro update
2) urpmi --update --auto-select ... aktualizuje z updatu co je potřeba
- cesty -
Automatické spouštění aplikací po startu KDE
~/.kde/Autostart/(zde odkazy)
KMail adresář
-uloženo v ~/.kde/share/apps/kabc/std.vcf
-nastavení pohledů v ~/.kde/share/apps/kaddressbook/
- ostatní -
klávesové zkratky v KDE
Ctrl+Alt+BackSpace ... restartuje X (grafický režim) a odhlásí vás
Ctrl + Esc ... tabulka s procesy
čas souboru (*.jpg) z exifu
jhead -ft soubor
slovníky (nejen) do OpenOffice
myspell-*
myspell-en_GB
myspell-en_US
rozdělení velkých souborů
split -b 100m -d rozdel.iso vysledek- ... vysledne soubory budou vysledek-00 atd.
-b ... velikost souborů
-d ... pro označení rozdělených souborů použít čísla
mysql zálohy a obnovení
cas=$(date +%Y_%m_%d-%H:%M) ... načtení data a času (formát 2008_01_16-16:30)

mysqldump -p -u <uživatel> --opt -B <databáze> > $cas-zaloha.sql ... export

mysql -p -u <user> <databaze> < zaloha.sql ... import

Různé statistiky - momentálně testuji:

[CNW:Counter] návštěv od 23. 6. 2005