An Open Letter to a Digital World

folding@home
folding-community.org

FAHLinux.txt
finstall
finstall.uk
finstall.ee
finstall.fr
finstall.nl
bfinstall
bfinstall.uk
bfinstall.ee
bfinstall.fr
bfinstall.nl
fahback
fsuspend
fwake
finstallFAQ.txt
finstall in action
 
maskcalc
pingg

wrt_pingur

GNU/Linux noppeid

(osad nopetest on saadud katsetades ja ei pruugi kõige õigemad/kavalamad olla)

sisukord
  1. Progeste upgrade/install/uninstall/... (RPM);
  2. Bootloader LILO;
  3. Vool+arvuti;
  4. Parajasti jooksvad/käivad/... programmid ehk protsessimajandus;
  5. Kuidas käske lühemaks teha ehk alias;
  6. Editor vi ründab;
  7. Single Mode;
  8. Kellaaja-kuupäeva uuendamine;
  9. up2date "annab näkku";
  10. Ketta kiirus;
  11. Failisüsteem;
  12. Ketta kopeerimine;
  13. Adaptec'i RAID 2400A;
  14. Partitsioonimajandus;
  15. Bootloader GRUB;
  16. mc/midc reklaam;
  17. GNU/Linux sildama ehk teeme ise switchi;
  18. Pudipadi;
  19. Konsooli suuruse muutmine;
  20. "Esimene" skript ehk wget oli keeruline;
  21. Wondershaper;
  22. Bootdisk;
  23. Kerneli sõnumid (dmesg);
  1. Kuidas täpsemalt otsida infot kõvaketaste kohta;
  2. Copy & Paste;
  3. Teise kasutajana;
  4. Et ainult ftp oleks saadaval;
  5. Ketta lisamine/laiendamine;
  6. Partitsioonid "puus";
  7. Logid;
  8. Võrgu kiiruse piiramine ehk cbq;
  9. Lihtsaim võrgu jagamine (iptables+NAT);
  10. KDE kohtvõrku sirvima (lisa);
  11. Lihtsaim võrgu jagamine (ipchains+NAT);
  12. IP aadressi pikendamine sisevõrku (host route);
  13. IP aadressi pikendamine sisevõrku (iptables);
  14. Progeste jooksutamine teise kasutajana (sudo);
  15. Võrk omadele ehk MAC/IP filter;
  16. Et sama shelli sessiooni saaks veel ka pärast logouti kasutada (screen);
  17. Desktopi kaughaldus (vnc);
  18. Network Neighbourhood (samba);
  19. Uitmõtteid turbe teemadel;
  20. Et sisevõrgu alamvõrgud üksteist ei "näeks";
  21. Ping'imise keelamine;
  22. Squid Cache;
  23. SSH ilma password'i küsimata;
  1. GRUB - Linux ja Windows eraldi ketastel;
  2. Partitsioonide LABELid - Lisamine ja kasutamine;
  3. Failisüsteemi päästmine - Bad Sector'id ründavad;
  4. LVM partitsioonidele lähenemine;
  5. Ketta kopeerimine SSH vahendusel;
  6. Dracut jonnib ehk initramfs on vigane;
  7. SFTP CHROOT;
  8. NVMe ketas;
  9. Mellanox + transceiver;
  10. Mellanox kaardi firmware vahetamine;


sisukord

  1. Progeste upgrade/install/uninstall/... (RPM)

    .rpm paketi installeerimine/update'mine ja uninstall.
    Installeerimiseks/update'miseks:
    $ rpm -Uvh paketi_nimi
    NB: kui teatab, et juba on, aga ikkagi ei tööta, siis lisa ka --force.
    Uninstalleerimiseks:
    $ rpm -e paketi_nimi
    NB: paketi lõpust jäta ära  arhitektuuri tähised (.i386, .athlon vms) ja .rpm.
    Juba installeeritud paketid saab teada, kui kribad
    $ rpm -qa | less
    Ehk kui otsid midagi täpsemat (näiteks Mozillat), siis
    $ rpm -qa | grep mozilla
    Kui on olemas miski fail (N: /bin/echo), aga ei tea mis paketist see pärineb
    $ rpm -qf   /bin/echo
    sisukord

  2. Bootloader LILO

    LILO paigaldamine kõvakettale, näiteks kui winXX on suutnud järjekordselt MBRi puhtaks teha.
    http://www-128.ibm.com/developerworks/library/l-bootload.html?ca=dgr-lnxw01LILOandGRUB
    Bootida 'root' floppy diskilt ja tulevale promptile kirjuta:
    rescue root=/dev/hdaX ro
    kus X on gnu/linuxi root partitsioon ehk '/' partitsioon (vaata "Failisüsteem"). Kui massin on tööle hakanud, sa oled end root'ina sisse loginud, siis kirjutad lilo ja loodetavalt ongi jälle kõik korras.

    Eelnev meetod töötas vististi viimati RedHat 6.2'ga ja uuemad on selle rescue värgi segasemaks/paremaks? teinud ning seepärast ise kasutan Slack 7.1 bare.i bootdiski:
    mount root=/dev/hdaX ro

    NB: Slack 7.1 floppy kettalt bootimine ext3'e (alates RedHat 7.3'st?) ei tööta ning seega kasuta RH enda bootketast ("Bootdisk") ning käsk tulevale promptile tuleb kribada kujul:
    linux root=/dev/hdaX ro

    PS: LILO konfiguratisioon on failis /etc/lilo.conf ning sisu on midagi sarnast:
    prompt
    timeout=50
    default=linux
    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    message=/boot/message
    lba32

    image=/boot/vmlinuz-2.4.7-10
            label=linux
            initrd=/boot/initrd-2.4.7-10.img
            read-only
            root=/dev/hda3

    Uue kerneli  image lisamiseks tuleb lihtsalt kopeerida see image= alune osa ning muuta vastavalt nimed. label= annab nime millega LILO antud imaget tähistab ning default= näitab, mis image bootimisel vaikeväärtusena kasutusse läheb.

    NB: Ei ole mul õnnestunud massinat bootida kettalt, mis on ühendatud näiteks IDE Secondary Masterisse, sest massina bootimisel BIOS/kernel/... sihikindlalt väidab, et massin bootis /dev/hda'lt, aga tegelikult on /dev/hdc. Ainuke võimalus on bootida floppylt (sama kehtib ka GRUBi kohta).

    Single mode keelamine ehk massinale ligipääsu keelamine isegi juhul kui klaviatuur on saadaval:
    http://lists.suse.com/archive/suse-linux-e/2002-Oct/0849.html
    http://www.desktop-linux.net/root-password.htm
    sisukord

  3. Vool+arvuti

    Massina tapmiskäsud.
    $ halt
    seiskab massina;
    $ poweroff
    halt + püüab ka voolu välja võtta;
    $ reboot
    halt + restart; 
    sisukord

  4. Parajasti jooksvad/käivad/... programmid ehk protsessimajandus

    Näitab kõiki masinas jooksvaid protsesse.
    kõik protsessid massinas:
    $ ps -aux | less

    massinat koormavad protsessid saad:
    $ top

    kill käsuga saab protsessidele vee peale tõmmata (pid on protsessi number).
    -9 kiire surm:
    $ kill -9 pid
    -15 ootab väljumist:
    $ kill -15 pid
    PS: Protsessidega tegelemiseks peab sul olema vastavad õigused ehk kirvereegel: root teeb, mis tahab.
    NB: kill'iga saab ka muid asju teha:
    $ kill -l
    1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
    5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
    9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
    13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
    18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
    22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
    26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
    30) SIGPWR 31) SIGSYS 33) SIGRTMIN 34) SIGRTMIN+1
    35) SIGRTMIN+2 36) SIGRTMIN+3 37) SIGRTMIN+4 38) SIGRTMIN+5
    39) SIGRTMIN+6 40) SIGRTMIN+7 41) SIGRTMIN+8 42) SIGRTMIN+9
    43) SIGRTMIN+10 44) SIGRTMIN+11 45) SIGRTMIN+12 46) SIGRTMIN+13
    47) SIGRTMIN+14 48) SIGRTMIN+15 49) SIGRTMAX-15 50) SIGRTMAX-14
    51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
    55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
    59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
    63) SIGRTMAX-1 64) SIGRTMAX

    -19 protsessi peatamine:
    $ kill -19 pid
    -18 protsessi taaskäivitamine:
    $ kill -18 pid
    sisukord

  5. Kuidas käske lühemaks teha ehk alias

    Kui kasutamisel peab pidevalt mingisugust rida sisestama, et miski korralikult töötaks (N: teed telneti winXX masinast GNU/linuxi box'i ja pead peksma TERM=vt100, et pine üldse töötaks).
    Kodukataloogis olevasse faili kas .bash_profile või .profile sisestada:
    TERM=vt100; export TERM
    Käskudele võib ka alias'e kirjutada (alias rm='rm -i' - teatab ikka ka mida kustutab), et nende kasutamiseks vähem kirjutama peaks.

    Lisaks on ka kasutaja PATH ehk kataloogide tee milles asuvad käivitatavad failid on jooksvale kasutajale kättesaadavad ilma täit teed nendeni andmata.
    Näiteks:
    PATH=$PATH:$HOME/bin
    lisad sellele tuleb teha ':' kasutades:
    PATH=$PATH:$HOME/bin:/sbin
    sisukord

  6. Editor vi ründab

    Kui editoriks olev vi ootamatus kohas ründab ja mõistus otsa saab, siis näiteks joe'st peaks ikka abi olema.
    .profile või .bash_profile või .bashrc (root saab globaalselt kehtestada /etc/bashrc) sisesta:
    EDITOR=joe;     export EDITOR
    VISUAL=joe;     export VISUAL

    PS: Selline väärtuste määramine kehtib kõiksugu muutujate kohta, vaata näiteks käskude set ja env tulemit.
    sisukord

  7. Single Mode

    Et saaks masinat rahumeeli konfida (single mode).
    Bootimisel LILO's kirjuta: 
    linuxi_image_nimi_mis_lilos_kirjeldatud S

    Bootimisel Grub'is: 
    1. Vali nimekirjast sobiv kernel;
    2. Vajuta 'a';
    3. Vajuta [tyhik];
    4. Vajuta '1';
    5. Vajuta [enter];
    sisukord

  8. Kellaaja-kuupäeva uuendamine

    Script kellaaja ja kuupäeva võrgust küsimiseks ehk ka kellamajandus.
    #-8<--------Cut here-------
    #!/bin/bash
    /usr/sbin/ntpdate ntp.lth.se
    /sbin/hwclock --systohc
    #-8<--------Cut here-------

    PS: See kellamajandus on üldse üks segane asi, aga:
    1) Eesti asub EET ajavööndis;
    2) Lihtsam viis on ajavööndiks määrata "Europe/Tallinn";
    3) Märgi "System clock uses UTC";
    4) Ning kellaaega pane küsima miskist serverist, näiteks ntp.lth.se.

    NB: RedHat 8.0'is on ajamajandus täielikult puus, aga olukord paraneb kui uuendad ("Progeste upgrade/install/uninstall/... (RPM)") pakki redhat-config-date.  Värskeimad versioonid RedHat'i pakkidest leiad:
    ftp://ftp.redhat.com/pub/redhat/linux/rawhide/i386/RedHat/RPMS/.
    sisukord

  9. up2date "annab näkku"

    Kui up2date miskipärast "segmentation fault"'i viskab või muidu miskeid müstilisi vigu kurdab.
    0) Veendu, et võrk on töökorras.
    1) Veendu, et see massin on ikka registreeritud (rhn_register --nox), RedHat'i public_key on paigas (miskil hetkel see up2date või rhn_register ütleb kuidas sa selle key saad) ja massin ise on ka entitlement'itud (rhn.redhat.com).
    2) Kustuta selle massina registreering rhn.redhat.com'is ning registreerid selle massina uuesti.
    3) Kustuta kõik failid kataloomas /var/spool/up2date/.

    Seni ei ole ma kohanud ühtegi massinat, mida nende võtetega pole saanud ravida. (*** Aga siiski on juhtunud, et miskid massinad ei allu up2date'misele nendest liigutustest hoolimata - isegi rhn_register ei võta enam jutule. Sellisel juhul on lahenduseks olnud update cd plaadilt. ***)

    PS: konsoolilt saab ka seda up2date't kohandada:
    $ up2date-nox --configure
    ning up2date konsoolilt
    $ up2date-nox -u

    PS1: Kui on soov upgradeda miskiks teiseks RedHat versiooniks, aga ei viitsi ise cdrom'iga jännata, siis "up2date-nox --configure" all on "Version Override", mis tuleks vastavaks panna (näituseks 7.3) ning, siis up2date käivitada.
    PS1a: RedHat 7.3.93 alates ei ole selline upgrade enam võimalik, aga samas saab sellest probleemist üle kui selle massina profiil kustutada rhn.redhat.com süsteemist, muuta "Version Override"= selliseks nagu tahad (näituseks 8.0), registreerida see massin uuesti (up2date-nox --register) ning alles siis alustada tegevusi "up2date-nox -u"ga.
    PS2: Kuna  uuele versioonile üleminekul võivad miskid softijupid (paketid) üldse kasutuselt kadunud/miskisse teise paketti kolinud olla, siis (halvemal juhul) tuleb ka natuke rpm -e'd kasutada ("Progeste upgrade/install/uninstall/... (RPM)").

    NB: Uuemal ajal on up2date asemele/kõrvale tulnud uued programmid, mis saavad softiuuendusega hakkama - apt-get, synaptic, yum, ...
    sisukord

  10. Ketta kiirus

    Ketta kiiruse mõõtmiseks.
    X - ketas, mida testid (a,b,c,...):
    $ hdparm -Tt /dev/hdX
    sisukord

  11. Failisüsteem

    Failisüsteemi tabel.
    Failis /etc/fstab on failisüsteemi tabel.
    Näiteks:
    /dev/hda5               /                       ext3    defaults        1 1
    /dev/hda1               /boot                   ext2    defaults        1 2
    none                    /dev/pts                devpts  gid=5,mode=620  0 0
    none                    /proc                   proc    defaults        0 0
    none                    /dev/shm                tmpfs   defaults        0 0
    /dev/hda2               swap                    swap    defaults        0 0

    Vaata ka "Partitsioonimajandus" (kõik NBd annavad lisateavet) & "Ketta lisamine/laiendamine" 2. osa näide.

    Näiteks Win partitsiooni ühendamiseks vaata:
    http://www.vendomar.ee/%7Eivo/mount.html

    sisukord

  12. Ketta kopeerimine

    Terve HDD kopeerimine ühelt kettalt teisele.
    Midnight Commander (mc/midc) ei kopeeri(nud) failide õigusi ja linke korralikult ning seepärast sai kogenumalt kaasvõitlejalt abi küsitud...

    Tulemuseks oligi selline skript:
    $ mount /dev/uusketas /mnt/mingiasi
    $ cd /
    $ tar cf - kõik_kataloogid_ja_failid_juurikas_va_proc_ja_mnt | (cd /mnt/mingiasi;tar xvfp - )

    NB0! Kõik partitsioonid tuleb kopeerida eraldi ehk $ df ja/või "Failisüsteem"on abiks.
    NB1! kataloogide eraldajaks on tühik.
    NB2! /mnt kataloogi kopeerides võib tekkida rekursiooni oht, juhul kui teine ketas on mount'itud /mnt alla (/mnt kataloog oma sisuga tuleks eraldi teha uuele kettale).
    NB3! /proc kataloog kindlasti uuele kettale teha, muidu ei suuda bootida.
    NB4! Ketta kopeerimisel vaata, et oleks täidetud "Partitsioonimajandus" NB3'e alune tingimus.
    NB5! Miski näide on "Ketta lisamine/laiendamine" 2. osas.
    sisukord

  13. Adaptec'i RAID 2400A

    13. Projekt: Kuidas Adaptec 2400A driverid RH7.X alla käima saada.

    Kuna esialgne eesmärgiks oli Adaptec 2400A RAID kontrolleri käimasaamine RH7.2'ga, siis sai seda elukat torgitud vasakult ja paremalt. Kaardi leidis ilma lisapingutusteta üles küll ja pidas dpt_i2o mooduli kaudu selle küljes olevaid IDE kettaid SCSI ketasteks, aga kuna Adapteci manualid järjekindlalt väitsid "kui ei ole tehtud lowlevel formatit või miskit ZAP'i miskise raidutil jubinaga, siis ei ole asi hea mette" ning seega saatsin kirjakesi Adapteci suunas ja seda teemadel, et kas ja kuidas saab RH7.2 (2.4.9-13) asja tööle, aga need seal panid vastu, et kasuta ikka unofficial RH7.1 (kernel 2.4.2-2) mooduleid ja ei midagi enamat. Egas midagi püüdsin vägisi sellele raipele seda utiliiti selgeks teha, aga ei midagi head.

    Siin on siis katse RH 7.1'ga.
    Katse  RH7.1 (kernel 2.4.2-2):
    #see ametlik draiver on valele kernelitele, aga on vajalik, et sm_linux_v314_install.rpm rahule jääks.
    $ rpm -Uvh aar2400_linux_v221_drv.rpm
    #see on mitteametlik draiver 2.4.2-2 kernelile
    $ tar -xzpf dptdriver.tgz
    $ cp -R usr /
    $ cd /usr/adaptec/i2o_driver/
    $ ./install.sh --noinitrd
    # nüüd siis storage manager 3.14, mis on küll RH7.0, aga kuna muud pole, siis ehk kõlbab
    $ rpm -Uvh sm_linux_v314_install.rpm

    Ja ei midagi erinevat: ei õnnestu miskit teha selle va raidutil'iga, mis asub kataloomas /usr/dpt/, aga eks vaatab, mis edasi saab. (Väidetavalt on Adapteci draiverid selle kaardi jaoks ametlikult alates kernelist 2.4.10 sees, aga ei ole viitsinud asja uuesti näppida.)

    Uuendus: RedHat 7.3 on juba kerneliga 2.4.18 ning see raidimajandus töötab täiesti!
    sisukord

  14. Partitsioonimajandus

    14. Uuele kettale GNU/Linux'i partitsioonid.
    http://www.linuxplanet.com/linuxplanet/tutorials/4269/1/
    FDISK on õige tööriist tegemaks uuele kettale partitsioonid (näiteks: $ fdisk /dev/hdc, juhul kui uus ketas on Secondary Master), fdisk'is on piisav abi olemas kuidas midagi teha (sisuliselt sarnane M$ fdisk'iga, aga vabadust midagi metsa keerata on rohkem).
    Juhul kui vaja vana ketas uue vastu vahetada, siis peab olema uuel kettal vähemalt üks LinuxNative ja üks LinuxSwap partitsioon.

    Näiteks soovin saada /dev/hdc1 LinuxSwap'iks ning /dev/hdc2 LinuxNative'ks. LinuxNative ketta failisüsteemiks  valin näituseks ext2, seega tuleb failisüsteemi loomiseks (formatiseerimiseks) kribada $ /sbin/mkfs.ext2 /dev/hdc2 ning LinuxSwap ketta jaoks $ /sbin/mkswap /dev/hdc1.

    NB1: Kui on vaja ext2 failisüsteem muuta ext3'ks, siis näiteks $ tune2fs -j /dev/hdc2 .
    NB1a: Kui see esialgne ext2 patritsioon on/saab olema /etc/fstab'is ehk üldjuhul ka bootimisel vaikimisi mount'itav, siis muuda see ka  seal (/etc/fstab) vastav partitsioon ext3'ks (vaata ka "Failisüsteem").

    Nüüd mil on partitsioonid olemas saab need lihtsalt külge mount'ida ($ mount /dev/hdc2 /mnt/disk) ja kasutada kuidas soovi on.  
    NB2: vfat (fat32) partitsiooni tegemiseks fdisk'i ja mkfs'iga:
    fdisk'is tuleb partitionil /dev/hdaX tüüp muuta käsuga 't' näiteks 'c'-"Win95 FAT32 (LBA)" ning käsuga mkfs.vfat -F 32 /dev/hdaX saabki selle siis vfat'iks pöörata.
    NB3: On olemas ka selline vigur nagu 'partition label' ehk partitsiooni nimi või kuidas iganes seda nimetada. See on üks tore asi, aga jama on selles, et mkfs jätab vaikimisi selle tühjaks ning man mkfs ei räägi kuidas seda ikkagi määrata. Seepärast edasiste jamade vältimiseks ("kernel panic") tuleb root'il muuta faili /etc/fstab kujule:
    /dev/hda2               /                       ext3    defaults        1 1
    /dev/hda1               /boot                   ext3    defaults        1 2
    (partitsioonide tegeliku mount-pointi saad teada 'df' pruukides)
    ehk muuta esimest tulpa kus on kirjas  LABEL'id:
    LABEL=/              /                       ext3    defaults        1 1
    LABEL=/boot      /boot                   ext3    defaults        1 2
    sisukord

  15. Bootloader GRUB

    RH7.2's on bootmanageriks GRUB ja perast Terve HDD kopeerimine ühelt kettalt teisele tekkis jama bootloaderi taastamisega.
    Miskit tekst grubi teemadel mainis miskit ketaste nummerdamise erinevust tavalisest kasutatavast (algab 0'ist).
    Perast mitut tulutut katset jõudsin töötava tulemuseni, sest proovisin kas ka partitsioonid hakkavad nullist ja need hakkavadki.
    http://www.uruk.org/orig-grub/install.html
    http://www-128.ibm.com/developerworks/library/l-bootload.html?ca=dgr-lnxw01LILOandGRUB
    Bootida massin üles floppylt, kasutades "Bootloader LILO" võtteid ning lilo asemel käivitad grub'i.

    grub'is kirjutad:
    install= (hd0,0)/grub/stage1 (hd0) (hd0,0)/grub/stage2 0x8000 p

    NB1: (hd0,0) ehk esimene ketas ja esimene partitsioon (vaata ka "Failisüsteem").
    NB2: /grub/  tähendab faili stage1 või stage2 asukohta ehk kui grub on kusagil mujal, siis tuleb ka vastavalt näidata.
    NB3: Kettad nummerdatakse vastavalt olemasolule, mitte valitud slotile ehk kui massinas on kettad /dev/hda ja /dev/hdc, siis need saavad nummerdatud 0 ja 1.

    GRUB konfiguratsioon on failis /boot/grub/grub.conf ning sisu on midagi sarnast:
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/hda3
    #          initrd /initrd-version.img
    #boot=/dev/hda
    default=0
    timeout=10
    splashimage=(hd0,0)/grub/splash.xpm.gz
    title Red Hat Linux (2.4.18-10)
            root (hd0,0)
            kernel /vmlinuz-2.4.18-10 ro root=/dev/hda3
            initrd /initrd-2.4.18-10.img
    title DOS
            rootnoverify (hd1,0)
            chainloader +1

    NB4: Juba eelnevalt mainitud ("Partitsioonimajandus") partitsiooni LABEL võib ka mängus olla ehk root partitsiooni asukoht on antud kujul:
    root=LABEL=/

    PS: Tundub, et see õpetus on kuidagi poolik, sest ühele lapparile ei saanud ma kuidagi selgeks teha, et see bootida võiks. Ainus, mis tekkis, oli grubi prompt.
    sisukord

  16. mc/midc reklaam

    Ühel päeval sain üllatuse osaliseks, GNU/Linux võib osutuda keerulisemaks lihtsalt seepärast, et pole kunagi kuuldud kunagi programmist Midnight Commander (mc / midc).
    Kui WinDOS käpas on, peaks mingis staadiumis NC, FAR, ... ikka nähtud olema - Unix'i maailmas mängib sarnast rolli mc (midc).

    NB: kui mc käivitada telnet'iga WinDOS'i massinast, siis enne seda peaks/võiks ka TERM=vt100 promptile kribada ("Kuidas käske lühemaks teha ehk alias").
    sisukord

  17. GNU/Linux sildama ehk teeme ise switchi

    Kui ei ole soovi kasutada routerit ning ikka tahaks ühendada võrku kari massinaid. Ega muud kui teeme ise silla (bridge).
    Vajalikuks osutub programmijupats: bridge-utils & bridge-utils-devel.
    http://bridge.sourceforge.net/download.html
    Täpsemalt:
    http://www.linuxgazette.com/issue76/whitmarsh.html
    RedHat 7.2 korral:
    $ ifdown eth0
    $ ifdown eth1
    $ ifconfig eth0 0.0.0.0
    $ ifconfig eth1 0.0.0.0
    $ brctl addbr sillake
    $ brctl addif sillake eth0
    $ brctl addif sillake eth1
    Kui see sild on läbipaistev ehk aadressita, siis:
    $ ifconfig sillake up
    Aga kui ikka aadressi ka vaja, siis:
    $ ifconfig sillake 192.168.0.200 netmask 255.255.255.0

    Ja tundub, et rohkem pole vajagi...

    Aga Aironet/Cisco 4800/342/352/... ei ole võimeline sildama.
    sisukord

  18. Pudipadi

    18. Väikesed tegevused.
    $ ls
    katalooma sisu vaatamine (ainult nimed);
    $ ls -la
    katalooma sisu vaatamine (nimed+omanikud+õigused);
    $ du
    annab katalooma ja selle järglaste kasutatava mahu;
    $ df
    annab seadmete mahud ja kasutatud mahu;
    $ top
    jooksvad protsessid ja natuke muud infot;
    $ uptime
    kaua massin püsti on olnud;
    $ switchdesk KDE
    pöörab desktopimajanduse KDE'ks;
    $ switchdesk GNOME
    pöörab desktopimajanduse GNOME'ks;
    $ chown -R root.root /mnt
    muudab katalooma /mnt ning selle järglaste omanikuks ning ka grupiks root;
    $ chmod +x script
    muudab faili script käivitatavaks;
    $ apropos dir
    näitab dir-iga seotud käske;
    $ man mkdir
    näitab mkdir-i manuaali;
    $ locate fail
    otsib faili;
    $ which cat
    otsib käsu cat asukohta PATHis;
    sisukord

  19. Konsooli suuruse muutmine

    Vesa Framebuffer juhuks kui näituseks on vaja konsooli (vaikeväärtusega 80 veergu 25 rida)  läpparil/massianal suuremaks ajada.
    http://www.xss.co.at/sysinfo/laptops/asusP6300/vesafb.html
    GRUB ehk nö GRUB1'e korral lisa kernel rea lõppu vga= ning moodi number.
    Miskid moodid saab sellest tabelist:
            | 640x480  800x600  1024x768 1280x1024
    -----+-------------------------------------
    256  |  0x301    0x303    0x305    0x307
    32k  |  0x310    0x313    0x316    0x319
    64k  |  0x311    0x314    0x317    0x31A
    16M |  0x312    0x315    0x318    0x31B
    Kui on soov ise katsetada ja uurida, siis kirjuta vga=ask.

    Näiteks:
    kernel /vmlinuz-2.4.9-31 ro root=/dev/hda3 vga=0x317
    annab resolutsiooniks 1024*768*16bit värvi.

    Aga järjest enam võimu koguval KMS/GRUB2 ajastul ei saa konsooli ekraani suurusi enam nii lihtsa liigutusega vahetada - GRUB2 seadistamine on segasemaks aetud ning KMS ignoreerib 'vga=' seadistust (hetkel 'vga=' toimib siiski enne KMS'i aktiveerumist, aga seegi on vist ajutine).
    Et KMS ei hakkaks ise omatahtsi tegutsema tuleb kernelile saata parameeter 'video=' (näiteks 'video=1024x768@60'). Kui tahtmine KMS üldse keelata, siis selleks on parameeter 'nomodeset'.
    Veidi spetsiifilisem näide on 'vga=792 video=VGA-1:1024x768@60me', mis muudab ekraani reziimi enne KMS'i ning KMS ise sunnitakse aktiveerima VGA-1 port 1024x768@60 reziimis.

    See, mis GRUB2 puutub, siis kuna '/boot/grub2/grub.cfg' genereeritakse automaatselt, siis kõik vajalikud muudatused tuleb teha '/etc/default/grub' failis 'GRUB_CMDLINE_LINUX=' real või 'GRUB_CMDLINE_LINUX_DEFAULT=' real ning käivitada 'grub2-mkconfig -o /boot/grub2/grub.cfg', mis omakorda genereerib '/boot/grub2/grub.cfg'.

    https://wiki.archlinux.org/index.php/GRUB2
    http://www.mjmwired.net/kernel/Documentation/fb/modedb.txt
    sisukord

  20. "Esimene" skript ehk wget oli keeruline

    Selle scripti tegin WGET'i täienduseks, selleks et wget'i kaasabil saada kätte faile, mis kindlasti olemas on, aga serveri ülekoormatuse pärast löögile ei lasta (wget lõpetab sel juhul töö). 
    Seda scripti kasutades olen saanud soovitud kraami lõpuks ikkagi kätte.
    #-8<--------Cut here-------
    #!/bin/bash
    echo "KET."
    echo "Behavior: tries until file is downloaded successfully."
    if  [ "$1" = "" ]
    then
     echo "URL needed."
     else
      while true;
       do if wget -c -t0 --passive-ftp $1;
          then echo 'Success with "'$1'"'
               break;
          else echo 'No success with "'$1'"';
          fi;done
    fi;
    #-8<--------Cut here-------
    sisukord

  21. Wondershaper

    *** Wondershaper *** ehk et upload ei tapaks downloadi.
    http://lartc.org/wondershaper/
    Ka muud samal teemal: http://ds9a.nl/
    ET Atlas Mediumile sai pandud:
    DOWNLINK=335
    UPLINK=110
    ning tundub, et sobivad, aga eks aeg näita...
    ...aeg näitas, et ma seda enam ei kasutagi.
    sisukord

  22. Bootdisk

    Bootdiski tegemiseks juba installitud distributsioonis.
    mkbootdisk --device /dev/fdX kernel_version
    X on kas 0 ehk "A:" ja 1ehk "B:".
    Võimalikud kernel'i versioonid saad, kui kribad:
    $ ls /lib/modules/
    Või kui tahad jooksvat kernelit teada:
    $ uname -a
    Näide:
    $ mkbootdisk --device /dev/fd0 2.4.18-14
    sisukord

  23. Kerneli sõnumid (dmesg)

    Näitab tekkinud kerneli message'id..
    $ dmesg
    Vaata ka "Logid".
    sisukord

  24. Kuidas täpsemalt otsida infot kõvaketaste kohta

    Väljastab kõik read kus on lõik 'hd' ehk antud juhul annab kerneli messagetest kõik IDE ketastega seonduvat.
    $ dmesg | grep hd
    sisukord

  25. Copy & Paste

    Valitud teksti kopeerimine.
    Märgid näiteks hiirega teksti ära (vasak klahv) ja siis pasted (parem klahv). Ehk juba miski teksti märkimine võrdub operatsiooniga "copy" ning "paste" tuleb eraldi teha.
    sisukord

  26. Teise kasutajana

    Teise kasutajana massinas möllamine.
    $ su
    lähed root'iks enda settingutega.
    $ su -
     lähed root'iks  root'i settingutega.
    $ su teine_tegelane
    lähed teiseks_tegelaseks.
    sisukord

  27. Et ainult ftp oleks saadaval

    Et saada kasutaja, kes ei saa shelli kasutada ja ainuke ligipääs on ftp.
    Promptil ja root'ina:
    $ cd /bin
    # NB! järgnevatel ridadel kui kasutad lihtsalt ">", siis kirjutab viidatud faili üle, mille tagajärg võib väga kurb olla, samas ">>" paneb kirje selle faili lõppu.
    $ echo 'echo "Shell is not available!"' > pole
    $ chmod +x pole
    $ cd /etc
    $ echo '/bin/pole' >> shells

    Kui massinas on linuxconf (alates RedHat 7.3 ei ole linuxconfi enam distributsioonis ning vajadusel tuleks kasutada RedHat 7.2 oma või kasuta hoopis redhat-config-users utiliiti):

    Linuxconf'is valid "Users accounts"->"Normal"->"Group definitions".
    Veendud, et /etc/ftpaccess olev "guestgroup" definitsiooniga antud kasutajagrupp on olemas (N: "guestgroup ftpchroot" ehk "ftpchroot").
    Kui see puudub, siis lisad: "Add"->"Group name", mille paned selleks guestgroup'is määratud nime (N: ftpchroot).

    Linuxconf'is valid "Users accounts"->"Normal"->"User accounts"->"Add".
    Ehk teed uue kasutaja:
    "Login name": kylaline
    "Supplementary groups": ftpchroot
    "Command interpreter(opt)": /bin/pole
    sisukord

  28. Ketta lisamine/laiendamine

    Ketta lisamine/laiendamine.
    1) kui asendada olemasolev ketas lihtsalt suuremaga, siis käiku lähevad "Uuele kettale GNU/Linux'i partitsioonid" ehk "Partitsioonimajandus" (partitsioonitabeli vaata /etc/fstab'ist, aga ega sellest ei pea üheselt kinni pidama, samas kui miskipärast kasutad teist partitsioonide paigutust, siis uue ketta /etc/fstab'is, pärast kopeerimist, tuleb ka vastavad muudatused teha), "Terve HDD kopeerimine ühelt kettalt teisele" ehk "Ketta kopeerimine", vana ketas asenda uuega ja "LILO paigaldamine kõvakettale..." ehk "Bootloader LILO" või kui kasutad GRUBi, siis selle paigaldamine ehk "Bootloader GRUB".

    2) kui on soov olemasolevat ketast säilitada, aga lisada veel üks/kaks/kolm/... ketast, siis kasuta "Uuele kettale GNU/Linux'i partitsioonid" ("Partitsioonimajandus") ning seejärel:
    see kataloom, kuhu sa seda ketast tulevikus mountida (ühendada) tahad, peab olema olemas ning ka tühi (NB! miskist 2.4.x kernelist alates võib ketast mountida ka mittetühja katalooma, aga sel juhul ei ole vanad failid enam ligipääsetavad) ehk kui asendad olemasolevat katalooma, siis kasutad "Terve HDD kopeerimine ühelt kettalt teisele" ("Ketta kopeerimine") võtteid, aga vahega, et sa kopeerid ainult miskit katalooma ja mitte tervet ketast. Kui see tehtud ja jamasid ei ole tekkinud, siis kustutad esialgse katalooma sisu ning viid täiendused ka /etc/fstab'i.

    PS: Kui on vaja asendada miski katalooma sisu juba varem (kusagil mujal) installeeritud massinast, siis on enam kui kindel, et kataloomade/failide omandiõigused ei klapi ehk näituseks kataloom /home/siim ei pruugi tagelikult uues süsteemis kuuluda kasutajale 'siim' vaid hoopis kasutajale 'priit' (ehk uid ehk user id ja gid ehk group id võivad osutuda numbriliselt samaks).
    Et kataloom /home/siim kuuluks ikka kasutajale 'siim', siis:
    $chown -R siim.siim /home/siim

    Näide: Soov on asendada olemasolevat katalooma /home ning olemas on ka partitsioneeritud  (vaata ka "Partitsioonimajandus" NB3'e alust tingimust) ja formateeritud ketas /dev/hdc (ütleme, et /dev/hdc2 on tulevane /home kataloom).

    /mnt/disk kataloom peab eelnevalt olemas olema ning kui pole, siis tee!
    $ mount /dev/hdc2 /mnt/disk
    $ cd /home
    Tõmbad näituseks mc tööle (ütleme, et seal on sellised failid ja kataloomad: leelo, afdsf_dffd.rAw.eer_1 ja enda_failid) ja seal sees kribad:
    $  tar cf - leelo afdsf_dffd.rAw.eer_1 enda_failid  | (cd /mnt/disk;tar xvfp - )
    Ootad kopeerimise lõpuni ning kui jama ei ole, siis kustutad vana /home katalooma sisu ära (mitte /home katalooma ennast).
    Edasi võtad lahti /etc/fstab faili ja lisad sinna rea samas formaadis, mis teisedki selle faili read, aga välja võiks tulemus näha selline:
    /dev/hdc2                /home                       ext2    defaults        1 1

    NB: ext2 asemel peab/võib olla ext3 kui eelnevalt on teada, et süsteem toetab ext3 failisüsteemi ja $ tune2fs -j /dev/hdc2 on ka tehtud (vaata ka "Failisüsteem" & "Partitsioonimajandus" NB1a).

    Kui see operatsioon on tehtud, siis egas muud kui $ mount /home (veendumaks, et selle /home katalooma sisu on ikka olemas) või kui riskid, siis $ reboot.
    sisukord

  29. Partitsioonid "puus"

    Partitsioonide otsimine ja taastamine.
    $ gpart /dev/hdX
    kui sisu meeldib, siis
    $ gpart -W /dev/hdX /dev/hdX

    Kui tulemus ei ole hea, siis:
    $ rescuept /dev/hdX > tabelike
    $ sfdisk /dev/hdX < tabelike
    või kui kobiseb miskit ja ikka soovid partitsioonitabelit paigaldada:
    $ sfdisk --force /dev/hdX < tabelike

    Täiendus: Selgus, et uued distrod ei pruugi vastavaid utikaid omada. Fedorast leidsin testdisk nimelise utika, teeb sama asja...
    sisukord

  30. Logid

    Logidevärk.
    /var/log/ kataloom sisaldab igasugu logisid:

    /var/log/dmesg sisaldab kerneli sõnumeid, mis näiteks bootimisel öeldakse;
    /var/log/messages on põhjalikum logi, mis ka deemonite sõnumeid sisaldab;
    /var/log/secure massinasse pääsu proovimised ja saamised;
    neid logisid on veelgi, aga vaata ise.
    sisukord

  31. Võrgu kiiruse piiramine ehk cbq

    Kuidas ilma erilise lisavarustuseta RedHat purgiga võrgu kasutajate kiirusi piirata?

    Miski näite leiab /usr/share/doc/shapecfg-2.2.12/README.cbq ning seda muidugi juhul kui shapecfg pakk ikka paigaldatud on.
    Samal/seonduval teemal on abiks ka script http://www.kivilinn.tartu.ee/iproute2/.
    Lisatarkust http://lartc.org/HOWTO//cvs/2.4routing/html/c47.html ning  miski lihtsam näide http://www.docum.org/.
    See CBQ.init on tegelikult tc peal tehtud ehk tc kohta ka üks link: http://snafu.freedom.org/linux2.2/iproute-notes.html
    RedHati distributsioonidega kaasas on selline jubin nagu CBQ (shapecfg paketis) millega saab edukalt võrgu kasutajate kiirusi piirata.

    NB0: Miskipärast on, RedHati levitatav, variant cbq.init'ist kole vana ehk uuema saab:
    https://sourceforge.net/project/showfiles.php?group_id=42529&release_id=108424 

    Järgnevad skriptid käivad konfile kus on eth1=Internet ning eth0=LAN.

    eth1 võrgukaart on 100Mbit/s
    eth0 võrgukaart on 10Mbit/s

    /etc/sysconfig/cbq/ kataloogis on kehtivad konfifailid ning kui seal on miski example ees, siis kustuta/tõsta see mujale.

    Konfifailide nimed peavad olema antud kujul:
    cbq-ID.nimi
    1) ID on HEX 2 baiti ning peab olema unikaalne igale failile!
    2) nimi on string.

    LAN'i klient 192.168.3.2 saab kiiruseks 1024Kbit downloadi ja 256Kbit uploadi.

    Kliendi downloadi shapemine:
    (fail cbq-0002.k0-d)

    DEVICE=eth0,10Mbit,1Mbit
    RATE=1024Kbit
    WEIGHT=100Kbit
    PRIO=5
    RULE=192.168.3.2

    Kliendi uploadi shapemine:
    (fail cbq-0003.k0-u)

    DEVICE=eth1,100Mbit,10Mbit
    RATE=256Kbit
    WEIGHT=25Kbit
    PRIO=5
    RULE=192.168.3.2,

    Abiks on ka:
    cbq start
    cbq stop

    NB1: Liiklusmahtu piirata  (traffic shaping) saab ainult ruuteripurgist väljuva liikluse kohta reeglite kehtestamisega:
    1) kuna Interneti poolt (eth1) sisenev läbiv liiklus väljub LANi eth0 kaudu, on mõistlik kliendi downloadi liiklusmahtu piirav reegel (RULE) kehtestada eth0 jaoks.
    2) kuna LAN poolt (eth0) tulev läbiv liiklus väljub purgist (Internetti) eth1 kaudu, on LAN kliendi liiklusmahu piiramiseks vajalik reegel (RULE) vaja kehtestada eth1 jaoks.
    NB2: Selliselt tehtud piirang ei tööta juhul, kui LAN klient kasutab NAT teenust - sel juhul ei saa
    eth1 teada LAN kliendi tegelikku aadressi - siis on lahendusvariandina mõeldav eraldi marsruuteripurgi
    kasutamine, mis ühtlasi tegeleks siis ka liiklusmahu piiramisega.
    NB2a: Uploadi mahtu NATi purgis saab siiski kontrollida, kui vastava IP paketid täiendavalt märgistada miski kindla tunnusega (vaata ka NB0):
    http://www.eenet.ee/arhiiv/linuxvestlus/msg15055.html
    http://www.eenet.ee/arhiiv/linuxvestlus/msg15061.html
    http://www.eenet.ee/arhiiv/linuxvestlus/msg15082.html
    NB3: Shapeda ei saa alias device'i ehk device'i kujul eth0:1.
    NB4: Shapeda saab ka pordi kaupa ning sel juhul peab RULE's oleva aadressi lõppu :portnr panema, kus portnr on vastava pordi number (N: 192.168.3.2:80).
    NB5: Võrgu shape'imiseks tuleb anda aadress kujul võrguaadress/mask (N: 192.168.3.0/24).
    NB6: Täitmisel läbitakse RULEd väiksemast ID numbrist alates ning täitmisele läheb esimene, mis tingimusi täidab ehk kui on vajalik shape'ida suurt osa võrgust ühtmoodi ning selle sees mõnede IPde kohta tarvis erinevaid reegleid, siis peavad nende üksikute erandite ID numbrid olema väiksemad kui üldised võrgu shape'ingu RULEd.
    NB7: Samasse faili pandud RULEdele kehtib ühtne RATE, mitte igale RULEle eraldi ehk igal võimalikul ajahetkel on RULEdes näidatud aadressidega seotud võrguliiklus summaarselt võrdne RATEga (muidugi juhul, kui sellest torust ikka niipalju matsu üldse läbi tuleb).

    PS: Lisaks kiiruse piiramisele vaata ka "Võrk omadele ehk MAC/IP filter".

    Üits näide kah, mis katsetajaile abiks võiks olla:

     Tere

     Tegin teie lehel leiduva juhendi järgi võrgu piiramise red hat 7.3'ga.
     Asi downloadi puhul töötab ideaalselt nii kui läbilaset
     muudan kohe trafficust on näha, aga nyyd probleem,
     sest mis oleks põhiline vajadus, et uploadi jaoks ei mõju :(

     Äkki oskad miskit nõu anda?

     P.S. Lisan 2 confi faili ka

     ______________________________________________________________________
     DEVICE=eth0,10Mbit,10Mbit
     RATE=64Kbit
     WEIGHT=8Kbit
     PRIO=5
     RULE=192.168.0.0/24

     ______________________________________________________________________
     DEVICE=eth1,100Mbit,100Mbit
     RATE=2048Kbit
     WEIGHT=100Kbit
     PRIO=5
     RULE=192.168.0.0/24


    Vastus sai selline:

            Tere,

    Vaevalt, et sa uploadi rohkem annad, kui downloadi ehk kui eth1 on LAN
    ning eth0 on internet ning NATimist sa ei kasuta:

    1) Downloadi shape:
    DEVICE=eth1,100Mbit,10Mbit
    RATE=2048Kbit
    WEIGHT=205Kbit
    PRIO=5
    RULE=192.168.0.0/24

    2)Uploadi shape:
    DEVICE=eth0,10Mbit,1Mbit
    RATE=64Kbit
    WEIGHT=7Kbit
    PRIO=5
    RULE=192.168.0.0/24,

    Kui sa kasutad NATi, siis:
    1) pead alati käivitama (kirjuta see näiteks /etc/rc.d/rc.local faili
    lõppu):
    /sbin/iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -j MARK
    --set-mark 0x1

    2) Downloadi shape:
    DEVICE=eth1,100Mbit,10Mbit
    RATE=2048Kbit
    WEIGHT=205Kbit
    PRIO=5
    RULE=192.168.0.0/24

    3) Uploadi shape:
    DEVICE=eth0,10Mbit,1Mbit
    RATE=64Kbit
    WEIGHT=7Kbit
    PRIO=5
    MARK=1

    PS: Uuenda shapecfg pakki (ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS), sest RH7.3
    kaasas olev ei oska MARK'iga midagi teha.

    Ehk olin abiks...

    ...oligi sest abi.

    sisukord

  32. Lihtsaim võrgu jagamine (iptables+NAT)

    Lihtsaim/lihtne iptables'iga võrgujagamisskript.
    Tarkust teemadel: http://www.linuxguruz.org/iptables/
    Teed näiteks faili /etc/rc.d/rc.masq ja paned sinna sellise sisu (***vajadusel muudad aadressid ja interfaceid *** ):
    #-8<--------Cut here-------
    #!/bin/sh

    # Mis interface on ühendatud välisvõrku (ehk see kaabel tuleb õuest tuppa)?
    IFACE=eth1

    # NAT'itav ehk MASQ ehk sisevõrk:

    INTNET=192.168.0.0/24

    # /24 on network mask, mis antud juhul on 24 bitti väärtusega 1 ehk 255.255.255.0

    # Vajalik, sest muidu ei ole purk võimeline ruutima:
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #Kõikvõimalikud moodulid:
    modprobe iptable_nat
    modprobe ip_nat_ftp
    modprobe ip_nat_irc
    modprobe ip_conntrack_ftp
    modprobe ip_conntrack_irc

    #See rida on tegelik rule, mis selle MASQ e. NATimisega tegeleb:
    /sbin/iptables -t nat -A POSTROUTING -o $IFACE -s $INTNET -j MASQUERADE;

    #Miskist ERRATAst selgus, et turvalisuse kaalutlustel oleks vaja vigased paketid kõrvaldada:

    /sbin/iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP
    #-8<--------Cut here-------

    NB1: Väidetavalt selline MASQUERADE kasutamine on mõeldud juhul kui välisühenduse aadress on muutuv (dhcp) ning püsiaadressi korral tuleb kasutada:
    iptables -t nat -A POSTROUTING -s $INTNET -o $IFACE -j SNAT --to $OUTIF
    kus OUTIF on interface aadress, mille kaudu see välisühendus käib (vt: http://www.mandrakesecure.net/en/docs/HOWTO/NAT-HOWTO/NAT-HOWTO.linuxdoc-6.html).
    NB2: Veendu, et masinas on olemas/lubatud iptables ning samas ei jookse ipchains (RedHati sisseehitatud firewall jookseb ipchainsiga ning iptablest ei lasta käivitada ehk keela see firewall (kasuta käsku 'setup' ning sealt alt 'firewall' ning 'services')).
    NB3: Et see skript ka käivituks tuleb see käivitatavaks teha (näituseks: $ chmod +x /etc/rc.d/rc.masq) ja /etc/rc.d/rc.local'isse  sisse (lõppu) kirjutada.

    Veel linke:
    http://www-106.ibm.com/developerworks/security/library/s-netip/?t=gr,lnxw02=LinuxFirewall
    sisukord

  33. KDE kohtvõrku sirvima (lisa)

    KDE2/3'ga on võimalik üsna edukalt kohtvõrgu jagatud kataloomasid sirvida, aga out-of-box ei taha see mitte õnnestuda, sest vastav service ei panda installeerimisel kaasa ega ka stardita seda.
    http://lisa-home.sourceforge.net/
    Probleemi lahendamiseks on olemas proges nimega "lisa" (asub eraldi lisa-XXX.rpm'is), mis tuleks /etc/rc.d/rc.local'isse sisse kirjutada, et siis igal massina käivitamisel see ka tööle pandaks.

    NB: Sõltuvalt "lisa" versioonist võib olla vajalik kribada see rida:
    lisa --config=/root/.kde/share/config/lisarc
    (või sõltuvalt lisarc asukohast miski muu path.)
    RH7.3's piisab ainult lisa märkimisest.

    KDE'l lisandub Control Center'isse "LAN Browsing" valik (Network alla), kus tuleks kohtvõrgu parameetrid paika panna, aga mulle tundub, et default settingud kõlbavad küll.
    Network'i all on ka veel "Windows Shares", kuhu saad kirjutada oma default username, password'i ja group'i.

    PS: lisa ise on KDE'st sõltumatu ning abi peaks/võiks ka GNOME'l sellest olla.

    NB1: Kahjuks puhas (update RedHat 8.0'le töötab nagu vaja) install RedHat 8.0 koos KDE'ga (samas GNOME sirvib nagu muiste) ei sirvi neid võtteid kasutades - share'sid näitab küll, aga sharede sisust midagi kätte ei saa...
    sisukord

  34. Lihtsaim võrgu jagamine (ipchains+NAT)

    Lihtsaim/lihtne ipchains'iga võrgujagamisskript.
    Teed näiteks faili /etc/rc.d/rc.masq ja paned sinna sellise sisu (***vajadusel muudad aadressid ja interfaceid *** ):
    #-8<--------Cut here-------
    #!/bin/sh

    # NAT'itav ehk MASQ ehk sisevõrk:

    INTNET=192.168.0.0/24

    #Kõikvõimalikud moodulid:
    modprobe ip_masq_ftp

    # Vajalik, sest muidu ei ole purk võimeline ruutima:
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #See rida on tegelik rule, mis selle MASQ e. NATimisega tegeleb:
    ipchains -A forward -s $INTNET -d 0.0.0.0/0 -j MASQ
    #-8<--------Cut here-------

    NB1: Veendu, et masinas on olemas/lubatud ipchains ning samas ei jookse iptables (kasuta käsku 'setup' ning sealt alt 'services')).
    NB2: Et see skript ka käivituks tuleb see käivitatavaks teha (näituseks: $ chmod +x /etc/rc.d/rc.masq) ja /etc/rc.d/rc.local'isse  sisse (lõppu) kirjutada.
    NB3: Tundub, et RedHat 2.4.X kernelitega ei ole mõtet ipchainsi proovida, sest kernel ei kipu seda toetama...
    sisukord

  35. IP aadressi pikendamine sisevõrku (host route)

    Kui on soov viia miski IP aadress võrgus hoopis teise massina külge ehk kuidas välisvõrgu aadress panna sisevõrgu massinale - meetod klassikaliste vahenditega.
    IP aliaste näited:
    http://www.ccp14.ac.uk/ccp14admin/linux-server/ip_aliases/
    See ei ole küll selle näitega seotud, aga on küll sarnastel teemadel (tunnelitest): http://www.linuxguruz.org/iptables/howto/2.4routing-5.html
    Olgu kolm massinat/routerit A (eth0=213.186.5.1/29; eth1=192.168.0.1/24), B (eth0=192.168.0.5/24; eth1=192.168.3.1/24) ja C (eth0=192.168.3.2/24) ning  eesmärk on saada C massinale aadress 213.186.5.2/32.

    NB1a: See meetod töötab juhul, kui on ligipääs kõikidesse massinatesse A, B, C ning ka A eellasse. Kui ligipääsu ei ole võimalik saavutada, siis proovi "IP aadressi pikendamine sisevõrku (iptables)".

    Massinas A tuleb lisada host route:
    route add -host 213.186.5.2 gw 192.168.0.5
    echo 1 > /proc/sys/net/ipv4/ip_forward

    Massinas B tuleb lisada host route:
    route add -host 213.186.5.2 gw 192.168.3.2
    echo 1 > /proc/sys/net/ipv4/ip_forward

    Massinas C tuleb lisada IP alias:
    ifconfig eth0:1 213.186.5.2 netmask 255.255.255.255 broadcast 213.186.5.2
    echo 1 > /proc/sys/net/ipv4/ip_forward

    NB1b: Massin C on nähtav ainult liinis A ja B ning nende järglastele, aga mitte A massina eth0 võrgus. Et sealgi nägemist saada, siis nendes massinates tuleb lisada host route:
    route add -host 213.186.5.2 gw 213.186.5.1
    echo 1 > /proc/sys/net/ipv4/ip_forward
    sisukord

  36. IP aadressi pikendamine sisevõrku (iptables)

    Kui on soov viia miski IP aadress võrgus hoopis teise massina külge ehk kuidas välisvõrgu aadress panna sisevõrgu massinale - meetod moodsate vahenditega.
    SNAT & DNAT: http://www.mandrakesecure.net/en/docs/HOWTO/NAT-HOWTO/NAT-HOWTO.linuxdoc-6.html 
    Olgu massinad/routerid (võrgu konfiguratsioon on sama, mis "IP aadressi pikendamine sisevõrku (host route)") A (eth0=213.186.5.1/29; eth1=192.168.0.1/24) ja C (eth0=192.168.3.2/24) ning  eesmärk on saada C massinale aadress 213.186.5.2.

    Massinas A tuleb lisada IP alias ning teha suunamine:
    ifconfig eth0:1 213.186.5.2 netmask 255.255.255.248 broadcast 213.186.5.7
    iptables -t nat -A PREROUTING -d 213.186.5.2 -j DNAT --to 192.168.3.2
    echo 1 > /proc/sys/net/ipv4/ip_forward

    NB1: Massin C on nähtav ainult A järglastele, samas A ise ei näe teda sellel aadressil, sest suunamine on tehtud SISENEVATELE pakettidele, aga A genereeritud päringud ei ole sisenevad.
    NB2: Massin C peab olema juba ka eelnevalt massinale A nähtavaks tehtud, aga seda muidugi oma sisevõrguaadressi kaudu.
    PS1: Miskipärast jõuab välisaadress (näites 213.186.5.2) ikkagi ka sisevõrgu massinasse C, mis ei ole kõige parem tulemus, sest sisevõrgus ei ole selle aadressiga midagi peale hakata (või siiski on?).

    Arendused suunamise teemadel:

    *** Miski kindla pordi suunamine sisevõrgu massinasse ***
    Näituseks pordi 80 suunamine sisevõrku massinasse C pordile 8080:
    iptables -t nat -A PREROUTING -p tcp --dport 80 -d 213.186.5.2 -j DNAT --to 192.168.3.2:8080

    *** Miski kindla pordi suunamine teise sama võrgu massinasse ehk suunamine NATimata võrgus ***
    Näituseks pordi 8080 suunamine massinas C massinasse D (eth0=192.168.3.10/24) pordile 80:
    iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.3.10:80
    iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 192.168.3.0/24 -p tcp --dport 80 -j SNAT --to-source 192.168.3.2
    http://www.eenet.ee/arhiiv/linuxvestlus/msg15858.html

    PS2: tcp ja udp pakette suunatakse eraldi ehk '-p tcp' asemel '-p udp'.

    sisukord

  37. Progeste jooksutamine teise kasutajana (sudo)

    Kui näituseks on vaja anda tavakasutajale õigus jooksutada tavapäraselt root'i õigusi nõudvat käsku, siis abiks on sudo.
    Kõikides GNU/Linux distributsioonides peaks leiduma pakett sudo (RH 7.3 sudo-1.6.5p2-2.i386.rpm), mis võimaldabki root'il jagada teistele kasutajatele tavapärasest erinevaid käivitusõigusi (sudo jooksutab faili selle faili omaniku õigustes).

    Failis /etc/sudoers on kirjas kes ja mida võib sudo'ga käivitada.

    Näide:
    root kirjutab (sedasi skripti tegemisel on ka ohte ehk vaata "Et ainult ftp oleks saadaval" ehk joe'ga on "valutum" neid skripte teha):
    $ echo /sbin/ifconfig >> eee
    $ chmod +x eee

    Ning lisab /etc/sudoers faili lõppu:
    mina ALL=/root/eee

    Ja nagu võluväel saabki kasutaja 'mina' käivitada selle faili.
    mina kirjutab:
    $ sudo /root/eee
    või kui kui kasutada NB1 võtteid, siis vähemasti ei pea /root/ ette kirjutama.

    (PS: see näide on tegelikult nadi, sest ei ole ilus lasta /root/ kataloogi teisi tegelasi susserdama, aga see on ju ainult näide...).

    NB1: path ja env jääb jooksva kasutaja omaks ehk kõik käsud tuleb kas kirjutada otse teena või teha selle kasutaja path'i vajalikud täiendused (ning ka kui kõigest hoolimata ei taha isegi 'sudo' kirjutada) ehk vaata "Kuidas käske lühemaks teha ehk alias".
    NB2: sudo käivitamisel küsib jooksva kasutaja parooli, mis loetakse vaikimisi kestvaks ~5min, aga seda on võimalik muuta... (man sudo);
    sisukord

  38. Võrk omadele ehk MAC/IP filter

    Kuna IP aadressi saab/võib iga tegelane ise suht kergeste muuta, samas võrgukaardi MAC aadressi ehk  mette, siis liikluse lubamine ainult massinatele, mille MAC ja IP aadressid on ilusaste vastavuses,  võiks piirata tundmatute tegelaste "väljapääsu" internetiavarustele sinu routeripurgist... Juhul kui selline range vastavus ei ole oluline, siis luba kasvõi ainult kas MAC või IP alusel eraldi.
    http://groups.yahoo.com/group/ilug-indore/message/1154

    Linke seonduvatel teemadel:
    http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html
    http://www.samag.com/documents/s=1769/sam0112a/0112a.htm
    http://www.tldp.org/HOWTO/mini/TransparentProxy-4.html
    http://users.pandora.be/bart.de.schuymer/ebtables/
    http://www.geocrawler.com/archives/3/261/2001/7/50/6235131/

    http://www.cc.hit-u.ac.jp/monban/inside/packetfilter.sample
    http://lists.netfilter.org/pipermail/netfilter/2001-February/007922.html

    Olgu massin C (eth0=192.168.3.2/24; eth1=192.168.0.1/24), mille eth1 taga on selle sisevõrk oma klientidega ("Lihtsaim võrgu jagamine (iptables+NAT)").

    Sel juhul tuleb massinasse C viia täiendused kujul:
    #-8<--------Cut here-------

    #Keelad FORWARDi:
    /sbin/iptables -P FORWARD DROP

    #Lubad eraldi kõik "head" sisevõrgu MAC/IP aadressid:

    #Kui MAC ei ole oluline ning piisab ainult IP aadressi vastavusest:
    /sbin/iptables -A FORWARD -s 192.168.0.22 -j ACCEPT

    #Kui IP ei ole oluline ning piisab ainult MAC aadressi vastavusest:
    /sbin/iptables -A FORWARD -m mac --mac-source 00:02:92:25:A4:5F -j ACCEPT

    #Kui vaja miskit IP kinnistada MAC aadressiga:
    /sbin/iptables -A FORWARD -m mac --mac-source 00:30:96:35:AC:EF -s 192.168.0.34 -j ACCEPT

    #-8<--------Cut here-------

    NB: MAC aadressid saad näituseks kui rootina pingid "sõbrad" läbi ning kribad:
    $ arp -a
    PS: Kui massin C saab omale välisvõrgust suunatud aadressi "IP aadressi pikendamine sisevõrku (iptables)", siis tuleb eraldi lubada ka liiklus massina C gateway MAC aadressil ehk antud näite korral tuleks vastava MAC aadressi saamiseks kribada:
    $ ping -c 1 192.168.3.1
    $ arp -a 192.168.3.1
    sisukord

  39. Et sama shelli sessiooni saaks veel ka pärast logouti kasutada (screen)

    Kui pead massinaga (ssh/telnet) ühenduse katkestama, aga tahad kunagi hiljem selle sama shelliga tööd jätkata, siis kasuta progest "screen", mis seda võimaldabki.
    1. Logi massinasse sisse, aga esimene asi, mis kriba on $ screen;
    2. Sa saad tavalise shelli prompti ning jätka sellega, mis sul plaanis oli;
    3. Kui aga miskil hetkel tekib soov/vajadus ühendus massinaga katkestada, siis vajuta CTRL+a+CTRL+d või logi sellesse samasse massinasse sisse veel teisegi sessiooniga ning kriba $ screen -d;
    4. Katkesta ühendus massinaga;
    5. Kui tahad sessiooni taastada, siis logi sellesse massinasse uuesti sisse ning kriba $ screen -r (mitme screen'i sessiooni kasutamisel pead näitama missugune sessioon tuleb taastada);

    NB: Ülejäänud screen'i klahvide kohta saab abi olles screen'is ning CTRL+a+? pressides.
    PS: man screen ja pinfo screen on ka abiks...

    Vaata ka: http://freshmeat.net/articles/view/581/
    sisukord

  40. Desktopi kaughaldus (vnc)

    Lihtsaim viis desktopi kaughalduseks on VNC, mis ka iga distributsiooniga kaasas on.
    Ütleme, et on massin nimega massin ning on soov root (või tavakasutaja) desktopi kaugelt hallata.
    Käivita vncserver:
    $ vncserver

    Väljundiks saad:
    You will require a password to access your desktops.

    Password:
    Verify:

    New 'X' desktop is massin:1

    Creating default startup script /root/.vnc/xstartup
    Starting applications specified in /root/.vnc/xstartup
    Log file is /root/.vnc/massin:1.log

    Ehk edasi saab massina desktopile ligi juba vncviewer progesega, millesse anna desktopi aadress ehk massin:1 ning password.
    (Erinevatele platvormidele saab vncviewerit aadressilt http://www.uk.research.att.com/vnc/download.html)

    PS: Korraga võib samal desktopil möllata ka mitu kasutajat, aga kas see ka hea on eks ise proovi.
    NB: Logout'i (desktopilt) ei tasu kasutada, sest siis ei saa sa enam vncviewer'iga sinna ligi (desktop'i ju ei ole enam...).

    Desktopi saab kustutada kribades:
    $ vncserver -kill massin:1
    Mõningad võtmed:
    $ vncserver -geometry 800x600 -depth 16

    PS1: Et tegevus natuke turvalisem oleks,  siis saab VNC SSHst läbi lasta: http://www.uk.research.att.com/vnc/sshvnc.html

    sisukord

  41. Network Neighbourhood (samba)

    M$ maailma Network Neighbourhood'i analoog on SAMBA.
    Et saada massina faile jagama tuleb:
    1) Paigaldada samba pakk (näituseks samba-XXXX.rpm);
    2) Mudida faili /etc/samba/smb.conf;
    3) Pärast /etc/samba/smb.conf mudimist tuleb smb käivitamine/kasutamine setup programmis "System services" alt ka lubada ning kribada:
    $ /etc/rc.d/init.d/xinetd restart
    $ /etc/rc.d/init.d/smb restart
    või kui massinas pole xinetd, siis:
    $ /etc/rc.d/inetd restart
    $ /etc/rc.d/smb restart
    või hoopis:
    $ reboot

    NB: Järgnevad konfi read moodustavad ühe võimaliku konfiguratsiooni komplekti ehk  ülejäänud read smb.conf [global] sektsioonis tuleb välja kommenteerida kas '#' või ';' märgiga või veel parem - teha hoopis uus smb.conf faili (vana smb.conf nimeta ümber millekski muuks).
    PS1: Vähemasti miski aeg tagasi ei osanud SAMBA Windowsi passworde krüpteerida ning vajalikuks osutus Windows massinates plainpassword.reg failide käivitamine (kataloomas /usr/share/doc/samba-XXXX/docs/Registry/).

    /etc/samba/smb.conf (töötamine proovitud samba 2.2.5'ga):

    [global]
    # Massina grupp:
     workgroup = Minu
    # Serveri tervitus:
     server string = See on Minu Samba Server
    # Keda lubad massinale ligi:
     hosts allow = 192.168. 127.
    # Kui see massin peaks ka enda küljes olevat printerit jagama, siis:
        printcap name = /etc/printcap
        load printers = yes
        printing = lprng
    # Logimajandus:
     log file = /var/log/samba/%m.log
     max log size = 500
    # Turvalisuse tase ehk kas, kus ja mis juhul passwordi küsitakse (minule kõige arusaadavam oli/on 'share').
     security = share
    # Miski default setting passwordide kohta:
     obey pam restrictions = yes
    # Windowsis browsimine kipub vahetevahel surema ning seepärast vaja:
     socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    # Kui massin on sisevõrgus, siis ei ole mõtet sharesid dns'iga lahendada:
      dns proxy = no

    [homes]
       comment = Kasutajate kodukataloomad
       browseable = no
       writable = yes
       valid users = %S
       create mode = 0664
       directory mode = 0775

    #Kui printereid selle massina küljes ka on, siis:
    [printers]
       comment = Kõik printerid
       path = /var/spool/samba
       browseable = no
       guest ok = no
       writable = no
       printable = yes

    [failid_lugemiseks]
        comment = Neid faile saavad kõik lugeda.
        path = /failid
        public = yes
        writable = no
        printable = no
    [virgo_failid]
        comment = Neid faile saab lugeda ja salvestada ainult kasutaja virgo.
        path = /virgo_failid
    #kasutaja virgo peab nii windowsis kui ka linuxis kasutajaks olema, sest windows ei lase networki browsimisel kasutajanime sisestada.
        valid users = virgo
        public = no
        writable = yes
        printable = no
        create mode = 0664
        directory mode = 0775
    [avalik]
       comment = Neid faile saavad kõik lugeda ja salvestada kõik huvilised.
       path = /avalik
       public = yes
       only guest = yes
       writable = yes
       printable = no

    PS2: Kontrolli kõikide jagatavate kataloomade/failide omandust ja õigusi ehk kui ikka süsteem ei luba kirjutada, siis ikka ei saa kirjutada.
    PS3: Ning "KDE kohtvõrku sirvima (lisa)" on ka abiks.
    sisukord

  42. Uitmõtteid turbe teemadel

    Igasugu vennikesed tahavad (ja juhtub, et saavad) sinu massinasse ronida ning suuremat või vähemat korda saata.
    Juttu igasugu utiliitidest:
    http://www.linuxjournal.com/article.php?sid=6361
    http://www.linuxjournal.com/article.php?sid=6362
    Uuri, mis pordid su massinal lahti on ning vaata kas need ikka vajalikud on:
    $ nmap localhost
    (http://www.rpmfind.net on üks hea koht tundmatute service'te nimede järgi tegeliku progese otsimiseks..)
    $ setup -> "System services" on koht kus saab nii mõnegi mittevajaliku service kinni keerata.

    Kataloom /var/log/ ehk "Logid" sisaldab ka mõningaid märke "külalistest"...

    Syslog:
    http://www.linuxsecurity.com/feature_stories/feature_story-123.html

    Jooksvatest ühendustest pajatab:
    $ netstat

    Konsooli torkimiseks üle võrgu võiks kasutada näituseks ssh'd ning faile liigutada sftp'ga.

    Ning ega miski FireWall ka halba tee...

    Linke:
    http://theregister.co.uk/content/archive/26843.html
    http://www.theregister.co.uk/content/55/27998.html

    http://cryptome.org/usa-v-zm-email.htm


    sisukord

  43. Et sisevõrgu alamvõrgud üksteist ei "näeks"

    Kui osutub vajalikuks isoleerida mõningad ruuditavad (alam)võrgud üksteisest.
    Tarkust:
    http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-6.html
    Olgu massinad/routerid (võrgu konfiguratsioon on sama, mis "IP aadressi pikendamine sisevõrku (host route)") B (eth0=192.168.0.5/24; eth1=192.168.3.1/24; eth2=192.168.4.1/24; eth1:1=192.168.6.1/24), C (eth0=192.168.3.2/24), D (eth0=192.168.4.2/24) ja E (eth0=192.168.6.2/24) ning eesmärk on kõrvaldada kogu liiklus massinate B eth0 võrgu, C, D ja E vahel.

    B routeris käivitamiseks:

    #-8<--------Cut here-------

    # Reegel kogu liikluse jaoks:
     iptables -N traffic
    # Reegel alamvõrkude liikluse jaoks:
     iptables -N internal_traffic
    # Sisevõrkude liiklus suunata alamvõrkude liikluse reeglisse:
     iptables -A traffic -s 192.168.0.0/16 -d 192.168.0.0/16 -j internal_traffic
    # Liiklus alamvõrkude vahel kõrvaldada:
     iptables -A internal_traffic -j DROP
    # FORWARD chain tegeleb routemisest tulevate pakettidega ehk suuname selle
    # kogu liikluse reeglisse.
     iptables -A FORWARD -j traffic

    #-8<--------Cut here-------


    * Kui on soov siiski valikuliselt alamvõrkude liiklust lubada *

    1) Miskite kindlate 2 alamvõrgu vahelise liikluse lubamine.

    NB: Lisatavad reeglid peavad olema kahepoolsed ehk midagi sarnast:
    iptables -A internal_traffic -s 192.168.4.0/24 -d 192.168.3.0/24 -j ACCEPT
    iptables -A internal_traffic -s 192.168.3.0/24 -d 192.168.4.0/24 -j ACCEPT
    (See näide lubab liikluse C ja D vahel, aga E jääb ikkagi keelatuks.)

    2) Miski alamvõrgu avamine liikluseks kõikidele alamvõrkudele.

    NB: Siingi peavad lisatavad reeglid olema kahepoolsed ehk midagi sarnast:
    iptables -A internal_traffic -s 192.168.0.0/24 -j ACCEPT
    iptables -A internal_traffic -d 192.168.0.0/24 -j ACCEPT
    (See näide avab liikluseks B ruuteri eth0 võrguga ehk C,D ja E saavad B ruuteri eth0 võrguga suhelda, aga omavahel siiski mitte.)
    sisukord

  44. Pingi'mise keelamine

    Kui vaja takistada näituseks miskitel massinatel pingimisega (D)DOSi edukat läbiviimist.
    Tarkust ka: http://www.sns.ias.edu/~jns/security/iptables/

    http://www.sns.ias.edu/~jns/security/iptables/iptables_conntrack.html#ICMP

    # Massin 192.168.0.12 ei saa pingida ruuteripurki:
    iptables -A INPUT -p icmp -s 192.168.0.12 --icmp-type 8 -j DROP
    # Alamvõrgu 192.168.2.0/24 massinad ei saa pingida ühtegi ruuteri läbimist vajava aadressiga massinat, aga küll ruuterit ennast:
    iptables -A FORWARD -p icmp -s 192.168.2.0/24 --icmp-type 8 -j DROP

    Lisatarkust icmp tüüpidest:
    http://www.linuxquestions.org/questions/showthread.php?threadid=5237
    http://archives.neohapsis.com/archives/sf/linux/2002-q4/0025.html

    sisukord

  45. Squid Cache

    Kui toru ei ole piisavalt jäme, et kõiki WWW lehti pidevalt Internetist tõmmata - kasuta Squid Cache't.

    Täpsem info ja soft:
    http://www.squid-cache.org/

    Üks Elioni võrku sobiv  ja 192.168.X.X võrku cache'iva Squid'i konf:
    http://www.vendomar.ee/~ivo/squid.conf

    sisukord

  46. SSH ilma password'i küsimata

    Kui usaldus on väga suur ehk SSH ilma password'i küsimata.

    See on imelihtne, sest ainuke asi mida vaja on lisada ~/.ssh/authorized_keys2 faili selle kasutaja avalik võti ja järgmisel katsel ei küsita sellelt kasutajalt enam salasõna.

    Pikemalt:
    http://www.linux-mag.com/2004-07/tech_support_01.html


    sisukord

  47. GRUB - Linux ja Windows eraldi ketastel

    Linux ja Windows eraldi ketastel, kuidas bootida?

    Kui esimesel kettal on Linux ning teisel on Windows, siis GRUBi konfi tuleb veidi mudida (/boot/grub/grub.conf, /boot/grub/menu.1st):

    title Linux
    root (hd0,0)
    kernel /vmlinuz-2.6.23.8-63.fc8 ro root=/dev/sda2
    initrd /initrd-2.6.23.8-63.fc8.img

    title Windows
    map (hd0) (hd1)
    map (hd1) (hd0)
    rootnoverify (hd1,0)
    makeactive
    chainloader +1


    sisukord

  48. Partitsioonide LABELid - nende lisamine ja kasutamine

    F10 keeldus uuendamast F9, sest SWAP oli /etc/fstab failis kirjeldatud kujul /dev/sda3

    Egas midagi, partitsioonidele LABELid kylge:

    "fdisk /dev/sda" annab partitsioonide tabeli ning tyybid ("p") ning "cat /etc/fstab" kuhu need partitsioonid yhendatud on.

    Minul andsid need tulemuseks:
    /dev/sda1 on yhendatud /boot ehk tegemist on boot kataloogiga (BOOT)
    /dev/sda2 on yhendatud / ehk tegemist on juurikaga (ROOT)
    /dev/sda3 on SWAP

    LABELite panekuks ext2/ext3 korral saab pruukida e2label utiliiti:
    e2label /dev/sda1 BOOT
    e2label /dev/sda2 ROOT
    SWAPi LABELi mudimiseks ei leidnud ma muud varianti kui SWAPi uuesti loomine, selleks:
    swapoff -a
    mkswap /dev/sda3 -L SWAP
    swapon -a

    /etc/fstab tuleb nyyd ka LABELeid kasutama panna ("joe /etc/fstab"):
    LABEL=ROOT / ext3 defaults 1 1
    LABEL=BOOT /boot ext3 defaults 1 2
    LABEL=SWAP swap swap defaults 0 0
    PS: Muid /etc/fstab ridu ei maksa eriti mudida - saad endale jamad kaela

    sisukord

  49. Failisüsteemi päästmine - Bad Sector'id ründavad

    Ühel ilusal hommikul läppar enam ei käivitunud. Pärast lähemat uurimist selgus, et kõvaketas "ussitab" - Bad Sector'id. Nüüd siis päästan, mida päästa annab...

    Kuna üks neist vigadest asub sellises kohas, et Windows ega Linux ei ole valmis seda failisüsteemi avama, siis alustuseks teen sellest kettast koopia teisele kettale:
    dd if=/dev/sdc of=/dev/sdd conv=noerror,sync
    NB: /dev/sdc on see vigane ketas ja /dev/sdd on uus ketas.

    Edasi sai sama ketas pandud juba Windows'iga kasti ning käivitatud "chkdsk /R d:", mis paistab, et tõigi pea kõik ketta failid nähtavale.
    PS: Miskipärast on Windowsil nüüd eriline arusaamine faili omandiõigustest vms, aga vähemasti Linux'i all saab kõigele ligi ning vajalikud failid saab ehk ka tallele kopeeritud.


    Täpsemat juttu:
    http://www2.uic.edu/~aciani1/sector_blues.html
    http://rentzsch.com/notes/survivingIOErrors

    sisukord

  50. LVM partitsioonidele lähenemine

    Vaja ühelt kettalt faile vaadata, aga selgus, et see LVM'iga "partitsioneeritud".

    Kui vajalik kerneli moodul laadimata on, siis laen selle:
    modprobe dm-mod
    Vaatan, et millised LVM'id olemas on:
    vgscan
    Üleminek sobivale partistioonile:
    vgchange -a y mind_huvitav_lvm_ketas
    LVM ketta sisu vaatamine:
    lvdisplay
    Edasi läheb käiku juba tavaline "mount" käsk.

    Howto mount a logical volume (LVM)

    sisukord

  51. Ketta kopeerimine SSH vahendusel

    Vaja ühe ketta tõmmis keise masinasse saata. Kasvõ arhiiviks.

    Kohaliku masina /dev/sdb ketta tõmmis teise masinasse .img failiks:
    [root@massin ivo]# dd if=/dev/sdb | ssh kasutaja@192.168.0.10 dd of=ketta_t5mmis.img conv=noerror,sync
    kasutaja@192.168.0.10's password:

    How to use SSH to make a dd copy of disk A from host B and save on disk B?

    sisukord

  52. Dracut jonnib ehk initramfs on vigane

    Kui miskipärast initramfs arusaam ketta (N: /dev/sda) partitsioonidest lahkneb /boot/grub2/grub.cfg ja /etc/fstab kirjeldatud sisust, siis heal juhul kukud bootimisel omadega dracut promptile, halvemal juhul ei juhtugi midagi ning süsteem jääb rippuma. Kuidas seda probleemi ravida?

    Mul juhtus see Fedora 21 ketta kopeerimisel ning uuel kettal LVM'ist vabanemisel ehk uue partitsioonitableli tegemisel. Selgub, et /boot kataloogis (/boot kataloog eraldi /dev/sda1 partitsioonil) olevad initramfs tõmmised ei taha teada midagi sellistest muutustest ning kokkuvõttes tervitati mind bootimatu süsteemiga.
    Selle probleemi lahendamiseks tuleb masin bootida miskilt meedialt ning käivitada "dracut -f".
    Kuna muud ma ei leidnud, kui Fedora 21 Live DVD, siis sellelt ma masina käivitasingi ning esimesel võimalusel lülitusin ümber konsoolile (alt+f2 või alt+f3 vms, mis annab kasutatava prompti):
    mkdir /mnt/sysimage
    mkdir /mnt/sysimage/proc
    mkdir /mnt/sysimage/dev
    mkdir /mnt/sysimage/sys
    mount --bind /proc /mnt/sysimage/proc
    mount --bind /dev /mnt/sysimage/dev
    mount --bind /sys /mnt/sysimage/sys
    chroot /mnt/sysimage
    mkdir /boot
    mount /dev/sda1 /boot
    cd /boot
    dracut -f
    reboot

    PS: "dracut -f" teeb initramfs'i jooksvast kernelist, mis minu puhul oli kettal ja Live variandil sama, aga vajadusel tuleb kerneli versioon eraldi näidata. Kui masin nüüd bootib, siis tuleks kõik teised initramfs'id ka uuesti luua.
    Creating a New Initial RAM Disk

    sisukord

  53. SFTP CHROOT

    Kui FTP serveri kasutaja lukustamine oma kodukataloogi (FTP CHROOT) on pelgalt FTP-deemoni konfiguratsioonis kirjeldatav tegevus ning ei lõhu kasutaja muid ligipääsu võimalusi, siis SFTP CHROOT paistab olema on sisult segasem lahendus.
    Vähemasti antud näide teeb kasutajast sisuliselt ainult SFTP kasutaja ning SSH ega kohaliku loginiga pole tal masinasse enam asja, kui just FTP serverit ei jooksuta.

    useradd kasutaja
    passwd kasutaja

    #SSH-deemon nõuab CHROOT kataloogi enda omandusse:
    chown root.root /home/kasutaja
    #SSH-deemon nõuab justnimelt selliseid õigusi:
    chmod 755 /home/kasutaja
    #Eelnevaga seonduvalt muutub kasutaja tavapärane (kodu)kataloog talle peaaegu kasutuks, sest see pole enam tema oma ega saa ta sinna ka salvestada!
    #PS: See hävitas ka tema võime kohalikku masinasse tavapäraselt sisse logida...
    #Kui kodukataloog ise on kasutu, siis teeme tema failidele sinna uue alamkataloogi:
    mkdir /home/kasutaja/data
    chown kasutaja.kasutaja /home/kasutaja/data

    #SSD-deemoni konfiguratsiooni mudimine:
    joe /etc/ssh/sshd_config
    #--------------------
    #Ehk ei olegi nii vajalik samm, aga leitud näited seda miskipärast sisaldavad...:
    Subsystem sftp internal-sftp
    #Üksiku kasutaja eraldi pookimine on meil siiski vajalik:
    Match User kasutaja
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    #--------------------
    #Salvestad faili [ctrl]+k+x ja SSH-deemonile taaskäivitus:
    systemctl restart sshd.service

    #Vajadusel, tahab SELINUX veel lisa sudimist:
    setsebool -P ssh_chroot_rw_homedirs on
    restorecon -R /home/kasutaja

    How to setup openssh chrooted sftp and SELinux in Fedora 16
    OpenSSH SFTP ChrootDirectory
    Chrooted sftp gives “Permission denied” error

    sisukord

  54. NVMe ketas

    Kui SSD'st ei piisa ehk kolime sodi NVMe kettale.

    NB! NVMe ajurid panevad ketta kuhugi /dev/nvme0nX ja partitsioonid on pX tähisega (N: /dev/nvme0n1p1).

    Selgus, et Fedora 25 ei pane NVMe draiverit (nvme.ko) GRUB2'le bootimiseks kaasa (initramfs'i) ning seega kukutab dracut end promptile, kus edasi pole midagi mõistlist teha (vist?!), sest ketast ju ei nähta...
    Selle häda kõrvaldasin dracut'i ehitamisega tavalisel SATA kettal ning siis selle ketta tõmmise kopeerimisega NVMe kettale (lisaks partitsioonide ning ketaste numeratsiooni parandamisega /etc/fstab'is ja /boot/grub2/grub.cfg's).

    Dracut'i osa selles tegevuses:
    # echo 'add_drivers+=" nvme "' > /etc/dracut.conf.d/nvme.conf
    # dracut -f

    sisukord

  55. Mellanox + transceiver

    Kaardile lisaks on vaja ka fyysilise liidese enese moodulit

    Kaardid ise saab vast toimima, sest draivereid leiab ja utiliidid ka, aga (fiibri)moodulite endi tugi on selgelt segane teema ja paistab olema kaarditootjate sisemine salajane tarkus. Oma mures naiteks HPE voi Mellanoxiga suhelda sa ei saa, sest need tahavad kohe support contracti, aga selline eBayst ostmine on olemuselt supporti välistav sündmus. Küsi kaardi müüjalt või mooduli müüjalt (kes kumbki ei tea, et kas voi mis moodulid toimivad nende seadmetega) ehk suuresti on see selline "osta omale need paar moodulit ära (selline mitmesajane laks) ning proovi ise järgi"-protseduur...
    ..., aga senine kogemus on positiivne, sest selline pimesi ostmine on õnnestunud ning 100GBe moodulid on kõik toiminud. Selle kogemuse järgi justkui paistaks, et 1GBe, 10GBe ning 40GBe moodulite tugi voib olla olemuselt nirum, kui seda 100GBe oma ongi. Ju seotud turu ja moodulite kasutusalaga, sest 100GBe klient on peamiselt datacentris ning need ei lase end eriti pikalt kottida ja kaotatud käibemahud ei ole seal paar moodulit korraga...

    NB: Mellanox kaartide seadistamiseks on vaja MST, MLXCONFIG, FLINT, MLXCABLES... utiliite, mida saab Windows/Linux variandina alla sikutada Mellanoxi veebist.
    Tarkust selleks vajalikest liigutustest leiab siit: https://network.nvidia.com/pdf/MFT/MFT_User_Manual_v4_11_0.pdf


    [root@boxta ~]# mst status
    MST modules:
    ------------
    MST PCI module is not loaded
    MST PCI configuration module is not loaded

    PCI Devices:
    ------------
    0b:00.0
    88:00.0
    05:00.0
    04:00.0

    [root@boxta ~]#

    Hmm. Kus on seadmete nimed ja miks on siin miskid errorid? Redhat Fedora all sai neid kaarte varem muditud ja MST toimetas otse seadmenimedega, aga peale miskit uuemat kerneli uuendust on sellele vajalised kerneli moodulid puudu. See on suuresti seotud sellega, et antud pakk tuli valjaspoolt ning ei tea Fedora sellistest moodulitest midagi.

    Selgub, et neid pole tegelikult vajagi ja tuleb lihtsalt neid kaarte otse oma PCI-aadressiga nimetada:
    https://docs.nvidia.com/networking/display/MFTv4161/Running+mst+in+an+Environment+without+a+Kernel

    Kaablite ja moodulite info tarvis on vaja antud infot veidi koguda:
    [root@boxta ~]# mst cable add
    -I- Added 4 cable devices ..
    [root@boxta ~]#
    [root@boxta ~]# mst status -v
    MST modules:
    ------------
    MST PCI module is not loaded
    MST PCI configuration module is not loaded
    PCI devices:
    ------------
    DEVICE_TYPE MST PCI RDMA NET NUMA
    ConnectX4(rev:0) NA 0b:00.0 rocep11s0f0 net-ens2f0np0 0
    ConnectX4LX(rev:0) NA 88:00.0 rocep136s0 net-ens4np0 1
    ConnectX4(rev:0) NA 0b:00.1 rocep11s0f1 net-ens2f1np1 0
    ConnectX4LX(rev:0) NA 05:00.0 rocep5s0 net-ens1np0 0
    ConnectX3Pro(rev:0) NA 04:00.0 ibo49 net-ibo49,net-eno49d1 0

    Cable devices:
    ---------------
    05:00.0_cable_0
    0b:00.1_cable_1
    88:00.0_cable_0
    0b:00.0_cable_0

    [root@boxta ~]#


    Kaablite/moodulite info:

    Pikalt tootjaga arutatud ja katseks tellitud EdgeOptics 100GBe CWDM4 moodul:

    [root@boxta ~]# mlxcables -d 0b:00.0_cable_0
    Querying Cables ....

    Cable #1:
    ---------
    Cable name : 0b:00.0_cable_0
    >> No FW data to show
    -------- Cable EEPROM --------
    Identifier : QSFP28 (11h)
    Technology : 1310 nm EML (60h)
    Compliance : Extended Specification Compliance is valid, 100GBASE-SR4 or 25GBASE-SR
    Wavelength : 1301 nm
    OUI : 0x0002c9
    Vendor : EDGE
    Serial number : EO142201100068
    Part number : 100G-QSFP28-2.1-
    Revision : B1
    Temperature [c] : 65 [-10..80]
    Digital Diagnostic Monitoring : YES
    Length [m] : 0 m

    [root@boxta ~]#

    Selle teabe järgi polegi see justkui CWDM4 moodul SM-fiibril, vaid hoopiski SR ehk MM-fiibrile kirjeldatud, mille sagedus on viitega hoopiski LR4 poole...
    ...CWDM4 tas siiski on, sest toimib paaris ka tegeliku CWDM4 vastu. Mellanox kaartide-moodulite kapsad olid selles osas täieliselt vait ning veebi otsingud ei leidnud mitte ühtegi viidet, et millega või kellega koos toimivad ollakse.

    FS.com 100GBe CWDM4 moodul:

    [root@boxta ~]# mlxcables -d 05:00.0_cable_0
    Querying Cables ....

    Cable #1:
    ---------
    Cable name : 05:00.0_cable_0
    >> No FW data to show
    -------- Cable EEPROM --------
    Identifier : QSFP28 (11h)
    Technology : 1310 nm DFB (44h)
    Compliance : Extended Specification Compliance is valid, 100G CWDM4 MSA with FEC
    Wavelength : 1310 nm
    OUI : 0x000000
    Vendor : FS
    Serial number : C2106107848
    Part number : QSFP28-IR4-100G
    Revision : 01
    Temperature [c] : 51 [-10..80]
    Digital Diagnostic Monitoring : YES
    Length [m] : 0 m

    [root@boxta ~]#

    Mellanox 100GBe AOC kaabel:

    [root@boxta ~]# mlxcables -d 0b:00.1_cable_1
    Querying Cables ....

    Cable #1:
    ---------
    Cable name : 0b:00.1_cable_1
    >> No FW data to show
    -------- Cable EEPROM --------
    Identifier : QSFP28 (11h)
    Technology : 850 nm VCSEL (00h)
    Compliance : 40G Active Cable (XLPPI), 100G AOC (Active Optical Cable) or 25GAUI C2M AOC with FEC
    Wavelength : 850 nm
    OUI : 0x0002c9
    Vendor : Mellanox
    Serial number : MT1653FT02008
    Part number : MFA1A00-C003
    Revision : AC
    Temperature [c] : 58 [-10..80]
    Digital Diagnostic Monitoring : YES
    Length [m] : 3 m

    [root@boxta ~]#

    QSFP+ ja QSFP28 on vastavalt 4*10G ja 4*25G kanalitega, mis tähendab, et suht loogiliselt saab neil kanaleid üksteisest eraldada ning 40G pordis saab lihtsalt 10G ning 100G pordis 25G ehk 50G. Lisaks kanali füüsilisele poolitamisele kaablitega, saab vajalist üleminekut erineva kanalijaotuse vahel korraldada ka erinevate adapteritega: https://mymellanox.force.com/mellanoxcommunity/s/article/all-about-qsa-adapter

    Siin testitud Mellanox AOC tundub kõige universaalsem olema, sest too võttis 50GBe lingi üles ka 50GBe-only kaartidega, aga 100GBe moodulid ei tahtnud midagi muudest kiirustest teada. 25GBe moodulite proovimine 10GBe adapteritega on tegemata, aga see võib jääda EEPROMi taha kinni, sest milleks muuks eraldi toodet teha?!

    PS: Ideeliselt peaks olema tehtav, et kui nüüd lingi osapooled ei saa interface kiirustes omavahel kaubale, siis oleks ethtool abiks:
    https://medium.com/@christina.jacob.koikara/useful-ethtool-commands-7f2b1bca55d1

    Veidi 100G taustainfot:
    https://www.qsfptek.com/article/common-and-distinct-features-of-qsfp28-lr4-vs-cwdm4-vs-psm4



    sisukord

  56. Mellanox kaardi firmware vahetamine

    Kasutatud Mellanox kaarte leiab eBays (ka Dell, Lenovo, IBM, ... branditud) mitmesuguseid, aga nende kaartide firmware ei pruugi olla uusim ning kaart ei toimi nagu tahaks. Firmware vahetust on vaja!

    Mellanox 100GBe kaardid (ja vanemadki 10/25/40/50 mudelid) on suht korralikult toetatud ning draiverite poolelt ei tohiks suuremat muret olla, aga kyll on kysimus kaartide endi firmware ja konfimisega, mis on draiveritest soltumatu tegevus.

    Proovisin kaarti Windowsi 10 all toimima saada, aga selgus, et antud 2-port HP branded Mellanox ajab masinal pcie-v3 siini peal juhtme kokku - see sunnik ei taha kuidagi Windowsi yles bootida. Peale suuremat trikitamist panin kaardi fyysiliselt emaplaadi pcie-v2 siinile ning Windows 10 tuli ilusasti yles. Kuna kaart oli endiselt leitav, siis sai sel ka firmwaret vahetada.

    Mellanox kaartide firmwared: https://network.nvidia.com/support/firmware/firmware-downloads/
    Muude brandide all olevad Mellanoxi firmwaresid tuleb veebist otsida, kuigi suures osas on need kaardid suht muutmata Mellanoxi kaardid ise ning miskite trikkidega saab neile originaal Mellanoxi firmwaredki peale lasta...

    HPE HOWTO firmware uuendamiseks: https://support.hpe.com/hpesc/public/swd/detail?swItemId=MTX_9c6b7ec3480c47ddb5654ab82a#tab3

    C:\WINDOWS\system32>mst status
    MST devices:
    ------------

    mt4115_pciconf0

    C:\WINDOWS\system32>cd d:\840qsfp28-100gbe\hp\2port
    D:\840QSFP28-100gbe\hp\2port>dir
    Volume in drive D is KINGSTON
    Volume Serial Number is 1248-2AF9

    Directory of D:\840QSFP28-100gbe\hp\2port

    04/02/2022 16:31 DIR .
    04/02/2022 16:31 DIR ..
    15/09/2020 13:15 16,744,768 fw-ConnectX4-rel-12_28_2006-MCX456A-ECA_Ax-UEFI-14.21.17-FlexBoot-3.6.102.bin
    1 File(s) 16,744,768 bytes
    2 Dir(s) 26,937,278,464 bytes free

    D:\840QSFP28-100gbe\hp\2port>flint -d mt4115_pciconf0 -i fw-ConnectX4-rel-12_28_2006-MCX456A-ECA_Ax-UEFI-14.21.17-FlexBoot-3.6.102.bin burn
    Done.ng flash section: 100%←[2K

    Current FW version on flash: 12.14.0020
    New FW version: 12.28.2006

    Burning FW image without signatures - OK
    Restoring signature - OK
    -I- To load new FW run mlxfwreset or reboot machine.

    D:\840QSFP28-100gbe\hp\2port>

    Peale firmware vahetamist tõstsin selle uuesti pcie-v3 siini peale ning Windows 10 suutis end selle kaardiga koos bootida!

    sisukord



FAH
MyStats

MyProfile



"Lipud lehvima"

GPU power consumption Estonia CPU Benchmark Charts Processor Electrical Specifications Is Windows a security risk? AMD Athlon 64 Cores OpenGraphics Plan Acid Test #3 Conficker Eye Chart Mina Mina2 Flash for Fedora