Archive for vasario, 2007

Dirbame su GRUB

Antradienis, 20 vasario, 2007

GNU GRUB – GRand Unified Bootloader, bootloader'is (programa, kuri leidžia vartotojams užkrauti operacinę sistemą ir jų turėti daugiau negu vieną; ji yra būtina kompiuterio krovimuisi). Pasistengsiu aprašyti trumpą jo konfigūravimą daugeliui OS. Truputis istorijos GRUB „gimė“ 1995 m. Jo kūrėjas – Erich Stefan Boleyn. Erich'as bandė paleisti GNU Hurd (kernelio analogas Unix sistemų kernel'iams). Kartu su Brian Ford jie suformavo multikrovimosi (iš angl. k. multiboot; nesupraskite tiesiogine prasme, nes aš turiu omenyje tai, kad multiboot yra funkcija, kuri leidžia prieš kraunant OS pasirinkti kurią OS užkrauti) specifikacijas. Šios specifikacijos nurodė kaip turėtų veikti multikrovimasis. Vėliau Erich'as bandė modifikuoti FreeBSD bootloader'į taip, kad jis galėtų krauti daugiau negu vieną OS. Visgi jis suprato, kad modifikuoti bus sunkiau ir rezultatas gausis blogesnis negu rašant savo bootloader'į. Taip jis ir padarė t. y. sukūrė savo bootloader'į. Rezultate turime labai galingą ir vieną populiariausių bootloader'ių. GRUB instaliavimas Iš pradžių aptarsiu GRUB instaliavimą. Pirmiausiai turime gauti kokį nors Linux LiveCD (rekomenduoju su fdisk ir būtinai su GRUB‘o paketais) ir jį užsikrauti. Pavyzdžiuose mes naudosimės Ubuntu 6.10 Edgy Eft LiveCD. Kai jau gavote LiveCD tai sukurkite bet kokios failų sistemos particiją (būtinai nurodykite tipą kaip primary), kurios dydis būtų apytiksliai 30 MB, pagal mano parašytą straipsnį apie fdisk. Žinoma galite naudotis taip pat Ubuntu 6.10 LiveCD esančiu GParted. Tai grafinis particijų valdiklis, bet nemanau, kad mums jis reikalingas, nes viską galime padaryti su fdisk (nebent reikia „apkarpyti“ particiją, bet tada galime pasinaudoti Partition Magic, kurį nemokamai galime rasti Hiren's BootCD kompakte). Nepamirškime uždėti boot žymę šiai particijai, o kitoms nuimti (kai kur tai traktuojama kaip Active režimas). Kompiuteris pirmiausiai naudos šią particiją. Dabar pasirinkime failų sistemą. Aš rekomenduoju naudoti ext2, nes jos parametrai labiau tinkami negu ext3 ar kitų failų sistemų. Jeigu norime naudoti ext2 įvykdykime: # mke2fs /dev/xdyi Vietoje x rašykite h (IDE naudojantis įrenginys) arba s (SCSI įrenginys). Vietoje y rašykite: a arba b – Master ir Slave diskai prijungti prie pirminio prievado, 1 IDE kontroleriaus; c arba d – Master ir Slave diskai prijungti prie antrinio prievado, 1 IDE kontroleriaus; e arba f – Master ir Slave diskai prijungti prie pirminio prievado, 2 IDE kontroleriaus; g arba h – Master ir Slave diskai prijungti prie antrinio prievado, 2 IDE kontroleriaus. O vietoje i rašykite particijos numerį, į kurią sukurėte GRUB‘ui. Pavyzdžiui: # mke2fs /dev/hda1 Štai komandų sąrašas failų sistemoms: ext2 – mke2fs ext3 – mke2fs -j reiserfs – mkreiserfs xfs – mkfs.xfs jfs – mkfs.jfs Pasileiskite terminalą ir iš LiveCD vykdykite šią komandą: # grub-install /dev/xdy Pavyzdžiui: # grub-install /dev/hda Atminkite, kad Linux sistemose skaičiai šalia įrenginio reiškia jo padalinį, todėl šiuo atveju skaičiaus nereikia nurodyti, nes taip instaliuotume GRUB'ą į particiją, o ne kietąjį diską. Jeigu instaliuotume į particiją tai norint užkrauti tą GRUB'ą mums reikėtų dar vieno bootloader'io, kuris būtų įdiegtas tame kietąjame diske iš kurio pasieksime tą GRUB'ą. Bet mes šiame straipsnyje aptariame GRUB'ą pagrindiniame kietąjame diske t. y. įrašytą į MBR (Master Boot Record - HDD takelis, kurį nuskaito ir įvykdo BIOS'ai, taip jie pratęsia kompiuterio krovimąsi ir darbą perduoda bootloader'iui). Suinstaliavę GRUB'ą galime pradėti jo konfigūravimą. Tik prieš tai nustatykime default ir timeout reikšmes: default rekomenduoju nurodyti 0 (bus kraunamas pats pirmasis meniu punktas, jeigu jūs per nurodytą laiką nepasirinksite ką krauti), o timeout rekomenduoju nurodyti 10, jeigu nurodysite daugiau negu vieną meniu punktą (bus laukiama 10 sekundžių iki numatytosios OS krovimo), arba 0, jeigu nurodysite tik vieną meniu punktą (OS bus kraunama iš karto t. y. nematysite pasirinkimo meniu). GRUB‘o konfigūravimas Linux‘ui Primontuokime prie /boot GRUB‘o particiją: # mkdir /mnt/boot # mount /dev/xdyi /mnt/boot Atsidarykime GRUB konfigūracinį failą: # nano -w /mnt/boot/grub/menu.lst Pridėkime šias eilutes: # Meniu punkto pavadinimas, kurį matysime meniu title Linux# Nurodome kernel'io particiją su HDD # root ([hd – IDE vartotojams; sd – SCSI įrenginių vartotojams][kietojo disko numeris(pirmasis diskas ne 1, o 0!)],[particijos numeris(pirmoji particija ne 1, o 0!), kurioje yra kernel'is]) # Pavyzdžiui: root (hd0,0) # Tai atitiktų /dev/hda1 particiją # kernel [nurodykite kernelį] root=[nurodykite šakninę (/) particiją] # Pavyzdžiui: kernel /boot/kernel root=/dev/hda2 Galutinį variantą šio meniu punkto be komentarų galite gauti http://pastebin.com/f454f294d adresu. Išsaugoję konfigūracinį failą perkraukite kompiuterį ir jau galite užkrauti savo Linux distribuciją. Per GRUB'ą užkrauname kitą bootloader'į Dažnai pasitaiko, kad reikia užkrauti kokią nors Windows OS/Solaris/*BSD ar kitą operacinę sistemą. Bet Windows reikalauja savo bootloader'io. Yra OS, kurios nereikalauja savo bootloader'io ir jas galima sukonfigūruoti pagal Linux konfigūravimą, bet jeigu mes neturime laiko tai sekime straipsnį toliau, o ne grįžkime prie GRUB‘o konfigūravimo Linux‘e. Šioje straipsnio dalyje aptarsime kitų OS užkrovimą. Mes pasirinksime paprastesnį būdą (jis yra universalesnis negu priversti kokią nors Microsoft Windows nuskaitinėti ir įrašinėti GRUB‘o particiją ir per Windows ar tą kitą OS konfigūruoti GRUB'ą) – užsikrausime mūsų pasirinktą Linux LiveCD ir redaguosime GRUB'o konfigūracinį failą. Bet prieš redaguodami nepamirškime prisimontuoti savo GRUB‘o particiją: # mkdir /mnt/boot # mount /dev/xdyi /mnt/boot Redaguokime GRUB‘o konfigūraciją: # nano -w /mnt/boot/grub/menu.lst Pridėkime šias eilutes: # Meniu punkto pavadinimas, kurį matysime GRUB meniu # Pavyzdžiui: title=Windows XP Professional # Nurodome kurią particiją naudoti # rootnoverify ([hd – IDE vartotojams; sd – SCSI įrenginių vartotojams][kietojo disko numeris(pirmasis diskas ne 1, o 0!)],[particijos numeris(pirmoji particija ne 1, o 0!), kurioje yra sekantis bootloader'is/operacinė sistema]) # Pavyzdžiui: rootnoverify (hd0,0) # Kai kurios OS (Windows OS toji eilutė nėra būtina) reikalauja, kad jų particijos būtų aktyvios, bet jeigu naudojame GRUB atskiroje particijoje tai aktyvi yra ne tos OS, o GRUB‘o particija. Todėl rekomenduoju konfigūraciniame faile nurodyti tolimesnę eilutę. maceactive # Tolimesnė eilutė nurodo GRUB‘ui perleisti bootloader'io darbą kitam bootloader'iui, kuris yra rootnoverify eilutėje nurodytoje particijoje. Priešingai negu buvusi eilutė, ši eilutė yra būtina chainloader +1 Išsaugoję konfigūracinį failą ir perkrovę kompiuterį mes jau galime naudotis norimu bootloader'iu. Galutinį variantą be komentarų galite gauti adresu http://pastebin.com/f63f4f04d. GRUB meniu fonas GRUB'as turi įdomią funkciją (numatyta, kad ji susikompiliuoja jeigu jūs neliepiate kompiliatoriui jos nekompiliuoti, todėl neaprašysiu ką daryti jeigu mūsų GRUB'as neturi tokios funkcijos, apie tai galite pasiskaityti pabaigoje pateiktoje nuorodoje), kuri leidžia mums nustatyti kokio nors paveikslėlio rodymą meniu fone. Iš tikrųjų tai gana daug pagražina mūsųs sistemos krovimąsi. Deja, reikia atminti, kad dydis ribojamas iki 640×480, o spalvų kiekis iki 14, bet ir tai galima puikiai išnaudoti. Pirmiausiai nusipieškime paveikslėlį, kurio dydis maždaug atitiktų 5:4 santykį (jeigu galima tai pieškite 640×480 iš karto, nes taip išvengsite iškraipymų keičiant dydį). Dabar atidarykime jį su „The Gimp“ ir pakeiskime jo dydį: Paveikslėlis–>Keisti paveikslėlio dydį Nuimkime grandinę () ir „Plotis“ laukelyje įrašykime 640, o laukelyje „Ilgis“ - 480. Spustelėkime mygtuką „Ištempti“. Dabar sumažinkime spalvų kiekį. Sluoksniai–>Spalvos–>Spalvų sumažinimas… Sumažinkime spalvų iki 14 ir paspauskime „Gerai“. Dabar išsaugokime paveikslėlį (Byla–>Išsaugoti kaip…) XPM (X PixMap) formatu ir šia komanda jį suspauskime: $ tar -cf [paveikslėlis].tar [paveikslėlis] Paveikslėlį nukopijuokime į /boot katalogą (nepamirškime jo prisimontuoti kaip tai darėme kiekvieno konfigūravimo pradžioje): # cp [paveikslėlis].tar /boot/[paveikslėlis].tar Atsidarykime GRUB‘o konfigūraciją: # nano -w /boot/grub/menu.lst Ir prirašykime po eilute „timeout“ šias eilutes: root ([hd – IDE vartotojams; sd – SCSI įrenginių vartotojams][kietojo disko numeris(pirmasis diskas ne 1, o 0!)],[particijos numeris(pirmoji particija ne 1, o 0!), kurioje yra sekantis bootloader'is/operacinė sistema]) splashimage /boot/[paveikslėlis].tar Pavyzdžiui: root (hd0,0) splashimage /boot/vista.xpm.tar Pastaba. Vietoje „[paveikslėlis]“ parašykite paveikslėlio failo pavadinimą. Slaptažodžiai Norėdami apsaugoti GRUB'ą jūs galite pasinaudoti „GRUB apsaugojimas“ straipsniu. Jame puikiai išdėstyta kaip uždėti slaptažodį ant GRUB'o ir apsaugoti jį. Pabaiga Apibendrinant, GRUB'as yra pakankamai galingas bootloader'is, kuris ateityje manau išpopuliarės dar labiau. GRUB'as įdedamas beveik į visas Linux OS, o ir būti pasiruošusiam Linux diegimui visada būna pravartu. Tikiuosi, kad jums pavyko puikiai sukonfigūruoti GRUB'ą ir šis straipsnis dar labiau padidins GRUB'o vartotojų skaičių. Plačiau apie paveikslėlius GRUB meniu fone galite pasiskaityti adresu http://ruslug.rutgers.edu/%7Emcgrof/grub-images/. 2007 m. vasario 20 d., Pixel

IPTABLES naudojimas

Penktadienis, 16 vasario, 2007

IPTABLES tai paketų filtras (prafiltruojami nereikalingi paketai (nesupratusiems tai paketai būtų tinklo srautas; juos filtruoti reikia, nes visiškai uždarydami nereikalingus prievadus (pavyzdžiui 80 prievadą, kurio mes nenaudojame, arba 22 (SSH)) mes sumažiname įsilaužimo tikimybę), taip pat jie gali būti persiunčiami į kitą kompiuterį (su IPTABLES galima iš paprasto kompiuterio pasidaryti maršrutizatorių (aparatas, kuris aprūpina tinklą srautu ir atlieka dar keletą funkcijų, bet ši buvo esminė)); kitaip sakant IPTABLES gali dirbti ne tik kaip ugniasienė, bet ir maršrutizatorius) Unix tipo sistemoms. Juo iš tikrųjų gana patogu naudotis ir jis yra labai galingas. Bet tai tik mano nuomonė. Įsitikinti galėsite šiame straipsnyje. Jau senai norėjau parašyti straipsnį apie IPTABLES naudojimą. Viską darysime Gentoo sistemoje, todėl gali kilti šiek tiek nesuderinamumų tarp kitų OS dėl komandų, bet pagrindinės IPTABLES komandos tos pačios. Pavyzdyje naudosimės 2.6 kernel’iu. Pirmiausiai turime įsitikinti, kad mūsų sistema palaiko IPTABLES, o ne IPCHAINS (tai senesnė paketų filtro versija, kuri naudojama 2.4 kerneliuose). Tai padarysime šia komanda: # grep -i netfilter /usr/src/linux/.config Jeigu gausime atsakymą, kuris nėra „CONFIG_NETFILTER=y“, vadinasi mes neturime IPTABLES palaikymo dabar naudojamame kernel’yje. O jeigu gausime tokį atsakymą tai galime praleisti kernel’io kompiliavimo sekciją. Kompiliuojame kernel’į su IPTABLES palaikymu Pirmiausiai atsisiųskime kernel’io išeities tekstus („sources“; iš www.kernel.org) ir išpakuokime į /usr/src/linux komanda: # tar xzfv kernel*.tar.gz -C /usr/src/linux tar.gz archyvui, o tar.bz2 archyvui būtų tokia komanda: # tar xjfv kernel*.tar.bz2 -C /usr/src/linux Toliau konfigūruosime kernel’į: $ cd /usr/src/linux # make menuconfig Jeigu norite, tai galite naudoti „make xconfig“ komandą, bet atminkite, kad ji reikalauja Qt ir paleistų X'ų. xconfig'e galėsite naudotis paieška, o menuconfig – ne. Einame į Networking–>Networking Options–>su Space klavišu pažymime Network packet filtering (replaces ipchains)–>įeikime į Network packet filtering (replaces ipchains) ant šios eilutės paspausdami Enter–>įjunkime Netfilter Xtables support (required for iptables), rekomenduoju nejungti kaip modulio t. y. Spauskite Space tol kol pamatysite šią eilutę pažymėta žvaigždute, o ne raide M ar iš viso nepažymėtą–>išeikime vienu lygiu aukščiau ir eikime į IP: Netfilter configuration–>įjunkime IP tables support (required for filtering/masq/nat)–>taip pat įjunkime Packet filtering. To turėtų užtekti, kad kernel’is palaikytų IPTABLES. Pabandykite sukompiliuoti ir išbandyti kernel’į (visur paspauskite Exit ir, kai iškris klausimas Do you wish to save your new kernel configuration?, paspauskite „Yes“). Kompiliuojame kernel'į: # make && make modules_install Įdedame naujojo kernel’io pasirinkimą GRUB'e: # cp arch/i386/boot/bzImage /boot/kernelis Atkreipkite dėmesį, kad galite vietoje i386 rašyti savo platformą. Konfigūruokime GRUB: # nano -w /boot/grub/menu.lst Įdėkime šias eilutes: title=Gentoo Linux 2.6.20 # ši eilutė nurodys ką rodyti GRUB meniu kaip pasirinkimą šio kernel'io root (hd0,0)# nurodome kur ieškoti kernel'io kernel /boot/kernelis root=/dev/hda2 video=vesa:mytt:3,ywrap # konfigūruokime kernel'į. Jeigu nenaudojate VESA framebuffer tai ištrinkite "video=vesa:mytt:3,ywrap". Patikrinkime ar timeout eilutėje nėra nustatyta skaičius 0. Jeigu yra tai jį padidinkime. Tai nurodys kiek sekundžių laukti kol pasirinksime kernel’į. Jeigu jo nepasirinksime tai sistema kraus tą, kuris į x-asis (x tai skaičius nurodytas default eilutėje, kernel’iai numeruojami pagal jų išsidėstymą meniu). Jeigu turime LILO tai atlikime šiuos veiksmus: # nano -w /etc/lilo.conf timeout nurodykime ne mažiau kaip 0. default reikšmę nurodykime tą meniu punktą, kurį LILO turi krauti jeigu per timeout eilutėje nurodytą sekundžių skaičių jūs nepasirinksite ką krauti. image=/boot/kernel-2.6.20 # nurodykime kur yra kernel'is label=gentoo # Meniu punkto pavadinimas read-only # Uždrausime įrašymą į kernel'io particiją root=/dev/hda3 # root particija Ir išsaugokime konfigūracinį failą. Dabar galima perkrauti kompiuterį ir džiaugtis nauju kernel'iu. Instaliuojame IPTABLES Mes pavyzdyje naudosimės Portage, nes mūsų pavyzdinė OS yra Gentoo. Jums siūlau naudotis savo sistemos paketų valdikliais (Aptitude, Yum, Pacman ir pan.). # emerge net-firewall/iptables Tai būtų Portage IPTABLES instaliavimo komanda Gentoo sistemoje. Aptitude vartotojams: # apt-get install iptables Yum vartotojams: # yum install iptables IPTABLES suinstaliuota. Dabar galime pereiti prie kitos dalies – IPTABLES konfigūravimo. IPTABLES konfigūravimas Iš karto norėčiau paminėti, kad vartotojai, kurie tiesiog nori ugniasienės Linux distribucijoje, gali įsidiegti Firestarter (Linux ugniasienė, kuri paremta IPTABLES) arba susigeneruoti konfigūruojantį IPTABLES bash scenarijų tinklalapyje http://easyfwgen.morizot.net/gen/. Jeigu pasirinkote konfigūracinio failo generavimą tai nueikite pateiktu adresu ir atsakykite į klausimus. Jums bus pateiktas ilgas scenarijus. Jį išsaugokite kaip „scenarijus.sh“ ir suchmodinkite: # chmod +x scenarijus.sh Dabar jį paleiskite: # sh scenarijus.sh IPTABLES dabar turėtų būti sukonfigūruota. Tiesa, tai nėra geriausias būdas apsaugoti savo kompiuterį ar tinklą nuo įsilaužėlių. Geriausia tai padaryti yra pačiam konfigūruojant IPTABLES. Būtent todėl ir rašau šį straipsnį. Pirmiausiai turėtume pasirinkti kaip konfigūruosime IPTABLES. Mes galime sukonfigūruoti ją per bash scenarijų (panašiai kaip ir easyfwgen.morizot.net/gen, tik visą failą pasirašysime patys ir taip padidinsime saugumą) arba paprasčiausiai vykdydami pavienes komandas. Tai jau jūsų skonio reikalas. Norėdami savo bash scenarijų paleisti jūs turite jį suchmodinti kaip ir sugeneruotą scenarijų: # chmod +x scenarijus.sh O paleisti jį irgi reikalautina super vartotojo teisių: # sh scenarijus.sh Jeigu rašysime bash scenarijų tai atminkime tokią jo konstrukciją (bash scenarijai tai paprasti tekstiniai failai susidedantys iš konsolės komandų): #!/bin/bash # pirmoji eilutė („#!/bin/bash“) yra būtina, o kitose eilutėse grotelės („#“ simbolis) reiškia, kad visa toji eilutė yra komentaras ir kad ir ką jūs ten berašytumėte toje eilutėje, bash’as į tai nekreips dėmesio.# pačioje scenarijaus pradžioje susirašykime konstantas, kurias naudosime. Taip vėliau sutaupysime daugiau laiko, nes nereikės atsiminti anksčiau nurodytų duomenų. TINKLESKE=“eth0“ LANOMASK=“192.168.2.0/24“ # vėliau jos gali būti panaudojamos vietoje reikšmės rašant konstantos pavadinimą su dolerio ženklu priešais ir be kabučių. # pavyzdžiui: iptables -A FORWARD -s 192.168.1.2 -i $VIDINE_KORTA -j ACCEPT # komandos rašyti dėl patogumo siūlau atskirose eilutėse. Ir nerašykite komandų su grotelėmis („#“ simbolis prieš komandą), nes jas reikia rašyti be grotelių priekyje, kadangi aš grotelėmis nurodau, kad komanda privaloma vykdyti super vartotojo teisėmis, o dolerio ženklu („$“) nurodau, kad komandą patartina įvykdyti su paprasto vartotojo teisėmis. # tai yra viskas ką jums reikia žinoti kuriant bash scenarijus. Dabar apžvelkime didžiąją dalį komandų: # iptables -F Šia komanda ištrinsime buvusią konfigūracija. Prieš sekančiąją komandą norėčiau priminti, kad INPUT – įeinantis srautas (pavyzdžiui, norint pasiekti jūsų kompiuteryje esančią serverinę tarnybą (tarkim Apache) reikia leisti srautą pro 80 prievadą (jeigu norime dirbti iš išorės su mūsų kompiuteryje esančiu Apache)); OUTPUT – išeinantis srautas; FORWARD – persiunčiamas srautas į kitą kompiuterį (jeigu norėsime pakurti maršrutizatorių tai mums prireiks šios grandinės). # iptables -P chain DROP Ši komanda nurodys IPTABLES blokuoti tai ką nurodome vietoje chain (INPUT/OUTPUT/FORWARD – tai tarsi taisyklių grandinės (iš angl. k. chains; kiekviena skirta vis kitam srautui), jas ir rašykite vietoje chain). Pavyzdžiui, iptables -P INPUT DROP komanda užblokuos visą įeinantį srautą. Vietoje DROP mes galime rašyti anksčiau nurodytas grandines (INPUT/OUTPUT/FORWARD). Atkreipkite dėmesį, kad IPTABLES konfigūracijoje būtina blokuoti viską, kad toliau esanti konfigūracija turėtų kažkokią reikšmę. Vietoje DROP taip pat galite rašyti kitokią užduotį, bet mes norime viską užblokuoti, o ne leisti. # iptables -A INPUT -i lo -j ACCEPT A opcija prideda taisyklę prie mūsų nurodytos grandinės. i opcija mes nurodome tinklo įrenginį, o j nurodome užduotį, kurią IPTABLES turi atlikti su tais duomenimis. ACCEPT – nurodydami šią užduotį mes priimame visą srautą iš lo t. y. localhost. Nepamirškime to pačio atlikti su OUTPUT ir FORWARD: # iptables -A OUTPUT -o lo -j ACCEPT Atkreipkite dėmesį, kad nenaudojame i opcijos, nes i opcija nurodo įeinančio srauto įrenginį, o o nurodo išeinančio srauto įrenginį. # iptables -A FORWARD -i lo -j ACCEPT Šiuo metu mes galime naudotis localhost, bet negalime naudotis internetu. Jeigu taip ir yra tai galime tęsti straipsnio skaitymą kaip niekur nieko, o jeigu ne tai rekomenduoju pasiskaityti IPTABLES dokumentaciją ir paieškoti ką darote ne taip. # iptables -A INPUT -j ACCEPT -i eth0 -p tcp -d xxx.xxx.xxx.xxx –dport x Vietoje eth0 įrašykime tinklo plokštę (taip nepamirškime padaryti ir kitose komandose, nes apie tai, kad reikia pakeisti eth0 aš tikriausiai jau nebeužsiminsiu), kurią naudojame internetui. p opcija nurodo protokolą (TCP - Transmission Control Protocol (šiuo protokolu duomenys siunčiami „bendraujant“ dviems kompiuteriams t. y. vienas siunčia, o kitas užtikrina pirmąjį kompiuterį, kad duomenis gauna), UDP - User Datagram Protocol (juo siunčiami/gaunami duomenys tiesiog siunčiami be jokių „klausimų“ nutolusiam kompiuteriui)). Šiuo atveju tai tcp. d opcija nurodo išorinį IP (pavyzdyje xxx.xxx.xxx.xxx), su kuriuo atliksime veiksmą, bet prisiminkite, kad tai nebūtina nurodyti. Tačiau IP arba prievadą nurodyti yra būtina. dport opcija nurodo išorinį prievadą (pavyzdyje x). Jeigu prievado nenurodysime tai bus naudojami visi prievadai. # iptables -A OUTPUT -j ACCEPT -o eth0 -p tcp -s xxx.xxx.xxx.xxx –sport Viskas taip pat kaip ir prieš tai buvusiame pavyzdyje, tik dabar naudojame vidinius IP adresus ir prievadus ir vietoje i nurodome o opciją. Šiomis dviem komandomis įsileisime prisijungimus iš mūsų nurodytų IP adresų per mūsų nurodytus prievadus (pvz., 21) TCP protokolu. # iptables -A INPUT -j ACCEPT -i eth0 -p udp -d xxx.xxx.xxx.xxx –dport 21 # iptables -A OUTPUT -j ACCEPT -o eth0 -p udp -s xxx.xxx.xxx.xxx –sport 21 Čia taip pat kaip ir su TCP, tik dabar p opcijai nurodykime UDP protokolą. # iptables -A INPUT -i eth0 -p icmp -j ACCEPT # iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT ICMP – Internet Control Message Protocol. Turėtume šį protokolą leisti, nes be jo mes negalėsime būti ping’inami ir iškils daug kitų problemų. # iptables -A OUTPUT -j DROP -o eth0 -d one.lt Tokia komanda užblokuosime priėjimą prie one.lt pro eth0 tinklo plokštę. Mano nuomone šios informacijos turėtų užtekti, kad galėtumėte sukonfigūruoti iptables (atminkite, kad straipsnis nebaigtas ir tikriausiai ateityje dar bus pildomas ir koreguojamas, todėl rekomenduojame pastoviai tikrinti Versme.net ar nėra straipsnių apie saugumą arba apžvelkite IPTABLES dokumentaciją). 2007 m. vasario 16 d., Pixel

Instaliuojame SAMBA Gentoo sistemoje

Trečiadienis, 7 vasario, 2007

Aptarsiu paprasčiausią Samba įdiegimą ir sukonfigūravimą naudotis „share’ais“. Kartu šiame straipsnyje išnagrinėsime tokiom funkcijoms reikalingą konfigūracijos smb.conf failą ir CUPS suderinamumą su Samba. Šis straipsnis padės jums lengviau ir aiškiau sukonfigūruoti Samba. Kas yra kas? Straipsnį pradedu šiuo klausimu, nes gali atsirasti žmonių, kuriems neaišku apie ką šis straipsnis. Pradėkime nuo Samba. Samba yra mano nuomone populiariausia programinė įranga naudojama Linux ir Unix tinkluose. Ši programinė įranga realizuoja SMB ir CIFS tinklus. SMB - Server Message Block. Programinio lygio protokolas, kuris leidžia naudotis dalinimosi paslaugomis. CIFS - Microsoft paėmė SMB ir pervadino į Common Internet File System. Microsoft taip pat pridėjo įvairių galimybių, tokių kaip symlink’ai, tiesioginis susijungimas be NetBIOS tvarkymo. NetBIOS tai Network Basic Input/Output System, daugiausiai Windows sistemose naudojama tinklo vardų sistema. Nors ir turi daug daugiau galimybių, tačiau pats NetBIOS’as Windows sistemoje yra nesaugus, todėl naujesnės Windows OS tarpusavyje gali “dirbti” be NetBIOS. CUPS - Common Unix Printing System. Unix sistemose naudojama sistema spausdinimui, kurią aš taip pat panaudosiu šiame straipsnyje. foomatic - tam tikra gana kompaktiškai surinkta spausdintuvų tvarkyklių sistema. WORKGROUP - vietinis tinklas yra suskirstytas į grupes. Workgroup tai būtų grupės pavadinimas. Sistemos paruošimas ir Samba įdiegimas Pradėkime nuo pasiruošimo Sambos instaliavimui. Norint naudotis Samba savo kompiuteryje, mes turime sukompiliuoti kernelį su SMBFS ir CIFS palaikymu. Tam užtenka redaguoti .config failą ir jame susirasti šias ar panašias eilutes ir pakeisti į žemiau nurodytąsias: CONFIG_SMB_FS=y CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp437" CONFIG_CIFS=y Išsaugokime .config failą ir sukompiliuokime kernel’į. Perkraukime sistemą ir užkraukime šį kernel’į. Dabar sukompiliuokime Samba: # emerge samba Jeigu naudosimės spausdintuvų dalinimusi tai dėl viso pikto suchmodinkime /var/spool/samba: # chmod 777 /var/spool/samba Nepamirškime įdėti Samba startavimo į sistemos krovimąsi: # rc-update add samba default Taip pat jeigu norėsite kitiems tinklo vartotojams leisti naudotis spausdintuvu jį suinstaliuokite į CUPS. Rekomenduoju parsisiųsti foomatic. # emerge foomatic Mano pasiūlymas būtų nesinaudoti standartinėmis konfigūracijomis, o pasiskaityti smb.conf.example failą ir pagal jį sukonfigūruoti Samba, bet aš apžvelgsiu paprastutį konfigūravimą (per daug neišsiplėsiu). smb.conf pagrindo apžvelgimas Pirmiausiai /etc/samba/smb.conf faile siūlau įrašyti štai tokį konfigūracinį tekstą (grotelės žymi komentarą, o komentaras baigiasi eilutės pabaigoje t. y. sulig kitu Enter): [global] # Čia privaloma nurodyti darbo grupę tokią kokią nurodote kituose kompiuteriuose, kad vieni kitus kompiuteriai „matytų“ workgroup = WORKGROUP # NetBIOS name nurodo kokiu vardu jūsų kompiuteris funkcionuos tinkle netbios name = CEL1200 # Šį komentarą Windows Explorer daug kur naudos šalia NetBIOS vardo; tai tarsi kompiuterio apibūdinimas server string = Samba Server %v # Jeigu nenorėsite dalintis spausdintuvu ar juo naudotis iš nutolusio kompiuterio, galite sekančią eilutę ištrinti, o jeigu naudositės spausdinimo sistema tinkle tai nurodykite kokia sistema norite naudotis (mūsų atveju - CUPS) printcap name = cups # Tai nurodo ar reikia iš viso kreipti dėmesį į spausdintuvus ir jų konfigūracijas. Tai patogu jeigu norite atjungti spausdintuvus ir po to juos greitai įjungti neperrašant viso konfigūracinio failo load printers = yes # Pakartotinas spausdinimo sistemos nurodymas printing = cups # Nurodome kur saugoti log’us (įrašus apie įvykius) log file = /var/log/samba/log.%m # Nurodome didžiausią log’ų dydį Kb max log size = 50 # Apsaugos lygis. Rekomenduoju naudoti share; jeigu nurodysite user tai turėsite dažniau įvesdinėti slaptažodžius ir prisijungimo vardus, bei galbūt turėsite problemų dėl autentifikacijos. security = share # Slaptažodžių šifravimo galimybė encrypt passwords = yes # Siūlau nesigilinti, nes esamos nuostatos man kol kas davė tikrai pakankamą greitį ant daugelio sistemų. Tai socket’ų nustatymai. socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # Nurodykime įrenginius t. y. maršrutizatoriaus IP ir tinklo plokštę. interfaces = eth0 192.168.2.1 # Samba slaptažodžių failo nurodymas. Rekomenduoju palikti reiškmę tokia, kokia ji yra. smb passwd file = /usr/local/samba/private/smbpasswd # Nurodykime IP adresus, kuriems leisime prisijungti prie Samba tinklo hosts allow = 192.168.2.0/24 127.0.0.0/8 192.168.2.100 192.168.2.101 http://pastebin.com/f580ba6d3 – šiuo adresu galite rasti šią smb.conf failo sekciją be komentarų. Šių eilučių turėtų užtekti, kad veiktų Samba. Jeigu norite ką nors „pasharinti“ tai skaitykite straipsnį toliau. O jeigu nenorite tai galite praleisti sekančius du skyrius. Dalinimasis spausdintuvu Norint, kad galėtume kitiems leisti spausdinti mūsų spausdintuvu, mes jį, jau kaip minėjau, privalome įdiegti CUPS sistemoje, nes smb.conf failo global sekcijoje nurodėme, kad Samba naudotų CUPS kaip pagrindinę spausdinimo sistemą. Dabar suteikime vartotojams slaptažodžius (patariu naudoti kitokius negu naudojote sistemoje iki šiol ir atminkite, kad vartotojas, kuriam priskiriate slaptažodį, jau turi būti sukurtas jūsų Gentoo sistemoje): # smbpasswd -a root # pdbedit -a -u root Vietoje root naudokite vartotojo vardą, kuriam suteikiate slaptažodį. Atminkite, kad pagal mūsų konfigūraciją, jūs privalote suteikti slaptažodį root vartotojui. „pdbedit“ komanda įkelia vartotojo informaciją į Samba duomenų bazę. Dabar konfigūruokime CUPS: # nano -w /etc/cups/cupsd.conf Šiame faile susiraskime ir pakeiskime/pridėkime šias eilutes: ServerName CEL1200 # rekomenduoju naudoti NetBIOS reikšmę iš /etc/samba/smb.conf ServerAdmin root@CEL1200 # nurodome administratorių # Nurodome log'ų buvimo vietą ir jų sudėtingumą AccessLog /var/log/cups/access_log ErrorLog /var/log/cups/error_log LogLevel info # Nurodome kiek leisti daugiausiai klientų. Rekomenduoju didelę reikšmę, nes gali kilti problemų su mažomis. MaxClients 100000000 BrowseAddress @IF(eth0) # nurodome vietoje eth0 savo tinklo plokštęOrder Deny,Allow Deny From All Allow From 192.168.0.* # nurodykime tuos IP adresus, kuriems leisime spausdinti. Žvaigždutė atitinka visus 255 skaičius. # tolimesnės konfigūracijos nerekomenduoju keisti, apart tą eilutę, kurią aš pakomentavau AuthType Basic AuthClass System Allow From 192.168.0.* # tas pats kaip aukščiau tik šį kartą čia nurodomi IP adresai, kuriems leidžiama vykdyti administracines užduotis pvz., spausdintuvo ištrynimas ar pridėjimas. Order Deny,Allow Deny From All Toliau pageidautina, kad „mime.convs“ faile atkomentuotumėte šią eilutę: application/octet-stream application/vnd.cups-raw 0 - O mime.types faile šitą: application/octet-stream Dabar perkraukime CUPS: # /etc/init.d/cupsd start Taip pat nepamirškime įdėti CUPS paleidimo krovimos metu į init’ą: # rc-update add cupsd default Toliau nagrinėsime mano nurodytą smb.conf konfigūracinio failo spausdinimo sekcijas: # Jeigu turime spausdintuvą tai nurodykime jo pavadinimą, kuriuo mes esame jį instaliavę CUPS sistemoje [HPLaserJet1000] # Galimybė uždrausti spausdinimą šiuo spausdintuvu. printable = yes # Pasilikime standartinę reikšmę. path = /var/spool/samba # Turėtume nurodyti įrašinėjimo galimybę. read only = no # Publikavimo galimybė. Atminkite, kad viešiname tik vidiniame tinkle. public = yes # Galimybė spausdinti svečiui. Rekomenduoju palikti „yes“. guest ok = yes # Windows sistemoje būtų sukurtas katalogas su visais spausdintuvais. [printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes create mode = 0700 print command = lpr-cups -P %p -o raw %s -r # naudosime kliento spausdintuvo tvarkykles t. y. CUPS spausdinami dokumentai pasieks jau RAW (tai toks formatas, kuris jau visiškai paruoštas spausdintuvui ar kitam įrenginiui) formate. # Sekančios eilutės praplečia spausdintuvo konfigūraciją. Esami nustatymai turėtų tikti beveik visoms sistemoms [print$] path = /etc/samba/printer browseable = yes read only = yes write list = @adm root guest ok = no write list = root Dabar pridėkime savo spausdintuvą į Samba: # cupsaddsmb -H CEL1200 -U root -h CEL1200 -v HPLaserJet1000 Vietoje HPLaserJet1000 parašykime savo spausdintuvo pavadinimą, kurį naudojome CUPS sistemoje. O vietoje CEL1200 įrašykime localhost. Jeigu net ir nepavyktų šios komandos įvykdyti, vis tiek rekomenduoju pabandyti viską pabaigti iki galo ir pažiūrėti ar spausdinsis. Šios sekcijos eilutes be komentarų galite gauti adresu http://pastebin.com/f303835c0. Norėdami pasidalinti kuriuo nors katalogu, smb.conf faile prirašykite tolimesnes eilutes. Spausdiname per Samba Windows sistemoje Per Windows Explorer nueikime į savo serverį (adreso laukelyje įveskime pvz., \\CEL1200). Paspauskite dešiniu pelės klavišu ant spausdintuvo ir pasirinkite Connect. Gali iškristi keletas lentelių (jeigu neinstaliavote spausdintuvo tvarkyklių padavimo Windows sistemai per Samba). Tada spauskite Yes–>Ok–>Have Disk… ir įdėkite spausdintuvo tvarkyklių kompaktą, pasirinkite spausdintuvo inf failą ir sudiekite tvarkykles. Viskas. Galite spausdinti. Pastaba. Siūlau pasiskaityti http://lists.samba.org/archive/samba/2005-September/110571.html ir http://www.ubuntuforums.org/showthread.php?t=47963. Spausdiname per Samba Unix paremtose OS Paruošiame sistemą spausdinimui (pavyzdyje imame Gentoo sistemą, skirtingose distribucijose/OS komandos gali šiek tiek skirtis): # emerge cups # /etc/init.d/cupsd start # rc-update add cupsd default To turėtų užtekti. Sistema pati susiras spausdintuvą. Tiesa, galite naudotis CUPS straipsniu, jog pasidarytumėte geresnę spausdinimo sistemą. Dalinimasis katalogais Pirmiausiai sukurkime katalogą. Mes kuriame /home/ernestas/myshare: $ mkdir /home/ernestas/myshare Nepamirškime jo suchmodinti: $ chmod o=rx /home/ernestas/myshare Jeigu norime, kad jis būtų tik skaitomas. O jeigu norime, kad galima būtų į jį ir įrašinėti tai naudokime šią komandą: $ chmod o=rwx /home/ernestas/myshare arba galime pratęsti /etc/samba/smb.conf failą šiomis eilutėmis: # Dalinimosi katalogo pavadinimas, kuris bus rodomas tinklo naršyklėj. [share] # Komentaras comment = share ir tiek… # Katalogo buvimo vieta path = /home/ernestas/myshare # Nurodome skaitymo ir kitus parametrus… read only = no public = yes Perkraukime Samba: # /etc/init.d/samba restart Ir galime nueiti prie kitos sistemos ir pažiūrėti ar viskas veikia. Šios sekcijos smb.conf failo eilutes be komentarų galima atsisiųsti iš http://pastebin.com/f4391bd29. Pabaiga Pabaigus konfigūruoti, mes galime perkrauti kompiuterį arba įvykdyti šias komandas: # /etc/init.d/cupsd restart # /etc/init.d/samba restart CUPS ir Samba persikraus. Dabar galite viską tikrinti ir žiūrėti. Apibendrinant turėčiau paminėti, kad jūs galite nebūtinai viską konfigūruoti rankomis, nes yra tokių įrankių kaip SWAT (Samba Web Administration Tool – tai web interface’as skirtas patogiau administruoti Samba; taip pat jis yra Webmin dalis, bet man asmeniškai nepavyko prie jo prisijungti, tik paleisti, todėl rekomenduoju pirmiausiai išbandyti šio straipsnio turinį) ir pan. Galutinį smb.conf failo variantą galite gauti adresu http://pastebin.com/m72efe665. Daugiau pagalbos ir informacijos galite rasti šiais adresais: Gentoo forums Gentoo wiki Atkreipkite dėmesį, kad šiek tiek pakeitus vieną konfigūracinio failo vietą, teks keisti ir kitas nuostatas. 2007 m. vasario 7 d., Pixel

Instaliuojame CUPS ir HP LaserJet 10xx spausdintuvą Gentoo sistemoje

Antradienis, 6 vasario, 2007

Manau, kad šis straipsnis gali būti naudingas daugeliui žmonių, nes su USB spausdintuvais (ypač HP LaserJet 1000) būna labai daug problemų Unix šeimos sistemose. Atsižvelgdamas į tai, kad USB naudoja beveik visi spausdintuvai kaip standartą ir su jais pateikiami LPT–>USB kabeliai tai rašau apie HP LaserJet 10xx USB spausdintuvų instaliavimą. Jeigu nenaudojate USB, tai spausdintuvo instaliacija skiriasi nuo mano pateikto būdo. Pirmiausiai norėčiau užsiminti apie simbolius „$“ ir „#“ prieš komandas. „$“ simbolis rodo, kad komanda turėtų būti vykdoma paprasto vartotojo teisėmis, be sudo. „#“ rodo, kad komandą patartina naudoti root ar kito super vartotojo teisėmis. Galima pasitelkti sudo, kai norima vesti komandą, prieš kurią parašytas simbolis „#“. Tikriausiai naudojame coldplug. Todėl pirmiausiai reikia jį pašalinti, nes naujesni UDEV (tai tam tikras įrenginių valdiklis Unix sistemose) turi savyje coldplug (programa, kuri pasirūpina, kad nauji įrenginiai (daugiausiai USB įrenginiai) būtų paruošti darbui ir įjungiami į /dev) funkcijas. Kartu dėl viso pikto pašalinsime ir hotplug (geresnis analogas coldplug‘ui), kurį vėliau sukompiliuosime iš naujo. # emerge –unmerge hotplug coldplug # rc-update del hotplug # rm /etc/init.d/hotplug # rc-update del coldplug # rm -rd /etc/hotplug* Norėčiau paminėti, kad -rd opcijos nurodo, kad būtų trinamos ir direktorijos. Jeigu /etc kataloge bus failas /etc/hotplug tai jis bus ištrintas kartu su katalogu /etc/hotplug. # rm -rd /etc/udev # emerge =sys-fs/udev-103 Pastaba. Nepamirškite lygybės ženklo prieš paketą. Jį reikia nurodyti visą laiką kai nurodote paketo versiją. Taip pat prieš kompiliuodami susinchronizuokite Portage: # emerge --sync Siūlau naudoti UDEV 103, nes, mano nuomone, jis žymiai stabilesnis ir dėl jo reikėjo mažiausiai vargo. O šiuo metu naujausias yra UDEV 104-r5. # emerge hotplug Taigi, UDEV ir hotplug’ą jau turime. Galima bandyti perkrauti sistemą. Perkrovus sistemą galime dirbti toliau. Susikompiliuokime CUPS (Common UNIX Printing System - spausdinimo sistema (tiksliau paketas) Unix pobūdžio operacinėms sistemoms). Tai padarome komanda emerge cups Aš pasirinkau 1.2.6 versiją, todėl jeigu norite visiškai sekti šį straipsnį tai veskite šią komandą: # emerge =net-print/cups-1.2.6 # USE="foomaticdb cups usb ppds" emerge hplip Dabar atėjo eilė foo2zjs (zjStream protokolo (protokolas, kurį naudoja HP LaserJet 10xx spausdintuvai spausdinimui) tvarkyklės Linux’ui): $ wget -o foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz $ tar zxf foo2zjs.tar.gz $ cd foo2zjs Jeigu jau buvome suinstaliavę foo2zjs tai vykdykime: # make uninstall Taip išinstaliuosime jau sistemoje esančią foo2zjs versiją. Instaliuokime foo2zjs toliau: # make # ./getweb [spausdintuvo modelis] Vietoje “[spausdintuvo modelis]” įrašykite spausdintuvo modelį (foo2zjs iš HP LaserJet spausdintuvų palaiko tik 1000, 1005, 1018, 1020). Pvz.: # ./getweb 1000 Ši komanda parsiųs HP LaserJet 1000 spausdintuvui pilnai pasiruošti darbui reikalingus failus. # make install # make install-hotplug # make cups Tai buvo paskutiniai žingsniai su foo2zjs. Dabar patikrinkime sistemos krovimąsi komanda: # rc-update show Ekrane turėtume išvysti teksto, kuriame turėtume surasti šias eilutes (ne iš eilės): cupsd | defaulthotplug | boothplip | default Jeigu viskas taip kaip ir rašau tai galime perkrauti kompiuterį. Bet gali pasitaikyti taip, kad ne visi išvardinti komponentai buvo sąraše. Tada vykdome atitinkamas komandas: # rc-update add cupsd default # rc-update add hplip default # rc-update add hotplug boot Vykdykite tas, kurių reikia. Kitų galite nevykdyti. Perkraukite kompiuterį. Išjunkite (ištraukite iš el. lizdo, bet USB neištraukite) spausdintuvą kokiom 5 sekundėm ir vėl jį įjunkite. Iki visiško sistemos užsikrovimo jis turėtų pasiruošti darbui, t. y. turėtų trumpam pradėti veikti visi mechanizmai. Jeigu tai neįvyko, tai pabandykite perkompiliuoti CUPS ir HPLIP, o tada jeigu niekas nepasikeitė – keliauti į straipsnio galą. O jeigu spausdintuvas pasiruošė, tai jūs galite jį suinstaliuoti per CUPS. Galite naudoti įvairius įrankius, bet aš paprasčiausiai rekomenduočiau naršyklėje suvesti localhost:631. Tada sekite instrukciją: Add Printer–>prisijunkite kaip root vartotojas –>užpildykite “Name” laukelį (patariu naudoti tik lotyniškas raides) –>Device laukelyje pasirinkite savo spausdintuvą (rinkitės visiškai tikslų adresą pvz., hp:/usb/hp_LaserJet_1000?device=/dev/usb/lp0; spausdintuvas turi būti įjungtas ir jeigu jis nepasiruošė darbui tai jums nepavyks jo instaliuoti per CUPS) –>paspauskite Continue –>pasirinkite HP ir spauskite Continue –>pasirinkite savo spausdintuvo tvarkyklę (šalia jos privalo būti parašyta foo2zjs) ir paspauskite Continue –>kelias sekundes palaukite ir, kai atsidarys konfigūracijos puslapis, jame sukonfigūruokite spausdinimo parametrus –>bet kur paspauskite Set Printer Options. Jūs jau galite spausdinti. Tik nepamirškite kartu perkraudami kompiuterį perkrauti ir spausdintuvą. Nebent su spausdintuvu buvo nedirbta ilgą laiką. Apskritai kalbant tai yra didelis HP LJ 10xx minusas, kad firmware užkrauti (kai spausdintuvas įsijungia, jis laukia kada kompiuteris jam nusiųs tam tikras tvarkykles, kurios jį paruoš spausdinimui) galima tik vieną kartą po spausdintuvo įjungimo. Jeigu jūsų spausdintuvas vis tiek neveikia tai siūlau pasižvalgyti klaidų /var/log/messages faile. Taip pat nepamirškite dmesg komandos (ją reikėtų susikompiliuoti komanda emerge dmesg). Taip pat nepamirškite, kad kernel’yje privaloma įkompiliuoti USB palaikymą. /usr/src/linux/.config ar kitoje direktorijoje esančio kernel'io „.config“ faile turėtų būti nurodyta šios opcijos: CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=y CONFIG_USB_DEVICEFS=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_PRINTER=y CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_STORAGE=y Pastaba: kai kurios opcijos nėra būtinos, tačiau rekomenduotinos. Apžvelgę informaciją pagalbos galite ieškoti adresais http://forums.gentoo.org ir http://gentoo-wiki.com. 2007 m. vasario 6 d., Pixel

TTF šriftai Gentoo sistemoje

Ketvirtadienis, 1 vasario, 2007

TTF – TrueType Font. Tai šriftai, kuriuos naudojame Windows sistemoje. Rašau šį straipsnį, nes tikriausiai migruojantiems iš Windows į Linux OS yra gana sudėtinga priprasti prie standartinių šriftų ir labai dažnai pasitaiko tokių atvejų, kad Linux distribucijoje parašytas dokumentas nenuskaitomas taisyklingai Windows sistemoje, nes naudojami šriftai, kurių Windows sistemoje nėra (dažniausiai ne TTF). Norint matyti TTF mums reikės: TTF šriftų (galima paimti iš bet kurios Windows OS %system root%/Fonts katalogo); Xfs serverio (šis serveris naudojamas šriftams); ttmkfdir paketo (naudojamas fonts.scale failo sukūrimui); veikiančio X’ų serverio. Visa tai sudiegiame (X’ų diegimo šiame straipsnyje neaprašysiu): # emerge x11-apps/ttmkfdir # emerge x11-apps/xfs Sukuriame direktoriją mūsų TTF šriftams (kadangi aš vėliau dėjau daugiau šriftų ir juos grupavau tai sukūriau TTF šriftams visai atskirą katalogą - /usr/local/fonts/ttf): # mkdir /usr/local/fonts # mkdir /usr/local/fonts/ttf Dabar perkeliame TTF šriftus į /usr/local/fonts/ttf (šriftų perkėlimui naudojau USB raktą; jūs nurodote savo TTF šriftų direktoriją vietoje /mnt/usbkey/ttf): # mv /mnt/usbkey/ttf/* /usr/local/fonts/ttf/ Pereiname į sukurtą šriftų direktoriją: # cd /usr/local/fonts/ttf Sukuriame fonts.scale failą: # ttmkfdir > fonts.scale Taip pat pažymime šią direktoriją kaip šriftų: # mkfontdir Dabar redaguosime xorg.conf failą: # nano -w /etc/X11/xorg.conf Jame susirandame sekciją Files ir joje pridedame naują eilutę: FontPath "/usr/local/fonts/ttf" „/usr/local/fonts/ttf“ galite keisti priklausomai nuo to, kur padėjote šriftus. Dabar turime veikiančius TTF šriftus. Perkrovus X’ų serverį jis turėtų dirbti su jais. 2007 m. vasario 1 d., Pixel