linuxtero

Linuxtero

Okruhy příkazů, preferované aplikace a odkazy v jednom

Pokud víš, uprav a vylepši

Do každého skriptu přidávejte cestu k interpretu - nazývá se shebang\



Každý skript by měl nakonci vracet nějakou hodnotu, defaultně:\

exit 0

=== Cykly ===

for (( a=0 ; $a<8 ; a=$a+1 ))
do
  echo $a
done
for file in *.sh; do
  # Název adresáře může být i skripty.sh!
  if [ -f "$file" ]; then
    echo $file
  fi
done

i = 0
for i in 1 2 3 4 5 6 7 8 9 10; do
  echo $i
done
$i = 0
while [ "$i" -ne 100 ]; do
  # Konstrukci $(()) zavedl shell ksh a je rychlejší než příkaz expr
  i=$((i + 1))
  echo $i
done
$i = 0
until [ "$i" -eq 100 ]; do
  i=$((i + 1))
  echo $i
done

Funkce

### Může být v rozsahu (0-255), návarová hodnota 266 je rovna 0, 267=1, atd...
function ciselna_navratova_hodnota() {
 return $1
}

ciselna_navratova_hodnota 276
hodnota=$?
echo $hodnota
### Funkce neumí vracet řetezce, je nutno řešit přes globální proměnné
function vrat_retezec() {
 retezec=$1
}

vrat_retezec ahoj
echo $retezec

Příklady

Skript vygeneruje číselný řetězec, počet čísel se zadává argumentem. bash generator.sh 12

### generator.sh ###
function random_number() {
  NUMBER=$[ ( $RANDOM % 9 ) ]
  return $NUMBER
}

function generate_number() {
  for (( a=0 ; $a<$1 ; a=$a+1 ))
  do
    random_number
    CISLO="$CISLO$?"
  done
}

generate_number $1
echo "$CISLO"

Jak vytvořit v QT Program Co instalovat:

apt-get install qt4-designer qt4-doc

Jak složit program v QT4 do „spustitelného“ tvaru:\ 1) V QT4 designeru vytvořit formulář (jakýkoliv)\ 2) Pojmenovat a uložit formulář „formular.ui“\ 3) V terminálu přejít do složky se souborem „formular.ui“\ 4) Vytvořit soubor, kde bude hlavní vlákno. V souboru je důležité upravit inkludování hlavickovy soubor formuláře, vzniklého při budoucí kompilaci, ve spravnem tvaru „ui_formular.h“

gedit main.cpp
#include "ui_formular.h"
int main(int argv, char* argc[])
{
    QApplication app(argv, argc);
    CMainDlg* dlg = new CMainDlg;
    dlg->setupUi();
    dlg ->show();
    return app.exec();
}

5) Vytvoříme projekt, vytvoříme makefile a zkompilujeme

qmake -project
qmake -makefile
make

Output:

/usr/bin/uic-qt4 formular.ui -o ui_formular.h
g++ -c -pipe -fpermissive -g -Wall -W -D_REENTRANT -DQT_SHARED -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o main.o main.cpp
g++ -Wl,--no-undefined -o Program main.o    -L/usr/lib -lQtGui -lQtCore -lpthread

6) Spustíme

./Program

Win) Kompilace qmake -project qmake mingw32-make

Konzoloví klienti

  • Finch - konzolový klient Pidgin

Posílat SMS přes Jabber (njs.netlab.cz „SMS transport“) na GSM telefon, přidat kontakt ve tvaru:

+420_cislo_@sms.netlab.cz

Pidgin: Nový řádek = Shift + Enter

Příkaz/kombinace příkazůSpecifický popis P/kp.Odkazy na howto, návody
sudoPoužívá se k povýšení práva na roota pro konzolové aplikace.
gksudoPoužívá se k povýšení práva na roota pro grafické aplikace (wireshark).
passwd karlaNastaví heslo pro karla
aptitude removeOdstraní balík
aptitude purgeOdstraní balík i s konfigurákama (neodstraní konfiguráky v home adresáři)
aptitude clean
aptitude update
aptitude install dnstracer
aptitude dist-upgradeUpgrade distra (Dapper → Edgy)
apt-get autoremove
apt-get checkZjistí zda nejsou poškozené závislosti
apt-get cleanOdstraní archivní stáhnuté soubory
apt-get autocleanOdstraní staré archivní stáhnuté soubory
apt-get autoremoveOdstraní přebytečné balíky (kontroluje závislosti)
apt-get autoremove balíkOdstraní balík a jeho nepotřebné závislosti
apt-get updateAktualizace databáze dostupných balíčků
apt-get upgradeProvede upgrade balíčků
apt-get remove dnstracerOdstrané balík
apt-get install –reinstall dnstracerReinstaluje balík
apt-get installInstaluje balík včetně závislostí
apt-get -f installInstaluje násilím balík
apt-cache showpkg dnstracer
apt-cache search balikHledá zadaný balík.
apt-cache search balik –names-onlyHledá zadaný balík pouze podle názvu.
apt-cache show balikZobrazí informace o zadaném balíku.
update-manager -cVypíše novější verzi, pro upgrade
dpkg -iInstaluje samotný balík bez závislostí
dpkg -r dnstracer
dpkg-reconfigure xserver-xorgNastavit xorg.conf na default
Xorg -configure -config ~/Plocha/testXorg.confNejdříve je nutné ukončit Xka
dpkg –get-selectionsSeznam aktuálně nainstalovaných balíčků
scp user@ip:/remote/file.txt /local/file.txtKopírovat soubor ze vzdáleného serveru ssh přes terminál
scp /local/file.txt user@ip:/remote/file.txtKopírovat soubor do vzdáleného serveru ssh přes terminál
ssh user@ip 'bash -s' < local_script.shSpustit na vzdáleném ssh serveru lokální skript

Nainstalovat program

apt-get install bootchart

Po restartu mrknout do /var/log/bootchart/

Problémy Dlouhé bootování kvůli usplash:

apt-get --purge remove usplash

Dlouhé bootování při odpojeném internetu:\ Uprav soubor /etc/hostname\ pokud tam není řádka 127.0.0.1 název_tvého_stroje\ tak ji tam dopln, nazev tve masiny zjistis z prikazu uname -n

service lightdm restartRestart grafického prostředí
service apache2 restartRestart webového serveru apache

smb4k

curlftpfs -o allow_other ftp://login:password@site.cz /mnt/site.cz/

write, talk, mesg, wall - komunikace uživatelů přes terminál

Ctrl + RHledání příkazu v historii (velmi užitečné)
export HISTSIZE=10000Nastavení délky historie na 10000 řádek (po překročení platí pravidlo FIFO)
lynxtextový www prohlížeč
linkstextový www prohlížeč, může být spuštěn v grafickém režimu pro zobrazování obrázků
centericqIM komunikátor
nano, vimtextové editory
smbcsamba commander
fbgrabprintscreen i v terminálu
bittornadobittorent klient
screendokáže spustit programy a nechá je spuštěné i po odhlášeníOdkaz
screen -lsVypíše spuštěné terminály
screen -r 12735.pts-0.ubuntu-srvPřipojí se ke spuštěnému terminálu
Ctrl + A; DNechá puštěné programy na pozadí a přepne se zpět do terminálu

Posílání emailu přes program mailx (nedodelano):

echo "Dobry den, ..." | mailx dd@email.cz dd@centrum.cz dd@gmail.com
cat zprava.txt |mailx -s "predmet" -a X-Mailer: "mailx (ver 0.xx)" dd@email.cz
/etc/mailname

Několik způsobů jak se přihlásit jako root

su
su root
sudo su
sudo -i
sudo -s
sudo bash

Stažení internetových stránek pro offline prohlížení:

wget -r -k -p http://www.stranky.com/index.php
# -r rekurzivně (včetně odkazů)
# -k odkazy budou nastaveny na soubory stažené na disku (odkaz není směrovanej na inet)
# -p stažení všech věcí (obrázky, ...)
cp sites/default/default.settings.php sites/default/settings.php
chmod go+w sites/default/settings.php
mkdir sites/default/files
chmod go+w sites/default/files/

Prestashop

    *  PHP settings (modify via your PHP admin software):
    * PHP 5.0 or later is installed
    * Allowed to upload files
    * Allowed to create new files and folders
    * GD Library is installed
    * MySQL support is on
    * Write permissions on files and folders:
    * /config
    * /tools/smarty/compile
    * /sitemap.xml
    * Write permissions on folders and subfolders/recursively:
    * /img
    * /mails
    * /modules
    * /themes/prestashop/lang
    * /translations
    * /upload
    * /download
apt-get install php5-gd
/etc/init.d/apache2 restart
chmod go+w -R img/ mails/ modules/ themes/prestashop/lang/ translations/
chmod 777 -R config/ upload/ download/ tools/smarty/compile/ sitemap.xml
Tucan managerOkení manažer - ten jediný mě správně funguje
Rapidshare DownloadKonzolový klient
Udělátkodoplněk do Firefoxu

1) Stáhnout fonty (soubory *.tar.bz2) z ftp://ftp.gimp.org/pub/gimp/fonts/

2) Řídit se podle návodu http://maestric.com/doc/convert_pfb_pfm_font_to_otf

Instalovat fontforge

appt-get install fontforge

V adresáři s fonty (kde jsou soubory *.otf) vytvořit a editovat soubor: pfb2otf

Open($1);
Reencode("unicode");
Generate($fontname+".otf");
Quit(0);

Vytvořit a editovat soubor: convert

PATH=/usr/local/bin:$PATH
FONTFORGE_LANGUAGE=ff
export PATH FONTFORGE_LANGUAGE

if (test -f $1); then ./pfb2otf $1; fi

Nastavit spustitelný příznak souborů pfb2otf convert

chmod 755 pfb2otf convert

Začít konvertovat soubory *.pfb na *.otf

for i in *.[pP][fF][bB]; do ./convert $i; done

Zkopírovat soubory *.otf do adresáře ~/.fonts

mkdir ~/.fonts
cp *.otf ~/.fonts/

Vytvořit informační cache fontů?

sudo fc-cache -f

Audacious

mplayer -dumpaudio soubor.avi -dumpfile soubor.wavExtrahuje audio z filmu

Pokud nejde Amarok spustit a píše následující chyby:

Configuration file "/home/user/.kde/share/config/knotifyrc" not writable.
Please contact your system administrator.

Will not save configuration.
Configuration file "/home/user/.kde/share/config/kdeglobals" not writable.
Please contact your system administrator.

V terminálu to lze opravit takto:

sudo chown -R `whoami` ~/.kde
mkisofs -dvd-video -o movie.iso /path/to/dvd/directory/Vytvoří DVD video ISO z uloženého DVDfilmu na disku (cestu směrujeme do adresáře kde je VIDEO_TS)
Mplayer, VLCNejpoužívanější programy pro přehrávání videa
mplayer -vo helpVypíše drivery výstupu videa
mplayer -vo glPoužije pro přehrání videa driver gl
mplayer -subcp cp1250 -sub tituly.sub film.aviNastaví typ titulku na cp1250 (trvale nastaveni v souboru mplayer.conf → subcp=cp1250)
echo „vf=expand=0:-100:0:0“ » ~/.mplayer/configTitulky do černého pruhu
vlc -vvv test.mpg –sout rtp:192.168.1.10:8080Stream po sítiOdkaz
mencoder -ovc xvid -xvidencopts bitrate=500:pass=2 -oac mp3lame -lameopts mode=1:q=3 soubor.rm -o soubor.aviPřevod stream formátu rm na avi
mencoder -oac mp3lame -ovc lavc -vf scale=0:0:0:0:0:0:qpal vstup.mov -o vystup.aviKonverze mov na avi:
mencoder test.mpeg -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050 -o test.flvKonverze avi na flv
mencoder input.mkv -ovc lavc -oac mp3lame -o output.aviKonverze mkv na avi
flvtool2 -U test.flvPro posouvání videa
mencoder tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480 -ovc lavc -nosound -o webcam-filename.aviNahrání videa z integrované kamery v notebooku bez zvuku(Lenovo S10e)
mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o filename.aviNahrání videa z integrované kamery v notebooku se zvukem - zatim nefunguje(Lenovo S10e)
ffmpeg -i OUTPUT.avi -vcodec libx264 libx264.aviKomprimace videa do kodeku libx264
ffmpeg -i input.mts -vcodec libxvid -b 18000k -acodec libmp3lame -ac 2 -ab 320k -deinterlace -s 1440×1080 output.aviPřevede MTS do avi, nutno zjistit rozlišení videa (ffmpeg -i input.mts) a zda video používá „interlaced frames“ > nutno „deinterlace“. Odkaz na zdroj
avimerge -o OUTPUT.avi -i INPUT1.avi INPUT2.aviSpojování Videa
mencoder -oac copy -ovc copy -o OUTPUT.wmv INPUT1.wmv INPUT2.wmvSpojování Videa
mencoder mf://*.jpeg -mf w=800:h=600:fps=25:type=jpeg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o video.aviVytvoří video (video.avi) z obrázků (*.jpeg)
ffmpeg -i video.aviInformace o videu (get video parameters)
mplayer -ao dummy -vo dummy -identify video.aviInformace o videu
mencoder -fps 300 -ovc lavc input.avi -o output.aviZrychlení videa
ffmpeg -i video.avi picture%d.jpgZ videa nastříhat obrázky
mplayer -vo fbdev -bpp 32 -vf scale=1024:-3 -fs -subcp cp1250 -ass video.aviPřehrát video bez grafického prostředí. Forum
apt-get install compizconfig-settings-managerInstalace manageru

Ovladače, nastavení Twinview - dva monitory, velká plocha + compiz (2x 1280×1024, Nvidia GTS 250)

1) Odeberte nesvobodné ovladače a součásti přes synaptic (vyhledat nvidia a odstranit všechny balíky které mají nvidia v názvu)\ 2) Stáhnout nejnovější ovladače z internetu: http://www.nvidia.com/Download/index.aspx?lang=en-us\ 3) Zastavit X - jako root spustit /etc/init.d/gdm stop\ 4) Přihlásit se jako root a spustit instalaci: sh NVIDIA-Linux-x86-185.18.36-pkg1.run #Uprav dle souboru\ 5) Inicializovat nový xorg: nvidia-xserver\

Takto vypadá můj funkční xorg.conf /etc/X11/xorg.conf

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildmeister@builder63)  Fri Aug 14 17:55:55 PDT 2009

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CRT-1"
    HorizSync       30.0 - 71.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "LG L1953TR"
    HorizSync       30.0 - 71.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTS 250"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTS 250"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "CRT: 1280x1024 +0+0, DFP: 1280x1024 +1280+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP: 1280x1024 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "1"
EndSection

V Avidemuxu nepouzivejte QPEL a GMC, aby šel výsledný .avi soubor přehrát ve stolním DVD/DivX přehrávači.

Avidemux (howto), KDEnlive, Cinerella, KinoPoužívané programy
dvgrab –format dv2Pro stáhnutí videa z kamery

Střih pomocí mencoderu (ss - start;endpos - konec)

mencoder video.wmv -ss 506 -endpos 110 -o video_out.avi -ovc lavc -oac lavc -lavcopts abitrate=128

Musí být zadáno:

-ovc lavc [No video encoder (-ovc) selected. Select one (see -ovc help).]
-oac lavc [No audio encoder (-oac) selected. Select one (see -oac help) or use -nosound.]
-lavcopts abitrate= [jinak nastane chyba - [mp2 @ 0x87ee0b8]bitrate 224 is not allowed in mp2 \ Couldn't open codec mp2, br=224.]

čerpal jsem odtud: http://gentoo-wiki.com/HOWTO_Mencoder_Introduction_Guide

ccd2isoIMG to ISO
Netspeedapplet na lištu
iftop, iptraf, ethstatusmonitorování vytížení linky
wireshark, etherapedetailní sledování paketů
nmaposkenuje porty (zda je otevřený či zavřený)odkaz

Klienti

  • Wicd - lepší a používanější než Network manager
  • Networkmanager - standardní klient
  • RutilT - zatim né moc rozšířený klient
# Manuály
man interfaces
man wpa_supplicant
man wpa_supplicant.conf
zless /usr/share/doc/wpasupplicant/README.Debian.gz

Ntop - monitoring síťového provozu

apt-get install ntop
/etc/init.d/ntop start
http://localhost:3000/
/etc/hosts.denyKonfigurák pro zablokování přístupu z adres (ALL:ALL)
/etc/hosts.allowKonfigurák pro povolení přístupu z adres (ALL:85.101.10.X)
geoiplookupzjistí v jaké republice se nachází zadaná IP adresa (instalovat geoip-bin)
ipcalcPro spravne pocitani adresy Čti dále.. celkově
pingOdesílá ICMP ECHO pakety na cílovou IP adresu. Není závislý na TCP/UDP vrstě, na cílovém počítači nemusí běžet žádný démon/server. Ověří jak funkci interface tak i směrovací tabulky. Další výhodou je statistika ztracených/doručených paketů, která může odhalit problematické místo v síti. Dostupný ve všech operačních systémech.
arpingProgram funkcí velmi podobný programu ping, ale k testování používá protokol ARP. Hlavní výhodou je nezávislost na IP a zejména ICMP. Např. pokud firewall na cílovým počítači blokuje ICMP, pak sice nelze použít obyčejný ping, ale arping funguje spolehlivě a není ho možné blokovat firewallem (jinak by cílový počítač nemohl komunikovat vůbec). Také je možné využít arping k detekci duplicitních IP adres na lokální síti. Nevýhodou je omezení ARP na lokální síť - neprojde skrz router. Arping není běžnou součástí OS, je obsažen v balíčku iputils pro Linux.
arpUmí vypsat přiřazení IP k MAC adrese z ARP cache. Do jisté míry může pomoci, pokud nemáme k dispozici arping. Pokud existuje pro danou IP adresu položka v ARP cache, komunikace mezi počítači alespoň 1x proběhla.
tcpdumpUmí zachytit všechny pakety slyšitelné na síti síťovou kartou. Přepne kartu do promiskuitního režimu, takže čte i pakety určené pro jiné počítače (např. pokud používáme HUBy). Pakety umí filtrovat, vypisovat, ukládat do souboru.
etherealGrafický nástroj podobný tcpdump. nastřádané pakety umí analyzovat a hiearchicky zobrazit vložené hlavičky protokolů různých vrstev. Ideální pro analýzu obsahu. Formát souboru s uloženým obsahem paketů je kompatabilní s tcpdump.
ifconfigKrom nastavení intefrace umí zobrazovat statistiky odeslaných/přijatých paketů a kolize.
tracerouteProgram používá UDP protokol, posílá pakety na neotevřené vyšší UDP porty. Paketům postupně zvyšuje time-to-live hodnotu a spoléhá, že routery odešlou ICMP-time-limit-exceeded servisní paket, kdykoli paketu vyprší životnost. Tím je schopen zjistit cestu k cíli.
netstatPoskytuje mnoho statistik, mimo jiné seznam otevřených TCP a UDP spojení do/z lokálního počítače a otevřených pasivních soketů.
ethtool eth0
iwspy
mii-diag
mii-tool
digDNS lookup utility
nm-toolZobrazí informace o připojení pomocí NetworkManageru

* Rozdíly mezi v2.4 a v2.6 - Diskuze na fóru * Proč používat ip (balík iproute2) a ne ifconfig

route → ip route
ifconfig → ip a
ifconfigStandardní příkaz pro jádra v2.4
iproute2Balík pro jádra 2.6
ip link showZobrazí síťová zařízení
ip link set dev eth0 name wanPřejmenuje síťové zařízení (eth0 → wan)
ip link set dev eth0 upAktivuje síové zařízení eth0 (down - pro deaktivaci)
ip addr showZobrazí adresu(y) pro síťové zařízení
ip addr add 192.168.1.1/24 brd + dev eth0Přidá (i odebírá) IP(192.168.1.1) a masku(255.255.255.0)
ip route showZobrazí routovací tabulku
ip route add default via 1.2.3.254Nastaví výchozí bránu na 1.2.3.254
ip link set eth0 address 00:01:02:f4:34:82změna MAC adresy síťovky
ip neighbor show
ifconfig -aZobrazí všechny (i zakázaná zařízení)
route add default gw 192.168.0.1
route add default gw xxx.xxx.xxx.xxx dev eth0
route add -host 10.0.2.1 gw 10.0.0.100Komunikace do jiné než defaultní brányodkaz
ifupdown
ifconfig eth0 mtu 1412Změna MTU síťovky
arp -vn
iwlist eth1 scan
iwconfig
iwconfig eth1 essid xxx mode [managed ad-hoc] key s:xxx
iwconfig eth1 essid „Nazev sítě“Připojí se k síti („zadat ESSID“)
dhclient3 eth1Lízne si IP adresu z DHCP serveru
host google.czTest DNS nastavení
scp soubor.txt uziv_jmeno@ip_adresa:„/tmp/soubor.txt“Přenos souboru přes síť
nmap -sS -P0 -p 0-65535 IP_ADDRESS
tcpdump -i eth0 -nn 'udp'Sleduje pakety na UDP portech
/etc/init.d/networking restartRestart sítě
arp 192.168.1.10Pinguje přes ARP
netstat -iZobrazí statistiky síťovek
netstat -natZobrazí aktivní internetové připojení
netstat -rn
netstat -tulp
netstat -tulpnZobrazí otevřené porty
netstat -pantPrint network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
nmblookup -M skupinazjistí jaké pc je Domain Master, odkaz
export http_proxy=„http://adresa:port“Nastavení http proxy přes terminál
apt-get install bridge-utils
brctl addbr br0
brctl addif br0 eth0  #Zmen nazvu sitovek
brctl addif br0 eth1  #Zmen nazvu sitovek
dhclient3 br0

802.11b: 1, 2, 5.5, 11 Mbit\ 802.11g: 6, 9, 12, 18, 24, 36, 48, 54 Mbit\ 802.11a: 6, 9, 12, 18, 24, 36, 48, 54 Mbit\

cat /proc/net/wireless
iwconfig wlan0 rate 11MNastaví rychlost wifi karty

* Wireless technologie

Beacon interval - Vysílá v pravidelných intervalech o sobě informace (maják), slouží pro udržení spojení. (defaultně 100ms, doporučeně 1000 a více).

RTS Treshold - RTS/CTS přidá handshake před každým přenosem paketů, aby se zajistilo, že je kanál volný. To zvýší režii, ale také výkon v případě skrytých nodů nebo velkého počtu aktivních nodů. Tento parametr nastavuje velikost nejmenšího paketu, pro který node vysílá RTS; hodnota rovná maximální velikosti paketu tento mechanismus vypne.

Fragment Threshold - Fragmentace dovoluje rozdělit IP paket na dávku několika menších částí přenesených médiem. To ve většině případů zvětší režii, ale ve velmi zašuměněm prostředí sníží ztráty způsobené chybami a umožní paketům projít při zarušení. Tento parametr nastaví maximální velikost fragmentu; hodnota rovná maximální velikosti paketu tento mechanismus vypne.

Hide SSID - lze odhalit Povolení přístupu na MAC adresu - lze odhalit

Šifrování:

Open system - nezabezpečená síť\ WEP-64 - lze prolomit\ WEP-128 - lze prolomit\ WPA-PSK\ WPA2-PSK\

VPN - připojení pomocí certifikátu = největší zabezpečení

|tar xzf soubor.tar.gz|Rozbalí archiv.tar.gz|

tar xjf soubor.tar.bz2Rozbalí archiv.tar.bz2 (pomocí bzip2 = parametr j)
rar a -p -rr -v10240k archiv.rar souborvícedílný archiv

Vysvetlivky: [ c - vytvoř (archiv) ] [ v - detailní mód ] [ f - do souboru ]

unzip '*'Rozbalí více archivů najednou

Probouzeni se provadi tzv. magic packetem, coz je ethernetovy ramec speciálního formátu (žádné TCP/IP) Při uspaném PC dokáže karta přijímat ethernetové rámce, ty funguji jen v LAN.

Tuto funkci musí podporovat BIOS.

echo „+00-00-00 00:03:00“ > /proc/acpi/alarmProbudí PC za 3 minuty
SmokePingMonitoring Network Latency
du2rrdLong Term Disk Space Monitoring
MRTHMulti Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network links
ps -auxVýpis procesů systému
initctl listBěžící procesy
service –status-allBěžící procesy
chkconfigBěžící procesy
kill -lVýpis možných signálů poslané procesu
kill -s 9 pid_procesuZabití procesu signálem 9 - signalKill
nicePriorita procesu -20 (nejvyšší priorita) až +19 (nejmenší priorita), bez parametrů vypisuje defaultní hodnotu priority vytvářených procesů. Nice se používá pouze u spouštěných procesů. (nice -15 k3b %U)
reniceZměna priority u běžících procesů
nohupProces se stane imuní vůči některým signálům.
nohup program &program pracuje i po odhlášení z konzole.
find -name co_hledame -vvypíše cesty k nalezeným položkam
find /home -name '*' -print0 xargs -0 grep -l 'hledany retezec'Hledá textový řetězec ve všech souborech v podadresářích /home
locateVypíše soubory k nainstalovanému programu (rm -i locate realplayer)
/Hledání v manuálové stránce
Shift + NKlávesová zkratka pro hledání dalšího řetězce
mkfs.cramfs
mkfs.ext3
mkfs.minix
mkfs.reiser4
mkfs.vfat
mkfs.ext2
mkfs.jfs
mkfs.msdos
mkfs.reiserfs
mkfs.xfs
mkfs.ext3 -c /dev/sdapřepínač -c zkontroluje zda disk obsahuje vadné bloky před vytvořením souborového systému
hdparm -y /dev/hdXUspání disku (nejdrive odmountovat)
hdparm -B 10 /dev/sdadisk by se mel po chvilce vypnout
hdparm -i /dev/sdaVypíší se informace o mechanice
noflushdutilita na vypínání disku (install noflushd)
hddtemp /dev/sdazobrazi teplotu disku (install hddtemp)
fsck -rfv /dev/hdaXVynutí kontrolu disku (Při chybě: Duplicate or bad block in use!)
tune2fs -c 0 /dev/hdaXZakázat kontrolu disku při startu systému
tune2fs -c 100 /dev/hdaXZkontrolovat po 100 startech systému
eject -T /dev/cdrwVysune mechaniku
eject -t /dev/cdrwZasune mechaniku
mkdir /mnt/ram; mount -t tmpfs -o size=402450944 none /mnt/ram;Vytvoření ramdisku
ntfsfix /dev/sdx(hdx..)Opravit disk s NTFS, pote je nutno disk remountnout. (nutno instalovat ntfsprogs)
e2fsck -p /dev/sdbKontrola NTFS disku
smartctl -d ata -a /dev/sdaVýpis informací o disku
smartctl –smart=on -d ata /dev/sdaZapnutí SMARTu

(pomáhá příkaz: fdisk -l)\ Oddily se znaci: (hdX,Y) (X = cislo disku; Y = cislo oddilu)\ Ozn. v Linuxu ⇒ Ozn. v Grubu\ /dev/sda ⇒ (hd0)\ /dev/sda1 ⇒ (hd0,0)\ /dev/sda2 ⇒ (hd0,1)\

Systém → Správa → Systémový soubor záznam. (Logy v grafickém prostředí)\ tail /var/log/syslog\ tail /var/log/kern.log\

hardinfoSystem information and benchmark tool
cat /proc/meminfoVypíše volnou paměť
free -mVypíše velikost a obsazení paměti (-m — v megabajtech)
ps -auxVypisuje procesy a informace o nich (-aux - podrobnější informace)
df -hVypíše velikost a obsazenost disků
du -hs *Vypíše velikosti složek (adresářů) [místo * lze použít cestu ke složce]
hwinfo –cpu –biosVypíše detaily HW
dmidecodeVypíše DMI (vypíše hardware a jeho parametry) - velmi užitečné
dmesgPříkaz pro zjištění boot logu
lsmodVýpis zavedených modulů (ovladačů)
lsofVýpis otevřených souborů
lspcmciaVypisuje pcmcia karty
lspnpVypisuje plug and play hw
lshwVypisuje veškerý HW (detailně)
lshw -C cpuVypisuje určitou sekci HW (cpu)
lspci (-v) (-vv)Vypisuje všechna PCI zařízení
lsusbVypisuje všechny usb zařízení
usplashTapeta při startování
which nazev_programuVypisuje soubory programu (kam je nainstalován, konfigurační a manuálové stránky).
whereisNapíše kde se na disku nachází spustitelný soubor.
fdisk -lRozdělení disku
pstree -p
hdparm /dev/hdaVypíše parametry nastavení disku
dmidecode grep -A 6 -i „Socket Designation: DIMM“Detail pamětí
dmidecode grep -A 17 -i „Memory Device“Detail pamětí
BleachBitBleachBit je multiplatformní nástroj určený k čištění disku od nepotřebných souborů (cache, historie, atd…).
deborphanvypisuje knihovny na kterých nic nezávisí, takže je lze odinstalovat (ale pozor opatrně vždy je potřeba zkontrolovat)
debfosterse ptá balík po balíku (z vršku závislostí), zdali jej v systému chcete nechat nebo ne a výsledný stav si pak pamatuje.
dpkg –purgezajistí úplné odstranění všech částí balíku
dpkg –get-selections grep deinstall ?nastaví vybrané balíky ze stdin a odinstaluje je
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs # doporucuje powertop
#echo 5 > /proc/sys/vm/laptop_mode # doporucuje powertop ale ja k laptop modu nemam duveru

# vypne modrozuba
/etc/init.d/bluetooth stop
hciconfig hci0 down ; rmmod hci_usb

## doporucuje powertop
hal-disable-polling --device /dev/cdrom

## na tohle usb je pripojena moje webkamera. - defaultne je always active
echo auto > /sys/bus/usb/devices/1-5/power/level # default: on

## vypne druhe jadro, bohuzel nevim jak ho zase zapnout(krome restartu) :D
echo 0 > /sys/devices/system/cpu/cpu1/online

## podtaktovani na minimum
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

killall pulseaudio ## extremne hodne preruseni
rfkill block wifi
vypnutie bluetooth
rfkill block bluetooth
Znizenie jasu pri napajani zo siete na 50%
gconftool-2 --set /apps/gnome-power-manager/backlight/brightness_ac --type integer 50
Znizenie jasu pri napajani z baterie na 50%
gconftool-2 --set /apps/gnome-power-manager/backlight/brightness_dim_batter --type integer 50
Prepnutie procesora na powersave
cpufreq-selector -g powersave
gconf-editorNástroj pro úpravu nastavení prostředí
usplashTapeta při startování

Zapnutí/Vypnutí funkce: Ctrl + Shift + NumLock

Smazat zbytky po kompilaci (v případě nové kompilace).

make mrproper || make clean

rsync zynk, grsync unison unison-gtk

Wiki Servery serveru
PyLorisPyLoris is a scriptable tool for testing a server's vulnerability to connection exhaustion denial of service (DoS) attacks. PyLoris can utilize SOCKS proxies and SSL connections, and can target protocols such as HTTP, FTP, SMTP, IMAP, and Telnet.

Server

1) Přidáme repozitář

add-apt-repository ppa:freenx-team

nebo

echo deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu `lsb_release -c | awk '{print $2}'` main >> /etc/apt/sources.list

2) Nainstalujeme programy

apt-get update
apt-get install python-software-properties freenx

3) Upravíme konfigurační soubor

nano /etc/nxserver/node.conf
...
ENABLE_SSH_AUTHENTICATION="1"
...

4) Spustíme FreeNX server

nxserver --start

:!: Zde může nastat následující problém:

mv: cannot stat `/var/lib/nxserver/home/.ssh/authorized_keys2.disabled': No such file or directory

:!: Řešením je vytvořit tento soubor

touch /var/lib/nxserver/home/.ssh/authorized_keys2.disabled

Client

1) Instalace klienta

apt-get install qtnx

2) Spustit program

Aplikace → Internet → QTNX

3) Nastavení připojení

Tlačítko Configure a zde nastavit parametry, HostName bude IP adresa serveru, port 22. Potvrdíme

:!: Může nastat problém se špatným mapováním kláves (např. šipka nahoru udělá printscreen)\ :!: Na serveru ⇒ Systém → Předvolby → Klávesnice → záložka Rozložení → tlačítko Model klávesnice\ :!: Dodavatelé = Generic\ :!: Modely = Klávesnice spravovaná pomocí Evdev\

Fail2ban je program který zkoumá logy aplikací (Apache, SSH, FTP, a další…) a vyhodnocuje zda zakáže zvědavou IP adresu v iptables.\

1) Instalovat program fail2ban

apt-get install fail2ban

2) Konfigurovat fail2ban

nano /etc/fail2ban/jail.conf

Sekce DEFAULT

...
[DEFAULT]
ignoreip = 127.0.0.1 80.200.70.201   ### Nikdy nebude banovat tyto adresy - whitelist
bantime  = 12000   ### Defaultní čas zabanování - platí v případě že jednotlivé sekce si čas nepřepíší
maxretry = 3   ### Defaultní
banaction = iptables-multiport   ### Pokud je nějaké pravidlo porušeno, odstříhne fail2ban IP adresu na všechny porty které hlídá (nejsem si jistej)
...

Příklad ostatních pravidel:

SSH

...
[ssh]
enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
banaction = iptables-allports
maxretry = 6
...

ProFtpD

...
[proftpd]
enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/proftpd.log
banaction = iptables-allports
maxretry = 3
...

3) Po konfiguraci restartujeme službu:

/etc/init.d/fail2ban restart

4) A sledujeme co se nám chytilo do pavučiny:

cat /var/log/fail2ban.log

Připojení FTP jako filesystém

1) Instalace programu:

apt-get install curlftpfs

2) Mount FTP z terminálu:

curlftpfs -o allow_other ftp://user:pass@ftp.example.com slozka_pro_mount

3) Zadání automatického mountování do fstab:

curlftpfs#user:pass@ftp.example.com /mnt/host fuse rw,uid=500,user,noauto 0 0

ProFtpD

1) Nainstalujeme program:

apt-get install proftpd

2) Vytvoříme složky které budeme sdílet:

mkdir /media/data/FTP
mkdir /media/data/FTP/share
mkdir /media/data/FTP/upload && chmod 777 /media/data/FTP/upload

3) Upravíme konfigurační soubor (vypsal jsem pouze řádky které jsem změnil)

nano /etc/proftpd/proftpd.conf
UseIPv6                         off
DefaultRoot                     /media/data/FTP
MaxInstances                    10

4) Můžeme zkontrolovat konfigurační soubor

proftpd -td5

4) Restartujeme službu

/etc/init.d/proftpd restart

Návod není dokončen

name-based virtual host

<VirtualHost *:80>
ServerName www.ubuntu.cz
ServerAlias ubuntu.cz *.ubuntu.cz   // seznam adres směrovaných do document root
DocumentRoot /var/www/ubuntu   // document root
</VirtualHost>

<VirtualHost *:80>
ServerName www.domena2.com
DocumentRoot /var/www/domena2.cz   // document root
</VirtualHost>

Zabezpečení

nano /etc/apache2/apache2.confÚprava konfiguračního souboru
ServerSignature OffVypne podpis serveru
ServerTokens ProdMinimální informace o serveru

Zakázání zobrazení obsahu adresáře „Index of“

nano /etc/apache2/sites-available/default
...
        <Directory /var/www/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
...

Nezobrazí chybové hlášky „potenciální útočník neví na čem je“

nano /etc/php5/apache2/php.ini
...
        display_errors = Off
...

Restartujem službu

/etc/init.d/apache2 reload

Jak zapnout Clean Url (například pro Drupal)?

a2enmod rewrite
/etc/init.d/apache2 restart

Zkontrolujeme zda se zapnul přes příkaz apache2ctl -M

 ...
 rewrite_module (shared)
 ...

Editujeme konfigurační soubor Apache2:

nano /etc/apache2/apache2.conf

A vložíme na konec souboru text (upravime cestu!):

<Directory /var/www/domena.cz>
   RewriteEngine on
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

Chyba apache2:

Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

pak upravte soubor

gedit /etc/apache2/apache2.conf

a přidejte na konec souboru

ServerName localhost

Pokud Apache2 odkazuje na špatný adresář, musíte zeditovat soubor

gedit /usr/share/apache2/default

a soubory v adresáři /usr/share/apache2/allowed-sites/

0) Edituj repozitář /etc/apt/sources.list a přidej do něj text (změň název distribuce)

deb http://ppa.launchpad.net/cherokee-webserver/ppa/ubuntu karmic main

0) Přidej klíč

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51BB8E83EBA7BD49

0) Updatni a aktualizuj zdroje

apt-get -y update && apt-get -y upgrade

0) Nainstalujeme potřebné balíky, mysql-server bude vyžadovat heslo pro uživatele root, phpmyadmin bude vyžadovat vytvoření databáze přes dbconfig-common (zvolme ano):

apt-get install cherokee php5-cgi php5-mysql mysql-server mysql-client

0) V terminálu zadat:

cherokee-admin -b

0) Ve webovém prohlížeči se přihlásit na administrační rozhraní Cherokee (přihlašovací údaje vemte z terminálu - předchozí krok):

http://localhost:9090/

0) Povolíme php překlad: Virtual servers → default → záložka Behaviour → PHP\ V levo na stránce klikneme na tlačítko Save

0) Vytvoříme testovací soubor a ve webovém prohlížeči otestujeme zda funguje php překlad:

echo "<? phpinfo(); ?>" > /var/www/test.php

http://localhost/test.php

Návod není dokončen

ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin
chmod 0755 -R /usr/share/phpmyadmin/
chown -R www-data:www-data /var/www/

Jak rozběhat clean url pro drupal? http://svn.cherokee-project.com/browser/cherokee/trunk/doc/cookbook_drupal.txt?rev=2879\ http://lists.octality.com/pipermail/cherokee-dev/2009-August/002979.html\ http://www.cherokee-project.com/doc/modules_handlers_redir.html\ http://groups.google.com/group/cherokee-http/browse_thread/thread/e70cd846abdb1e19\ http://docs.huihoo.com/cherokee/0.98/cookbook_drupal.html\

Udělam upload (povolím ostatním uivatelům čtení/zápis), ale když tam něco nahraju, nelze to smazat → vlastník (nouser) skupina (nogroup)\ Řešení (přidat sebe „uživatele“ do skupiny nogroup) (edit.: asi nefunguje)\

adduser `whoami` nogroup

1) Nainstaluj balíček:

apt-get install dhcp3-server

2) Uprav konfigurační soubor /etc/default/dhcp3-server

INTERFACES="eth0"   ### Zde napiš pro na jakém zařízení bude rozdávat DHCP server IP adresy

3) Uprav konfigurační soubor /etc/dhcp3/dhcpd.conf, můžeš všechno vymazat a zkopírovat a upravit toto:

ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.200; ### Rozsah přidělovaných IP adres
option domain-name-servers 192.168.1.1;
option domain-name "domain.name";
option routers 192.168.2.1; ### Zde má být IP tvojí síťovky která rozdává IP adresy (v mém případě eth0)
option broadcast-address 192.168.2.255;
option nntp-server 192.168.2.1;  ### pokud nemáš časový server (NTP) tuto řádku můžeš smazat
default-lease-time 600;
max-lease-time 7200;
}

# Nastaví statické IP adresy pro MAC adresu síťové karty uživatele
host fix0 # DuckD
{
        hardware ethernet 00:11:22:33:44:20;
        fixed-address 192.168.2.64;
}

host fix1 # Ondra
{
        hardware ethernet 00:11:75:33:44:c2;
        fixed-address 192.168.2.91;
}

i) Nezapomeň zadat do ip adresu síťového zařízení eth0

ip addr add 192.168.1.1/24 brd + dev eth0

jinak nastane:

No subnet declaration for eth0 (0.0.0.0).
** Ignoring requests on eth0.  If this is not what
    you want, please write a subnet declaration
    in your dhcpd.conf file for the network segment
    to which interface eth0 is attached. **

|crontab -e|Editace crontabu|

crontab -lVýpis crontabu
ps -ef grep crondOvěření zda běží CRON
/etc/rc.d/init.d/crond restartRestartovat službu
minutyhodinyden v měsíciměsícden v týdnuakce
1,2,3****echo „Každá 1,2,3minuta
*/2****echo „Každá sudá minuta
*10 echo „Každá minuta od 10 hodiny

Při editaci crontabu musí být ke konci prázdný řádek (za posledním záznamem od entrovat)! Jinak Cron nebude fungovat!

Package list Jak z Ubuntu udělat Ubuntustudio:

echo deb http://archive.ubuntustudio.org/ubuntustudio `lsb_release -c | awk '{print $2}'` main >> /tmp/sources.list
wget -q http://archive.ubuntustudio.org/ubuntustudio.gpg -O- | sudo apt-key add - && sudo apt-get update
apt-get install ubuntustudio-desktop ubuntustudio-audio ubuntustudio-audio-plugins ubuntustudio-graphics ubuntustudio-video linux-rt

Pro zvětšení plochy instalovat „Guest Extras“

set-uid a set-gid bitfunguje pouze na binárním souboru (nefunguje na skriptech)
set-uid bit: chmod u+s souborpřidá právo spuštění pro vlastníka souboru
set-gid bit: chmod g+s souborpřidá právo spuštění souboru pro skupinu
sticky bit: chmod o+t souborponechá soubor po doběhnutí v paměti pro rychlejší znovuspuštění
chmod 7777 souborMaximální oprávnění - první číslo popisuje set-Xid bit a sticky bit
socketje speciální soubor, přes který si dva lokálně běžící procesy vyměňují data
roura (pipe)speciální soubor používaný pro výměnu dat mezi procesy, ale na rozdíl od soketu je výměna jednosměrná

Notifikation area Pidgin (Jaunty) - vypnut odinstalováním pidgin-libnotify\

Trvalé povolení spuštění příkazu bez administrátorského práva (bez SUDO) [url=http://forum.ubuntu.cz/index.php?topic=13248.msg99039#msg99039]Odkaz[/url]

cp /etc/sudoers /etc/sudoers.backupzáloha nastavení
zjisti kde je umisten skript
bezpecna editace sudoers souboru
login_name ALL = NOPASSWD: /sbin/shutdowndoplnit login_name a cestu ke skriptu

příkaz je to samé jako $(příkaz)

Zaznamenat komunikaci terminálu:

script cmd_history

… příkazy …

exit
cat cmd_history

modprobe sk98lin

echo „brightness:4“ > /proc/acpi/toshiba/lcdpřidání brightnes na LCD
ls -l /dev/disk/by-uuid/dostane UID partitionu disku které lze zadat do fstabu
blkidzobrazí uuid disku
find ADRESAR_ODKUD_KOPIRUJES -type f -exec cp {} ADRESAR_KAM_KOPIRUJES \;Zkopíruje vše z adresáře a podadresářů do jednoho adresáře (nezachovává strukturu podadresářů)
ps auxvypíše seznam spuštěných procesů a jejich PID (podobně jako top)
echo $$zobrazení PID aktuálního shellu
echo „Ahoj“ &AND znamená že se spustí příkaz jako nový thread
var=$!do proměnné var se uloží PID předchozího spuštěného vlákna
echo $varvypíše se hodnota proměnné var
Ctrl+ZRučně pozastaví skript
fgOpět skript spustí
bgSkript pošle na pozadí
mknodVytvoří speciální soubor nebo pojmenovanou rouru
$ (tar xzf archiv.tgz ; echo $? > exit_code_pro_rozbaleni ) &Testuje zda se rozbaleni archivu provedlo korektně a návratovou hodnotu zapíše do souboru.
cp ~/.{.bashrc,.bash_history} /tmp/testKopíruje z uvedene cesty (domovska slozka ~/) vsechny soubory uvedené v závorce {} do /tmp/test
cat xorg.conf grep -Ev '#|;$'vypise xorg.conf bez komentaru a prazdnych radku
cat xorg.conf grep -E '[#;]'to same akorat opacnou metodou
cat xorg.conf sed -ne '/Section\ \“ServerLayout\“/,/EndSection/p'vypise sekci z xorg.conf
for x in ServerLayout Device; do cat xorg.conf sed -ne “/Section\ \„$x\“/,/EndSection/p„; donevypise nekolik sekci, v tomto pripade ServerLayout a Device !
cat test.txt tr ' ' '\n' sort uniq -cVypíše ze souboru jednotlivá slova abecedně a jejich počet (opakování)
find -name co_hledame -vvypíše cesty k nalezeným položkam
find /etc -name '*.txt' xargs grep -li textVyhledat všechny soubory co obsahují slovo text
locateVypíše soubory k nainstalovanému programu (rm -i locate realplayer)
/Hledání v manuálové stránce
Shift + NKlávesová zkratka pro hledání dalšího řetězce

  • Vytvořil: DuckD
  • Pomáhali: Kolegové z fóra :-) Díky!
  • Poslední úprava: 2023/05/21 12:34
  • autor: mstanke