Tai nemokama, laisvo kodo operacijų sistema, paremta Linux branduoliu. Viena pirmųjų sistemų, pradėjusių naudoti Linux branduolį ir vienintelė iš jų veikli iki šiol. Slackware sukūrė Patrikas Volkerdingas 1993-iais metais, kaip privatų namų projektą, be jokių įsipareigojimų. Tam, kad šis užsiėmimas netaptų pernelyg rimtas, Patrikas davė jam humoristinį vardą, kuris prilipo projektui tapus rimtu. 2013-tais išleista naujausia stabili versija 14.1
Pramanymas
Daug Slackware dizaino pasirinkimų gali būti KISS principo pavyzdžiais. Šiame kontekste "paprastumas" reiškia labiau administratoriaus požiūrį į sistemos dizainą, nei paprastumą naudojimui. Dauguma programinės įrangos naudoja konfigūracijos mechanizmus pateiktus originalių autorių; yra viso labo keli konfigūracijos mechanizmai, būdingi šiai distribucijai. Dėl šios priežasties yra taip mažai grafinių sistemos konfigūravimui skirtų įrankių. Rezultate, naudotojai neturintys darbo komandine eilute patirties, gauna kur kas statesnę mokymosi kreivę.
64-ių bitų Slackware versija, norint supaprastinti sistemą, yra pateikiama be 32-jų bitų suderinamumo bibliotekų. Šio sprendimo privalumas, kaip jau minėta, sistemos paprastumas, bei greitaveika (paketai kompiliuojami pagal x86_64 instrukcijas). O trūkumas tas, kad neveiks kai kurios komercinės programos, kaip Adobe reader. Todėl yra neoficialios multi-bibliotekos kurias įsidiegus, galima naudoti ir 32-jų bitų programinę įrangą.
Slackware tikslai yra sistemos stabilumas, paprastumas, bei būvimas labiausiai Unix suderinama Linux operacijų sistema. Todėl naudojami tekstiniai konfigūracijos failai, bei daroma kuo mažiau modifikacijų programinės įrangos paketams. |
Kur gauti Slackware?
Slackware parduotuvėje - Taip, Slackware yra nemokama operacinė sistema, tačiau Slackware komanda deda labai daug pastangų, kad mes gautumėm puikią sistemą, tad perkant Slackware diskus iš šios parduotuvės, paremiame šiuos žmones.
Atsisiųsti Slackware ISO atvaizdus patartina naudojantis torrent tinklais.
Svetainė: http://slackware.com/
Įkrova
Gal būt pastebėjote, jog Slackware įkrovos laikas yra ženkliai ilgesnis, nei kitų sistemų. Tarnybinėse stotyse, žinoma, tai nėra taip svarbu. Tačiau naudojantys Slackware darbiniuose ar nešiojamuose kompiuteriuose vargu ar norės keletą minučių žiūrėti kaip ekrane slenka tekstas. Tas minutes galima nesunkiai sutaupyti tinkamai parinkus įkrovos nuostatas, šiek tiek pertvarkius paleisties skriptus.
Lilo
Lilo, tai pirmoji programa, kuri paleidžiama iš kart po BIOS. Galima sutaupyti, apie dvi minutes įkrovos laiko, tinkamai nustačius lilo. Nustatymai keičiami lilo.conf
byloje:
# nano /etc/lilo.conf
Reikia nustatyti delsos laiką, skirtą Operacinės sistemos pasirinkimui. Taip pat pridėti compact
komandą, liepiančią sparčiau skaityti informaciją iš kieto disko. Jeigu kompiuteryje nenaudojami RAID masyvai, galima išjungti jų automatinį aptikimą, išjungti įkrovos tekstus. Taigi, kernelio nustatymų skiltis turėtų atrodyti taip:
# Append any additional kernel parameters:
append=" vt.default_utf8=1 resume=/dev/sda1 raid=noautodetect quiet"
boot = /dev/sda
compact
-
vt.default_utf8=1
- reikalinga utf-8 koduotės aktyvavimui. -
resume=/dev/sda1
- nurodžius swap skirsnį, įjungiamas išjungimas įrašius (hibernate). -
raid=noautodetect
- jeigu kompiuteryje nenaudojami raid masyvai, galima išjungti jų aptikimą. -
compact
- apjungia skaitymo užklausas gretimiems sektoriams, kad paspartinti užsikrovimo laiką. -
timeout = 50
- Laikas, skirtas OS pasirinkimui dešimtosiomis sekundės dalimis. 600 = 1 minutė. Numatytoji reikšmė - 1200
Kiek žemiau, eilutėje timeout
reikia įrašyti skaičių nustatantį, kiek laiko, reikės laukti naudotojo pasirinkimo, prieš automatiškai paleidžiant numatytąją sistemą. Pagal nutylėjimą yra 1200 dešimtųjų sekundės dalių (600 = viena minutė), taigi, nustatome 3 sekundes:
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 30
Kad nustatymai įsigaliotų, reikia įvykdyti lilo
komandą:
# lilo
Sekančio paleidimo metu įkrovos laikas bus ženkliai trumpesnis.
Įkrovos skriptai
Tam, kad sistemai besikraunant būtų paleistos jos darbui reikalingos tarnybos, reikalingi paleisties skriptai. Skirtingai negu dauguma kitų Linux operacijų sistemų, Slackware naudoja BSD stiliaus, RC paleisties skriptus, kadangi šie yra gerokai paprasčiau naudojami ir prižiūrimi, nei Linux System-V-Init skriptai ir todėl labiau suderinami su Slackware dizaino filosofija.
Pati pirmoji programa paleidžiama sistemai startuojant, po Linux kernelio, yra init
. Ši programa nuskaito /etc/inittab
failą, kuriame aprašyta pagal kokią tvarką bus paleidžiama sistema. Tuomet paleidžiamas /etc/rc.d/rc.S
skriptas, skirtas sistemos paruošimui tam tikram paleisties lygiui. Šis skriptas atsakingas už virtualios atminties įjungimą, failų sistemų aktyvavimą, tam tikrų žurnalo (log) aplankų išvalymą, taip pat Plug and Play aparatinės įrangos aktyvavimą, kernelio modulių prijungimą bei System-V-Init skriptų paleidimą (jeigu tokių yra sistemoje). Atrodo daug pareigų kaip vienam skriptui, ar ne? Todėl rc.S
kreipiasi į seriją kitų skriptų.
Visus, šiuo metu esančius sistemoje įkrovos skriptus galima pamatyti terminale įrašius komandą:
# ls -l /etc/rc.d
Tipai
RC paleisties skriptai yra kelių tipų: skirti sistemos paleidimui, paleisties lygių nustatymui, tinklo posistemiui paleisčiai, bei įvairių pagalbinių tarnybų paleidimui. Visi šie skriptai laikomi /etc/rc.d/
aplanke:
-
rc.S
- Pagrindinis paleisties skriptas. -
rc.modules
- Prijungia kernelio modulius, jeigu randa, įvykdo rc.netdevice. -
rc.pcmcia
- Aptinka ir paruošia naudojimui PCMCIA įrenginius. -
rc.serial
- Paruošia serial portus. -
rc.sysvinit
- Ieško System-V init skriptų, jeigu randa - įvykdo.
Paleisties lygių nustatymams:
-
rc.0
- Išjungtia sistemą (lygis: 0). -
rc.K
- Paleidžia vieno naudotojo režimą (lygis: 1). -
rc.M
- Paleidžia daugelio naudotojų režimą (multiuser) (lygiai: 2 ir 3), prisijungimas vyksta tekstinėje aplinkoje. Tai yra paleisties lygis naudojamas pagal nutylėjimą Slackware sistemoje. -
rc.4
- Paleidžia daugelio naudotojų režimą (multiuser) (lygis: 4), prisijungimas vyksta grafinėje X11 aplinkoje, per KDM, GDM, arba XDM. -
rc.6
- Perkrauna sistemą (lygis: 6).
Tinklo posistemio paleidimui:
-
rc.inet1
- Sukurtas netconfig programos, atsakingas už tinklo prieigos nustatymą. -
rc.inet2
- Startuoja po rc.inet1 ir paleidžia pagrindines tinklo tarnybas. -
rc.atalk
- Paleidžia AppleTalk tarnybas. -
rc.httpd
- Paleidžia Apache web serverį. Gali būti panaudotas ir perkrovimui arba sustabdymui, nes priima stop, start arba restart argumentus. -
rc.news
- Paleidžia naujienų serverį.
Kiti paleisties skriptai:
-
rc.gpm
- Paleidžia bendros paskirties pelės tarnybas, kurios leidžia kopijuoti ir įklijuoti tekstą Linux tekstinėje aplinkoje. Kartais gali sukelti problemų naudojant pelę grafinėje aplinkoje. Tokiu atveju, šiam reikia nuimti vykdymo leidimą. -
rc.font
- Nustato tekstinės aplinkos raidžių šriftą. -
rc.local
- Čia laikomos specifinės paleisties komandos, įrašytos sistemos administratoriaus. Iškart po diegimo būna tuščias.
Programos, kurioms reikalingos tarnybos, turi savo paleisties skriptus. Šie taipogi laikomi /etc/rc.d/
aplanke, turi priedėlį rc. ir kartais raidelę d
(daemon) pabaigoje. Keli pavyzdžiai:
-
rc.wicd
- wicd programos tarnyba. -
rc.mysqld
- Mysql duomenų bazės tarnyba.
Tarnybos
Visos sparčiai veikiančios sistemos turi bendrą bruožą - tinkamai parinktas tarnybas. Kompiuteryje neturėtų veikti nenaudojamos, nereikalingos ar visai nežinomos tarnybos. Leidžiant veikti tik reikalingoms tarnyboms užtikrinama greitesnė sistemos įkrova, spartesnė greitaveika ir kai kurių kompiuterio dalių tarnavimo laikas! Pateikiami trys paleisties valdymo įrankiai, kuriais galima maksimaliai valdyti sistemos ir tarnybų paleistį: Unix leidimų sistema, skriptų argumentai ir nustatymų failai.
Apie Unix leidimų sistemą manau, nereikia pasakoti. Žinome, jog yra toks leidimas x (vykdyti). RC skriptų sistemai jis labai svarbus. Jeigu rc.wicd turi leidimą x, reiškia sistemos paleidimo metu bus įvykdytas, jei neturi - nebus. Paprastas būdas leidimo x uždėjimui bei nuėmimui:
# chmod +x /etc/rc.d/rc.wicd
# chmod -x /etc/rc.d/rc.wicd
+ leidimą prideda, - leidimą nuima. |
Pažiūrėti esamus leidimus galima peržiūrint /etc/rc.d/
turinį:
# ls -l /etc/rc.d/
total 352
drwxr-xr-x 2 root root 4096 2011-04-10 17:13 init.d
lrwxrwxrwx 1 root root 4 2011-03-04 12:02 rc.0 -> rc.6
-rwxr-xr-x 1 root root 1473 2011-02-27 00:06 rc.4
-rwxr-xr-x 1 root root 7425 2010-03-19 22:14 rc.6
-rwxr-xr-x 1 root root 2425 2008-12-02 18:31 rc.K
-rwxr-xr-x 1 root root 10936 2011-03-03 18:55 rc.M
-rwxr-xr-x 1 root root 14238 2010-03-19 22:14 rc.S
-rwxr-xr-x 1 root root 552 2010-05-19 00:55 rc.acpid
-rwxr-xr-x 1 root root 2672 2010-04-30 04:54 rc.alsa
-rw-r--r-- 1 root root 1032 2010-02-19 18:05 rc.atalk
-rw-r--r-- 1 root root 2784 2010-03-05 23:54 rc.autofs
-rw-r--r-- 1 root root 3116 2008-04-13 19:48 rc.bind
-rw-r--r-- 1 root root 497 2010-05-02 06:41 rc.bluetooth
-rwxr-xr-x 1 root root 4318 2010-05-17 05:52 rc.cups
-rw-r--r-- 1 root root 512 2010-02-12 23:45 rc.dnsmasq
-rw-r--r-- 1 root root 119 2010-04-30 04:39 rc.font
-rwxr-xr-x 1 root root 1893 2010-02-12 22:52 rc.fuse
Pagal išvestį matyti, jog rc.fuse , rc.alsa ir panašūs turi x leidimus, todėl yra paleidžiami kas kart sistemai startuojant. O štai rc.bind , rc.bluetooth x leidimų neturi, reiškia yra neveiksnūs.
|
Skriptas turintis leidimą x, gali būti realiu laiku valdomas argumentais: start, restart, stop (paleisti, perleisti, sustabdyti). Pavyzdžiui paleidžiama wicd
tarnyba:
# /etc/rc.d/rc.wicd start
Kai kurie paleisties skriptai turi ir konfigūracijos failus tuo pačiu pavadinimu. Kaip rc.wireless.conf
:
rc.wireless rc.wireless.conf
Galūnė .conf reiškia, jog failas yra skirtas konfigūravimui. Redaguojant šį failą yra valdomas rc.wireless tarnybos darbas.
|
Įkrovos spartinimas
Šiek tiek perdarius paleisties skriptą rc.M
, galima juntamai sutrumpinti įkrovos laiką. Minėtame skripte yra keli svarbūs darbai, kurie yra reikalingi, tačiau užima nemažai laiko paleisties metu. Šiuos darbus perkeliant į atskirą skriptą ir paleidžiant jį vienu metu su rc.4
, šie darbai bus įvykdomi fone, todėl nereikalaus papildomo įkrovos laiko. Šiam naujam skriptui panaudojus ash vertėją, visi darbai bus įvykdyti šiek tiek greičiau. Pirmiausia sukuriama nauja rc.P
byla:
# nano /etc/rc.d/rc.P
Užpildoma šiuo turiniu:
#!/bin/ash
# Update the X font indexes:
/usr/bin/fc-cache -v -s -f
# Update any existing icon cache files:
rm -f /usr/share/icons/icon-theme.cache
find /usr/share/icons -maxdepth 2 -name 'icon-theme.cache' \
-printf '%h\0' \
| xargs -0r -I'{}' /usr/bin/gtk-update-icon-cache -t -f '{}'
# Update mime database:
/usr/bin/update-mime-database /usr/share/mime
# These GTK+/pango files need to be kept up to date for
# proper input method, pixbuf loaders, and font support.
/usr/bin/update-gtk-immodules --verbose
/usr/bin/update-gdk-pixbuf-loaders --verbose
/usr/bin/update-pango-querymodules --verbose
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
Keičiama rc.M
byla, joje reikia užkomentuoti arba pašalinti visas šias eilutes. Kitaip tie patys darbai bus atliekami du kartus:
# nano /etc/rc.d/rc.M
Tam, kad rc.P
būtų įvykdyta reikiamu metu, šią bylą reikia įtraukti į /etc/inittab
:
# nano /etc/inittab
Susiradus eilutę rc:2345:wait:/etc/rc.d/rc.M
žemiau jos pridedama nauja, skirta rc.P
bylai:
# Script to run when going multi user.
rc:2345:wait:/etc/rc.d/rc.M
# Paralel script
m1:34:once:/etc/rc.d/rc.P
Galiausiai rc.P
bylai uždedamas vykdymo leidimas:
# chmod +x /etc/rc.d/rc.P
Kernelis
Pagal nutylėjimą, Slackware sistemoje nustatomas huge kernelis, kuris yra sukompiliuotas taip, jog veiktų su kuo daugiau skirtingų kompiuterių. Tai yra vykęs pasirinkimas diegiant sistemą, tačiau pasirinkus labiau optimalų kernelį kompiuteris dirbs ženkliai našiau. Slackware pagal nutylėjimą, šalimais huge kernelio įdiegia ir generic kernelį, kuris yra sukompiliuotas ne monolitiniu (kaip huge), tačiau moduliniu būdu. Tai reiškia, jog sistema automatiškai prijungs tvarkyklių blokus sistemai užsikraunant, bei prijungiant prie sistemos kokius nors įrenginius. Viskas ką reikia atlikti, tiesiog pasirinkti, jog sistema įkrovos metu naudotų generic kernelį.
Initrd.gz kūrimas
Kadangi, generic kernelis yra modulinis, reikia sukurti initrd.gz modulių archyvą. Šiame archyve laikomos vos kelios tvarkyklės, reikalingos įkrovos metu, tam, kad sistema aptiktų kietą diską, bei failų sistemą. Be šios bylos, Slackware įkrovos metu parodytų kernel panic pranešimą.
Pirmiausia, keliaujame į /boot
aplanką, kuriame laikomi įkrovai būti failai.
# cd /boot
Tuomet pasižiūrime ką turime. Matysite kažką panašaus (atkreipkite dėmesį į turimų kernelių versijas)
# ls
lrwxrwxrwx 1 root root 37 Oct 2 2012 README.initrd -> /usr/doc/mkinitrd-1.4.7/README.initrd
lrwxrwxrwx 1 root root 25 Feb 20 00:16 System.map -> System.map-huge-3.2.45
-rw-r--r-- 1 root root 1.9M Jun 1 2013 System.map-huge-3.2.45
-rw-r--r-- 1 root root 1.9M Jun 1 2013 System.map-generic-3.2.45
-rw-r--r-- 1 root root 512 Oct 2 2012 boot.0800
-rw-r--r-- 1 root root 199 Nov 1 2012 boot_message.txt
lrwxrwxrwx 1 root root 21 Feb 20 00:16 config -> config-huge-3.2.45
-rw-r--r-- 1 root root 119K Jun 1 2013 config-huge-3.2.45
-rw-r--r-- 1 root root 119K Jun 1 2013 config-generic-3.2.45
-rw-r--r-- 1 root root 4.3M Feb 20 00:28 initrd.gz-generic-3.2.45
-rw-r--r-- 1 root root 23K Aug 18 2012 inside.bmp
-rw------- 1 root root 132K Feb 20 00:31 map
-rw-r--r-- 1 root root 6.8K Aug 18 2012 onlyblue.bmp
-rw-r--r-- 1 root root 16K Mar 27 2011 slack.bmp
-rw-r--r-- 1 root root 116K Oct 3 2012 slack14.bmp
-rw-r--r-- 1 root root 33K Aug 18 2012 tuxlogo.bmp
lrwxrwxrwx 1 root root 22 Feb 20 00:16 vmlinuz -> vmlinuz-huge-3.2.45
-rw-r--r-- 1 root root 3.1M Jun 1 2013 vmlinuz-huge-3.2.45
-rw-r--r-- 1 root root 3.1M Jun 1 2013 vmlinuz-generic-3.2.45
Slackware pateikia mkinitrd_command_generator.sh
skriptą, kuris supaprastina initrd.gz sukūrimą automatiškai aptikdamas aparatūrą ir pasiūlydamas mkinitrd komandą. Tereikia jį įvykdyti:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh
Ekrane matysite siūlomą mkinitrd
komandą. Jeigu / skirsnis yra /dev/sda2, o failų sistema ext4, galima naudoti tokią komandą:
# mkinitrd -c -k 3.2.45 -f ext4 -r /dev/sda2 -m mbcache:jbd2:ext4 -u -o /boot/initrd.gz
Kernelio pasirinkimas
Gavus initrd.gz
bylą, lieka parinkti generic
kernelį, kaip sistemos numatytąjį. Tai atliekama nuorodų pagalba, kreipiant jas į reikiamas bylas.
Pirmiausia šalinamos esamos nuorodos:
# rm vmlinuz System.map config
Tuomet kuriamos naujos:
# ln -s vmlinuz-generic-3.12.13 vmlinuz
# ln -s System.map-generic-3.12.13 System.map
# ln -s config-generic-3.12.13 config
nekopijuokite šių komandų, o surašykite jas pagal savo kernelio versiją. |
Lilo nustatymai
Belieka nustatyti Linux įkrovos programą lilo
. Tai atliekama redaguojant lilo.conf
bylą:
# nano /etc/lilo.conf
Kurios gale reikia susirasti įkrovos aprašymą ir jame pridėti eilutę initrd = /boot/initrd.gz
. Visas aprašymas atrodo taip:
# Linux bootable partition config begins
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/sda2
label = Linux
read-only
Kiekvieną kartą pakeitus nustatymus lilo.conf
byloje, arba pakeitus nuorodas į kernelį esančias /boot
aplanke, reikia įvykdyti lilo
programėlę:
# lilo
Štai ir viskas, belieka perkrauti kompiuterį (ir laikyti špygą kišenėje):
# reboot
Failų sistema
Slackware, kaip ir kitos Linux sistemos, palaiko daug įvairių failinių sistemų. Tačiau standartinė Linux failinė sistema ext4
patenkins daugumą poreikių.
Failų sistema | Failo dydis | Skirsnio dydis | Žurnalo palaikymas | Pastabos |
---|---|---|---|---|
Fat16 |
2 GB |
2 GB |
Nėra |
Paveldas |
Fat32 |
4 GB |
8 TB |
Nėra |
Paveldas |
NTFS |
2 TB |
256 TB |
Yra |
Windows failinė sistema. NTFS-3g tvarkyklė, Linux sistemoms leidžia nuskaityti, bei įrašyti failus į šią sistemą |
ext2 |
2 TB |
32 TB |
Nėra |
Paveldas |
ext3 |
2 TB |
32 TB |
Yra |
Ilgametis Linux failinės sistemos standartas. Geras pasirinkimas sistemoms, kur svarbus super-standartas. |
ext4 |
16 TB |
1 EB |
Yra |
Moderni Linux failinė sistema. Puikus pasirinkimas asmeniniams kompiuteriams, ssd diskams, bei sistemoms, kur super-stantartas nereikalaujamas. |
reiserFS |
8 TB |
16 TB |
Yra |
Sistema gerai dirbanti su mažais failais. Mažai palaikoma. |
JFS |
4PB |
32PB |
Yra (metaduomenys) |
IBM kurta failinė sistema. Prastai palaikoma. |
XFS |
8 EB |
8 EB |
Yra (metaduomenys) |
SGI kurta failinė sistema. Geriausias pasirinkimas norint stabilumo, bei pažangaus žurnalizavimo. |
GB = Gigabaitas (1024 MB), TB = Terabaitas (1024 GB), PB = Petabaitas (1024 TB), EB = Eksabaitas (1024 PB) |
Fstab
Pataisius /etc/fstab
bylą ir parinkus tinkamus skirsnių nustatymus, galima šiek tiek pagerinti sistemos greitaveiką, bei įkrovos laiką. Svarbiausia, jog šioje byloje nebūtų nenaudojamų įrašų, bei esamiems būtų parinktos tinkamos nuostatos.
# nano /etc/fstab
Patarčiau užkomentuoti /dev/cdrom
, bei /dev/fd0
įrašus skirtus CD diskų, bei FLOPPY diskelių prijungimui (visa tai vis vien atliekama automatiškai per udev), bei įtraukti aukščiau minėtus nustatymus:
/dev/sda1 swap swap defaults 0 0
/dev/sda2 / ext4 defaults 1 1
/dev/sdb1 /home ext4 defaults 1 2
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro,comment=x-gvfs-show 0 0
#/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
#tmpfs /tmp tmpfs defaults 0 0
Turintys didelį kiekį laisvos operatyviosios atminties (RAM) gali atkomentuoti paskutinę tmpfs eilutę. Tuomet /tmp aplankas bus prijungtas į RAM, taip pagerinant kompiuterio greitaveiką bei atsikratant šiukšlių. Reikia turėti galvoje, jog kompiliuojant dideles programas gali kilti keblumų!
|
Sintaksė
/etc/fstab
sintakę sudaro šeši stulpeliai atskirti tarpu. Kiekvienam skirsniui skirta viena eilutė. Eilutes galima užkomentuoti #
simboliu. Užkomentuota eilutė tiesiog praleidžiama, neveiksni.
/dev/sda2 / ext4 defaults 1 1
-
Pirmasis stulpelis žymi diską ir skisrsnį (/dev/sda2).
-
Antrasis žymi skirsnio prijungimo vietą (/).
-
Trečiame nurodoma failinė sistema (ext4).
-
Ketvirtame surašomos
mount
nuostatos. -
Penktame nurodoma ar failų sistemą galės naudoti
dump
komanda. (0 - nenaudoti, 1 - naudoti). -
Šeštame stulpelyje nurodoma failų sistemos tikrinimo seka. Šakninis skirsnis (/) visuomet turėtų būti pirmas (1).
SSD Optimizavimas
SSD diskai savo veikimo principu skiriasi nuo įprastų mechaninių. Pastarieji informacija įrašinėja magnetiniu būdu į besisukančius diskus. SSD duomenų saugojimui ir nuskaitymui naudoja elektronines atminties mikroschemas. Norint optimaliai išnaudoti gerąsias SSD diskų savybes, būtina atlikti šiek tiek nustatymų. Slackware, kaip ir daugelis Linux sistemų pilnai palaiko SSD diskus, tačiau pagal nutylėjimą yra optimizuota senesnio tipo, mechaniniams diskams.
Skirsnių lygiavimas
SSD diskai geba greitai nuskaityti duomenis iš atsitiktinių sektorių. Tačiau visumoje, tie sektoriai yra saugomi skirtingose mikroschemose, kurios yra apjungiamos į bendrą masyvą. Kiekviena atminties mikroschema gali saugoti tam tikrą infromacijos ruožą. Todėl tinkamai sulygiuotas disko skirsnis gali ženkliai pagerinti SSD disko greitaveiką.
Pasitikrinti ar skirsnis yra tinkamai sulygiuotas galima blockdev
komandos dėka, jei gaunama reikšmė lygi 0, reiškia, jog skirsnis sulygiuotas:
# blockdev --getalignoff /dev/sdX*
0
TRIM
dauguma SSD diskų palaiko atminties mikroschemų išvalymo technologiją TRIM. Tai yra labai svarbi technologija elektroniniams diskams. Kadangi bėgant laikui diskuose kaupiasi nereikalinga informacija, apsunkinti ir kartais smarkiai sulėtinanti disko greitaveiką. Slackware, kaip ir kitos Linux sistemos palaiko TRIM, tačiau pagal nutylėjimą neįjungia. TRIM palaikymas susideda iš dviejų dalių: failų sistemos nuostatos ir realaus atmintinių išvalymo.
Patikrinti, ar turimas SSD diskas palaiko TRIM galima pasinaudojus šia komanda:
# hdparm -I /dev/sda | grep TRIM
* Data Set Management TRIM supported (limit 1 block)
Nuostatos
Failų sistema ext4
palaiko TRIM technologiją, tačiau šį palaikymą reikia įjungti redaguojant /etc/fstab
failą:
# nano /etc/fstab
Jame susirasti skirsnio, esančio SSD diske eilutę ir pridėti discard
nuostatą:
/dev/sda1 swap swap defaults 0 0 /dev/sda2 / ext4 defaults,discard 1 1 /dev/sdb1 /home ext4 defaults 1 2
swap skirsnis taipogi yra SSD diske, tačiau swap failų sistema automatiškai išnaudoja TRIM, discard nuostatos pridėti nereikia.
|
Valymas
Kai TRIM palaikymas įjugtas, susikaupusias šiukšles iš atminties mikroschemų galima pašalinti fstrim
komandos pagalba:
# fstrim -v /
/: 159436800 bytes were trimmed
Tačiau nėra patogu nuolatos valyti rankiniu būdu, galima panaudoti cron
, kad ši komanda būtų įvykdoma automatiškai kartą savaitėje. Tam reikia sukurti skriptą:
# nano /etc/cron.weekly/fstrim
Ir užpildyti turiniu:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Disko tvarkaraštis
Pagal nutylėjimą, Slackware naudojasi cfq
tvarkaraščiu, kuris gerai tinka mechaniniams diskams, tačiau SSD diskai greičiau dirba pagal deadline
tvarkaraštį. Rankiniu būdu pažiūrėti ir nurodyti tvarkaraštį konkrečiam diskui, galima keičiant failą /sys/block/sda/queue/scheduler
:
# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
Šiuo atveju, SSD diskui /dev/sda
naudojamas CFQ
tvarkaraštis. Galima norodyti naudoti kitą:
# echo deadline > /sys/block/sda/queue/scheduler
Tačiau šitoks nustatymas neišliks po sistemos perkrovimo. Išsirinkus geriausiai veikiantį tvarkaraštį, galima nustatyti jį visam laikui panaudojant udev
taisyklę:
# nano /etc/udev/rules.d/60-scedulers.rules
# set noop scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
pagal šią taisylę, udev nustatys deadline tvarkaraštį visiems diskams, kurie neturi besisukančių mechanizmų.
|
Tinkamai užpildžius /etc/fstab
failą ir atlikus reikiamus nustatymus, belieka paleisti kompiuterį iš naujo ir stebėtis pokyčiais:
# reboot
Kalba ir koduotė
Kaip ir dauguma šiuolaikiškų sistemų, Slackware palaiko daugelį kalbų, bei koduočių. Tarp jų ir lietuvių. Kalbos palaikymas susiveda į kelis dalykus. Tai koduotės palaikymas, šrifto parinkimas ir kalbos nustatymas.
Koduotė
Pagal nutylėjimą UTF-8 koduotė nenaudojama, jos naudojimą reikia įjungti kernelio lygyje. Diegimo metu, tai galima atlikti lilo nustatymų pagalba. Jau įdiegtoje sistemoje reikia redaguoti lilo.conf bylą.
Kalba
Norint pasirinkti lietuvių kalbą, keičiamos bylos /etc/profile.d/lang.sh
ir /etc/profile.d/lang.csh
. Šios bylos nurodo kuri kalba ir koduotė sistemoje naudojama pagal nutylėjimą.
# nano /etc/profile.d/lang.sh
Reikia užkomentuoti numatytą en_US
ir žemiau nurodyti lt_LT.UTF-8
, byla turėtų atrodyti taip:
# en_US is the Slackware default locale:
#export LANG=en_US
# 'C' is the old Slackware (and UNIX) default, which is 127-bit
# ASCII with a charmap setting of ANSI_X3.4-1968. These days,
# it's better to use en_US or another modern $LANG setting to
# support extended character sets.
#export LANG=C
# There is also support for UTF-8 locales, but be aware that
# some programs are not yet able to handle UTF-8 and will fail to
# run properly. In those cases, you can set LANG=C before
# starting them. Still, I'd avoid UTF unless you actually need it.
export LANG=lt_LT.UTF-8
Taip pačiai reikia pataisyti ir antrąją bylą:
nano /etc/profile.d/lang.csh
Turi atrodyti taip:
# en_US is the Slackware default locale:
#setenv LANG en_US
# 'C' is the old Slackware (and UNIX) default, which is 127-bit
# ASCII with a charmap setting of ANSI_X3.4-1968. These days,
# it's better to use en_US or another modern $LANG setting to
# support extended character sets.
#setenv LANG C
# There is also support for UTF-8 locales, but be aware that
# some programs are not yet able to handle UTF-8 and will fail to
# run properly. In those cases, you can set LANG=C before
# starting them. Still, I'd avoid UTF unless you actually need it.
setenv LANG lt_LT.UTF-8
Šriftas
Tam, kad sistema galėtų ne tik koduoti ir iškoduoti tekstą UTF-8
formatu, bet ir tvarkingai jį atvaizduoti, reikia naudoti ir UTF-8
palaikantį šriftą. Pagal nutylėjimą, su Slackware sistema pateikiamas puikus šriftas Terminus
. Kompiuteriui kraunantis, sistema naudoja numatytąjį šriftą arba tą, kuris nurodytas /etc/rc.d/rc.font
byloje. Norint naudotis Terminus šriftu, reikia nurodyti jį minėtoje byloje:
# nano /etc/rc.d/rc.font
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
setfont -v ter-v16n
Užsaugojus, bylai suteikiami vykdymo leidimai:
# chmod +x /etc/rc.d/rc.font
Nuo šiol krovimosi metu, sistema pasirinks Terminus
šriftą.
Įvestis
Kokia nauda iš galimybės matyti lietuviškas raides, jeigu nėra galimybės joms įvesti? Įvedimui, reikia parinkti lietuvišką klaviatūrą. Slackware krovimosi metu klaviatūros nustatymai ieškomi /etc/rc.d/rc.keymap
byloje. Norint įjungti lietuvišką klaviatūrą, ji tinkamai pataisoma:
# nano /etc/rc.d/rc.keymap
# Load the keyboard map. More maps are in /usr/share/kbd/keymaps.
if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys lt.map
fi
Nuo šiol tekstinėje aplinkoje, galima įvesti lietuviškas raides. Lietuviškos raidės yra ant įprastinių skaičių klavišų, tačiau norint jas įvesti, reikia laikyti nuspaudus dešinį Alt
(arba Alt_gr
) klavišą ir spustelėti norimą raidę skaičių eilutėje.
Naudotojai
Linux sistemose, skirtingai negu "vienintelėje" sistemoje, niekas nedirba kaip pagrindinis administratorius. Todėl vienas iš pirmutinių darbų po Slackware įdiegimo yra naudotojo susikūrimas. Jį galima atlikti dviem būdais: pasinaudojus Slackware skriptu, palengvinančiu šią užduotį, arba standartinės, visose Linux distribucijose prieinamos, komandos pagalba. Kuris būdas skaitytojui labiau tinkamas - nuspręs pats. O kol kas prisijungiame root naudotoju (kuriam reikėjo sugalvoti slaptažodį Slackware diegimo metu), kadangi paprasto naudotojo sukūrimui yra reikalingos sistemos administratoriaus teisės.
Standartinis būdas
Šiuo keliu dažniausiai eina patyrę Linux naudotojai, dėl galimybės nurodyti visas reikalingas nuostatas vienoje eilutėje, be to, šis būdas veiks bet kurioje Linux sistemoje. Tuo tarpu tik ką išsiritusiam Linux naujakailiui čia kur kas lengviau pridaryti klaidų. Žinoma, iš klaidų mokomasi, o jų nedaro tik tie, kas nemėgina. Taigi šiai užduočiai reikalinga komanda yra:
# useradd
Įvedus šią komandą be jokių parametrų, bus parodytas pilnas galimų parametrų sąrašas. |
Kaip pavyzdį Aului Batsiuviui sukursime naudotoją slapyvardžiu: kablukas, nustatysime prisijungimo komandinę eilutę į Bash
, priskirsime pagrindinei grupei: users
bei papildomoms grupėms:
-
audio
- leidžia naudotis audio aparatine įranga bei programomis -
video
- ledžia naudotis vaizdo plokštės video spartinimu, kaip vaapi -
plugdev
- leidžia prijungti išorines laikmenas (usb raktai, diskai, mp3 grotuvai ir t.t.) -
netdev
- leidžia naudotis tinklo aparatine įranga -
wheel
- šiai grupei leidžiama įgyti root naudotojo teises per sudo komandą -
games
- leidžia naudotis vaizdo plokštės 3D spartinimu -
cdrom
- leidžia naudotis cd/dvd įrenginiu -
power
- leidžia išjungti, perkrauti arba užmigdyti kompiuterį
Surašius šiam tikslui reikalingus useradd
komandos parametrus, komanda atrodys štai taip:
# useradd -g users -G audio,video,games,plugdev,netdev,cdrom,wheel,power -m -s /bin/bash kablukas
Panaudotos nuostatos:
-g - priskiria naudotoją pagrindinei grupei (šiuo atveju "users"). -G - priskiria naudotoją pagalbinėms grupėms (grupės išvardintos po -G, atskirtos kableliais) -m - sukurti namų katalogą numatytoje sistemos vietoje (šiuo atveju /home/kablukas) -s - nustatyti prisijungimo komandinę eilutę (šiuo atveju /bin/bash)
Naudotojas sukurtas, tačiau norint juo prisijungti, reikalingas slaptažodis, jį reikės užsidėti komandos passwd pagalba:
# passwd kablukas
Sistema paprašys įvesti slaptažodį, taigi sugalvokite ir įveskite. Patartina naudoti skaičių, bei DIDŽIŲJŲ ir mažųjų raidžių. Po slaptažodžio uždėjimo - turite savo naudotoją. Sveikinu!
Slackware būdas
Na o dabar aptarsime Slackware būdą, kuris išties yra skriptas, skirtas standartinės useradd
komandos supaprastinimui, paverčiant ją dialogu. Todėl kurti naudotojus adduser pagalba yra taip pat paprasta, kaip atsakyti į klausimus ir paspausti enter. Užduotis ta pati, Aului Batsiuviui kursime naudotoją slapyvardžiu: kablukas, priskirsime pagrindinei grupei: users
bei papildomoms grupėms: audio, video, games, plugdev, netdev, cdrom, power
ir nustatysime komandinę eilutę Bash
. Taigi pradedam, komandinėje eilutėje rašome:
# adduser
Sistema paprašys įvesti slapyvardį naujam naudotojui:
Login name for new user []:
Rašome kablukas ir spaudžiam enter. Sekantis prašymas bus įvesti naudotojo UID, daugeliui žmonių čia galima tiesiog spausti enter. Naudotojui bus priskirtas sekantis laisvas UID:
User ID ('UID') [ defaults to next available ]:
Toliau seka pagrindinės grupės parinkimas. Kaip matome, laužtuose skliaustuose įrašyta grupė users
. Tai reiškia, kad spustelėjus enter, naudotojui bus automatiškai priskirta grupė users
.:
Initial group [ users ]:
Reikės išvardyti pagalbines grupes. Šiuo atveju atskirti jas reikia tarpu, o ne kableliu:
: audio video games plugdev netdev wheel cdrom power lp
Namų aplanko parinkimas, daugelis gali tiesiog spausti enter:
Home directory [ /home/kablukas ]
Komandinės eilutės pasirinkimas, dauguma naudojasi Bash
, jei esate vienas iš jų, spaudžiam enter:
Shell [ /bin/bash ]
Galiausiai bus parodytas įvestų duomenų sąrašas ir reikės patvirtinti paspaudžiant enter arba atšaukti spustelėjus ctr+c
:
New account will be created as follows:
---------------------------------------
Login name.......: kablukas
UID..............: [ Next available ]
Initial group....: users
aAdditional groups: audio,video,games,plugdev,netdev,cdrom,wheel,power
Home directory...: /home/kablukas
Shell............: /bin/bash
Expiry date......: [ Never ]
This is it... if you want to bail out, hit Control-C. Otherwise, press
ENTER to go ahead and make the account.
Paspaudus enter, programa pasiūlys įvesti papildomą informaciją apie naudotoją, kaip vardas, pavardė, telefonas, buto numeris ir pan. Tačiau šie duomenys nėra būtini, galima tiesiog spausti enter. Kol galiausiai bus prašoma įvesti naują slaptažodį šiam naudotojui:
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Kaip ir naudojant standartinį būdą, slaptažodį turi sudaryti ne mažiau kaip 5 simboliai. Patartina, kad slaptažodis turėtų skaičių bei DIDŽIŲJŲ ir mažųjų raidžių. |
Štai ir viskas, prisijungimui prie Slackware sistemos galima naudoti sukurtą naudotoją.
Sudo
Sudo
programa leidžia įgyti root teises neįvedus root slaptažodžio. Patogu, kai reikia ką nors nustatyti, paleisti ar paredaguoti sistemoje, kas reikalauja root teisiu. Žinoma galima tieisog naudoti su
ir įvedus root slaptažodį tapti root naudotoju, o kai root teisių nebereikia, tiesiog pasinaudoti komanda exit
ir grįžti į prieš tai buvusį naudotoją. Jeigu sudo
nėra reikalingas, šį skyrelį galima praleisti.
Aukščiau priskyrėme naudotoją kablukas grupei wheel
, tačiau dar reikia aktyvuoti sudo
. Tam reikės paredaguoti /etc/sudoers
failą:
# nano /etc/sudoers
Tiesa, pagal nutylėjimą šis failas jau yra užpildytas, tereikia atkomentuoti (nutrinant "#" simbolį pradžioje eilutės) vieną iš dviejų eilučių pasirinktinai:
# %wheel ALL=(ALL) ALL
arba
# %wheel ALL=(ALL) NOPASSWD: ALL
Primosios atveju, naudotojai priklausantys grupei wheel galės įgauti root vartotojo teises pasinaudoję sudo komanda ir įvedę savo slaptažodį. Antroji eilutė leis atlitkti tą patį, tačiau, kaip sufleruoja pati eilutė, leis įgauti root teises neįvedus slaptažodžio.
|
Jeigu manote, kad tai saugu, galima atkomentuoti antrąją eilutę, šitaip sutaupysite vargo. Tačiau bet kas atsisėdęs prie jūsų kompiuterio galės daryti su jūsų sistema ką tik nori, vos įvedęs komandą sudo
.
Bashrc
Pagal nutylėjimą, prisijungus tekstinėje aplinkoje yra vykdomas ~/.bash_profile
, o ~/.bashrc
vykdomas grafinėje aplinkoje įsijungus Terminal programą. Kadangi dviejų failų palaikymas vargina, o dirbti tenka abiejuose aplinkose, tai naudoju ~/.bash_profile
kaip kreipinį į ~/.bashrc
, nes taip patogiau. Taigi, redaguojam ~/.bash_profile
:
$ nano ~/.bash_profile
Turinys paprasatas, tiesiog įsisavinam asmenines nuostatas iš ~/.bashrc
:
#~/.bash_profile
# Source bashrc
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Belieka susikurti ~/.bashrc
:
$ nano ~/.bash_profile
Kuris užpildomas turiniu:
#~/.bashrc
## Source global definitions
if [ -f /etc/profile ]; then
. /etc/profile
fi
# EXPORTS
#######################################################
export PS1="[\[\033[1;34m\w\033[0m]\n[\h \u]$ "
export EDITOR=/usr/bin/nano
export HISTFILESIZE=3000 # the bash history should save 3000 commands
export HISTCONTROL=ignoredups #don't put duplicate lines in the history.
alias hist='history | grep $1' #Requires one input
# Define a few Color's
BLACK='\e[0;30m'
BLUE='\e[0;34m'
GREEN='\e[0;32m'
CYAN='\e[0;36m'
RED='\e[0;31m'
PURPLE='\e[0;35m'
BROWN='\e[0;33m'
LIGHTGRAY='\e[0;37m'
DARKGRAY='\e[1;30m'
LIGHTBLUE='\e[1;34m'
LIGHTGREEN='\e[1;32m'
LIGHTCYAN='\e[1;36m'
LIGHTRED='\e[1;31m'
LIGHTPURPLE='\e[1;35m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color
# ALIAS'S OF ALL TYPES SHAPES AND FORMS ;)
#######################################################
alias ls='ls --color --group-directories-first -lh'
Nuo šiol prisijungę į tekstinę aplinką, bei atsidarę naują grafinį terminalą matysite štai tokią komandinę eilutę:
Laužtiniuose skliaustuose mėlynu šriftu žymimas esamas aplankas. Šiuo metu naudotojas savo namų aplanke, kurį žymi tildės ~ ženklas. Žemiau, baltu šriftu užrašytas kompiuterio vardas (šiuo atveju takuan), bei naudotojo slapyvardis (meisteris).
|
Abu šiuos failus galima pasidėti į /etc/skel
aplanką, tuomet naujai sukurtiems sistemos naudotojams .bash_profile
, bei .bashrc
bus pateikiami automatiškai.
Pravartu sukurti šiek tiek kitokius failus root
naudotojui, tuomet darbo metu galima aiškiai susivokti kokiomis teisėmis dirbama. root
naudotojui skirto ~/.bashrc
versija:
#~/.bashrc
## Source global definitions
if [ -f /etc/profile ]; then
. /etc/profile
fi
# EXPORTS
#######################################################
export PS1="[\[\033[1;31m\w\033[0m]\n[\h \u]# "
export EDITOR=/usr/bin/nano
export HISTFILESIZE=3000 # the bash history should save 3000 commands
export HISTCONTROL=ignoredups #don't put duplicate lines in the history.
alias hist='history | grep $1' #Requires one input
# Define a few Color's
BLACK='\e[0;30m'
BLUE='\e[0;34m'
GREEN='\e[0;32m'
CYAN='\e[0;36m'
RED='\e[0;31m'
PURPLE='\e[0;35m'
BROWN='\e[0;33m'
LIGHTGRAY='\e[0;37m'
DARKGRAY='\e[1;30m'
LIGHTBLUE='\e[1;34m'
LIGHTGREEN='\e[1;32m'
LIGHTCYAN='\e[1;36m'
LIGHTRED='\e[1;31m'
LIGHTPURPLE='\e[1;35m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color
# ALIAS'S OF ALL TYPES SHAPES AND FORMS ;)
#######################################################
alias ls='ls --color --group-directories-first -lh'
Failas ~/.bash_profile
tinka tas pats, kaip ir paprastam naudotojui.
Tinklas
Tikėtina, jog bus poreikis kompiuterio su Slackware sistema prijungimui prie kompiuterinių tinklų, bei interneto. Slackware sistemoje galima naudotis dviem būdais: NetworkManager
bei rc.inet1
skripu. NetworkManager
labiau tinkamas naudojantiems Slackware, kaip darbinę stotį (Desktop), kadangi tai labiau automatinis būdas, turintis patogų grafinį valdymą. Skriptais paprastai naudojamasi kuomet Slackware atlieka tarnybinės stoties funkcijas ir grafinė aplinka tiesiog neįdiegta. Slackware diegimo metu yra prašoma vieną iš šių būdų pasirinkti.
NetworkManager
Dar žinomas, kaip „paprastasis“ būdas. Kadangi juo naudojantis valdyti tinklo parametrus yra taip paprasta, kaip bet kur kitur. Tereikia suteikti vykdymo leidimą /etc/rc.d/rc.networkmanager
bylai:
# chmod +x /etc/rc.d/rc.networkmanager
Ir prisijungus prie grafinės aplinkos valdyti tinklą iš valdymo juostos. Tiesa, taip pat yra ir tekstinis valdymo įrankis nmcli
.
Nustatymai
Kadangi NetworkManager
tėra apvalkalas Linux tinklo įrankiams, galima šiek tiek įtakoti jų naudojimą redaguojant /etc/NetworkManger/NetworkManager.conf
bylą:
# nano /etc/NetworkManger/NetworkManager.conf
Galima nurodyti kuriuo DHCP klientu naudosis NM. Patariama naudoti dhclient
, tačiau susidūrus su problemomis galima pamėginti internal
, bei dhcpcd
.
[main]
plugins=keyfile
dhcp=dhclient
Skriptai
Skriptas atsakingas už tinklo valdymą yra /etc/rc.d/rc.inet1
, jo dėka tinklo plokštės paruošiamos darbui, nustatomi IP adresai, įjungiami DHCP klientai, uždedami aparatiniai adresai (MAC). Tiesa, minėti parametrai yra imami iš /etc/rc.d/rc.inet1.conf
bylos. Prisijungimui prie belielių tinklų naudojamas skriptas /etc/rc.d/rc.wireless
ir jo nustatymų byla /etc/rc.d/rc.wireless.conf
. DNS adresai nustatomi /etc/resolv.conf
byloje.
Valdymas
Pasinaudojus /etc/rc.d/rc.inet1
skriptu, galima įjungti/išjungti tinklą arba pavienes tinklo plokštes. Pavyzdžiui:
# /etc/rc.d/rc.inet1 restart
Išjungs ir vėl įjungs visas jame nustatytas tinklo plokštes. Atitinkamai galima naudoti start
, bei stop
komandas.
# /etc/rc.d/rc.inet1 eth0 restart
Ši komanda išjungs ir vėl įjungs tiktai eth0
plokštę.
Aukštas pasiekiamumas
Jeigu kompiuteryje yra dvi tinklo plokštės (arba daugiau), galima jas dubliuoti, apjungiant į vieną virtualią sąsają. Šiuo būdu vienai plokštei, ar maršrutizatoriaus prievadui pakibus, sugedus, taip pat nutraukus vieną iš LAN kabelių, kompiuteris nepraras ryšio. Savotiškas RAID tinklo plokštėms.
Įrankis
Tinklo plokščių apjungimui į vieną sąsają reikalingas nedidelis įrankis ifenslave
. Ši programėlė pateikiama kartu su Linux kernelio išeities kodu, tačiau reikia patiems ją susikompiliuoti ir pasidėti į tinkamesnę vietą (/sbin
). Tai atliekama šiais žingsniais:
# cd /usr/src/linux/Documentation/networking
# gcc -Wall -O -I/usr/src/linux/include ifenslave.c -o ifenslave
# cp ifenslave /sbin/ifenslave
Virtuali sąsaja
Virtuali tinklo sąsaja sukuriama pasinaudojus paleisties skriptu (rc.bond
), kurį reikia susikurti patiems:
# nano /etc/rc.d/rc.bond
Ir užpildyti turiniu:
#!/bin/sh
case "$1" in
'start')
echo "start bond0"
modprobe bonding mode=balance-rr miimon=100
modprobe tg3
ifconfig bond0 up
ifenslave bond0 eth0
ifenslave bond0 eth1
#You don't necesarily need to change the hardware address
#It will take it from the first hardware interface
ifconfig bond0 hw ether 4e:a8:be:c7:24:ec
;;
'stop')
ifconfig bond0 down
rmmod bonding
rmmod tg3
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
Tam, kad šis skriptas būtų įvykdytas kiekvieną kartą įjungus kompiuterį, reikia pridėti kelias eilutes į /etc/rc.d/rc.M
skriptą.
# nano /etc/rc.d/rc.M
Jame, virš rc.inet.1
eilutės reikia pridėti eilutes rc.bond
įvykdymui:
# Initialize the networking hardware.
# If script rc.bond is executeable then start it
if [ -x /etc/rc.d/rc.bond ]; then
. /etc/rc.d/rc.bond start
fi
if [ -x /etc/rc.d/rc.inet1 ]; then
. /etc/rc.d/rc.inet1
fi
Nuo šiol, kiekvienos įkrovos metu, sistema patikrins ar byla /etc/rc.d/rc.bond
turi vykdymo (x
) leidimą, jei turi – bus įvykdyta. Todėl belieka šį leidimą suteikti:
# chmod +x /etc/rc.d/rc.bond
Arba nuimti (nenorint, jog skirptas būtų vykdomas įkrovos metu):
# chmod -x /etc/rc.d/rc.bond
Nustatymai
Turim veikiančią virtualią sąsają bond0
, nuo šiol ji gali būti valdoma ir nustatoma lygiai taip pat, kaip ir įprastinės tinklo sąsajos. Redaguojant /etc/rc.d/rc.inet1.conf
bylą.
# nano /etc/rc.d/rc.inet1.conf
Tiesa, šioje byloje dar reikia pridėti sekciją skirtą `bond0´ sąsajai:
# Config information for bond0:
IFNAME[6]="bond0"
IPADDR[6]=""
NETMASK[6]=""
USE_DHCP[6]="yes"
DHCP_HOSTNAME[6]=""
Šaltiniai
-
Interface bonding in Slackware - Tinklapis anglų kalba, pagal kurį parengta informacija apie aukštą pasiekiamumą.
-
Interface bonding - Linux kernelio dokumentaciją apie galimas apjungimo (bonding) režimus (mode).
Grafinė aplinka
Pilnai įdiegta Slackware turi keletą grafinių aplinkų, kaip KDE
, XFCE
, fluxbox
, blackbox
, wmaker
, fvwm2
, twm
. Taigi, pasinaudojant xwmconfig
įrankiu, reikia pasirinkti, kuri iš sistemoje įdiegtų aplinkų bus naudojama:
$ xwmconfig
Iš pateikto sąrašo pasirinkus norimą aplinką, bus sugeneruotas ~/.xinitrc failas. Nuo šiol, pasinaudojus komanda startx bus paleista pasirinktoji grafinė aplinka.
|
Norint, kad Slackware startuotų į grafinę aplinką, reikia paredaguoti /etc/inittab
failą:
# nano /etc/inittab
Jame reikia nurodyti, ketvirtąjį paleisties lygmenį:
# Default runlevel. (Do not set to 0 or 6)
id:4:initdefault:
Programų Paketai
Kaip didžiosios daugumos kitų operacinių sistemų, taip ir Slackware standartinis programų rinkinys netinka visiems ir viskam. Ir tai nieko nuostabaus, nes kiekvienas žmogus kompiuteriu naudojasi vis kitaip ir vis kitokiems poreikiams. Todėl reikalingos įvairios pagalbinės programos ir būdai joms gauti, įdiegti ir šalinti, kai tampa nebereikalingos. Slackware naudojami .tgz/.txz programų paketai-archyvai. Kaip įsitikinsite vėliau, tai įgalina labai greitą ir paprastą programų diegimą: užtenka viso labo išskleisti paketą į šakninę direktoriją, o iškleidimo proceso palengvinimui yra įrankiai, kurie atlieka tai automatiškai.
O ką daryti, kai reikia pašalinti programas iš sistemos? Ne bėda, /var/log/packages
duomenų bazėje yra saugomi įrašai apie įdiegtus programų paketus, kiekvienam paketui priklausančius failus ir jų buvimo vietą. Todėl įvykdžius komandą, skirtą paketui šalinti, pagal įrašus šioje duomenų bazėje failai yra pašalinami iš sistemos. Vėl gi, paprasta ir švaru. Naudotojui belieka apsispręsti, ką daryti su programos konfigūracijos failais: palikti ar pašalinti.
Sandara
Paketas susideda iš dviejų dalių: programos failų, ir failų reikalingų Slackware paketų valdymo sistemai. Programų failai suspaudžiami taip, kad išskleidus paketą į šakninę / (root) direktoriją, patektų į atitinkamas direktorijas. Kiti failai, padedami į /install
aplanką, esantį pakete.
slack-desc
ir doinst.sh
failai yra dažniausiai sutinkami /install
aplanke. Šie failai paketo diegimo metu nėra išskleidžiami į failų sistemą. slack-desc
- paprastas tekstinis failas, kuriame laikomas programinės įrangos aprašymas, naudojamas paketų peržiūros metu. doinst.sh
- Shell skriptas kurio paskirtis - įvykdyti komandas ar atlikti sistemos pakeitimus, kurie negali būti padaryti koreguojant paketo turinį. Diegiant paketą, šis failas vykdomas pats paskutinis.
Slackware paketai sukuriami kompiliuojant išeities tekstus ir gautas programas talpinant į .tar.gz
paketą, kurio diegimo metu programa padedama į atitinkamą sistemos direktoriją. Linux operacijų sistema susideda iš daugybės tokių paketų. Visų jų kompiliavimas ir priežiūra, gali būti be galo sudėtinga ar net vargiai įmanoma veikla (patys galite įsitikinti pamėginę pasidaryti savo LFS (Linux From Scratch operacijų sistemą)). Todėl šio reikalo palengvinimui naudojami SlackBuild
skriptai, kuriuose surašytos komandos bei parametrai, reikalingi programos kompiliavimui bei paketo sudarymui. Turint SlackBuild
skriptą ir aukščiau minėtus slack-desc ir doinst.sh failus, gaunamas pilnai paruoštas diegimui Slackware paketas. Vos tik paleidus SlackBuild
skriptą, programos išeities tekstai automatiškai parsiunčiami, išskleidžiami, kompiliuojami. Gauta programa talpinama į paketą drauge su slack-desc
bei doinst.sh
ir gautas paketas padedamas /tmp
direktorijoje. Patogu, tiesa?
Valdymas
Slackware paketų valdymo sistema susideda iš viso labo keturių programų: installpkg
- įdiegti paketą, upgradepkg
- atnaujinti paketą, removepkg
- pašalinti paketą bei pkgtool
- ncurses meniu įrankis paketų peržiūrai ir valdymui. Šitokiu būdu, paketai gali būti įdiegiami, atnaujinami, bei šalinami iš vietinių laikmenų. Skirtingai nuo daugumos paketų valdymo sistemų, ši neseka ir nevaldo programų priklausomybių. Tai - naudotojo pareiga. Jis turi pasirūpinti, kad visos programai reikalingos bibliotekos bei pagalbinės programos būtų įdiegtos.
Be minėtų programų, egzistuoja ir dar keli paketų valdymo būdai.:
-
Slackpkg
-
SBopkg
Kai kurie iš jų nėra visiškai oficialiai palaikomi, tad naudodami juos, rizikuojate sistemos stabilumu, savo bei visuomenės gerove.
Slackpkg
Įrankis skirtas diegti paketams tinklu/internetu iš oficialių Slackware repozitorijų. Bet galimybės tuo nesibaigia. Slackpkg
taip pat sėkmingai moka sekti, parsiųsti ir įdiegti sistemos pataisymus, naujus paketus ir išvalyti Slackware nuo visų neoficialių paketų. Taip pat labai praverčia norint atnaujinti Slackware į naujesnę versiją bei diegiant minimalią sistemą. Be to, šis įrankis dirba taip patikimai, kad yra įtrauktas ir į oficialų Slackware paketų medį, todėl šiuo metu priskiriamas prie oficialių Slackware paketų valdymo įrankių.
SBopkg
Šis įrankis nėra skirtas darbui su oficialiais paketais, tačiau yra labai populiarus Slackware naudotojų tarpe. sbopkg
yra nedidelė programa - įrankis, skirtas SlackBuild
skriptų parsiuntimui iš Slackbuilds.org skriptų repozitorijos, kurioje yra laikomi visi neoficialūs SlackBuild
skriptai, skirti įvairiausioms programoms, kurios nepatenką į oficialų Slackware programų rinkinį. Kadangi SlackBuild
skriptai naudojami oficialių paketų gavimui, tai kodėl jų nepanaudojus ir papildomų programų paketams gauti?
Diegimas
Turint sustyguotą Slackware sistemą, galima pradėti pritaikyti ją savo poreikiams. Diegti papildomas programas, atsikratyti nereikalingomis programomis. Dar labiau optimizuoti sistemos greitaveiką, gražinti grafinę aplinką ir šitaip susikurti sau tobulą darbo ir pramogų įrankį!
Pirmiausia, reikėtų įsidiegti sbopkg
programėlę, kadangi, tai labai šaunus įrankis automatizuotai kompiliuoti ir diegti programas iš Slackbuilds.org repozitorijos. Parsisiunčiame ir diegiame sbopkg
:
# wget http://sbopkg.googlecode.com/files/sbopkg-0.37.0-noarch-1_cng.tgz && installpkg sbopkg-0.37.0-noarch-1_cng.tgz
Sinchronizuojame:
# sbopkg -r
Nuo šiol susiradę norimą programą (pvz.: slim
) Slackbuilds.org galėsite lengvai ją sukompiliuoti ir įsidiegti:
# sbopkg -i slim
Prieš tai rekomenduojama susirasti programą svetainėje ir perskaityti informaciją apie priklausomybes, patarimus ir pan. |
Daugiau informacijos apie sbopkg
galimybes:
$ info sbopkg
Taip pat yra keletas patikimų ir naudingų repozitorijų gataviems programų paketams:
Tarnybinė stotis
Dėl savo patikimumo, paprastumo, bei nesudėtingo palaikymo, Slackware dažnai naudojama kaip tarnybinė stotis (server). Tai įvairios paskirties aptarnaujantysis kompiuteris, į kurį kreipiasi kiti kompiuteriai (client) norėdami gauti tam tikros informacijos ar paslaugų, kurias suteikia tam tikros tarnybos. Labiausiai paplitusios yra http, mysql, ftp, bei samba tarnybos, tačiau tai tik maža dalis Slackware tarnybinės stoties galimybių.
DHCP tarnyba
Gana paplitęs Linux kompiuterių panaudojimo būdas yra serveris-maršrutizatorius. Tokie kompiuteriai ne tik aptarnauja jūsų svetaines, saugo jūsų failus, bet ir dalina internetą namams. O koks gi maršrutizatorius be DHCP paslaugos? Juk niekam nesinori suvedinėti IP adresų rankiniu būdu. Laimė, Slackware pagal nutylėjimą siūlo net dvi galimas DHCP tarnybas: dhcpd
, bei dnsmasq
. Pastaroji yra labiau DNS tarnyba su dhcpd galimybėmis, tuo tarpu dhcpd yra paprasta, maža, lengvai valdoma DHCP tarnyba visiškai UNIX dvasioje (rašyk programą vienai paskirčiai, kurią atliktų gerai).
Nustatymai
Dhcpd
nustatymai nuskaitomi iš /etc/dhcpd.conf
bylos. Pagal nutylėjimą ši byla esti visiškai tuščia. Visi galimi nustatymai su aprašymais yra surašyti pavyzdinėje byloje /etc/dhcpd.conf.example
. Kaip ir visose Slackware bylose, gausūs ir aiškūs komentarai padeda susigaudyti net ir neskaičiusiam dokumentacijos naudotojui. Taigi, peržiūrėję minėtą bylą, išsirinktus nustatymus dedame į /etc/dhcpd.conf
:
# nano /etc/dhcpd.conf
# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#
# Pagrindinis DHCP serveris vietiniame tinkle
authoritative;
# Nurodome tinklus ir potinklius kuriuose veiks
# DHCPD serveris. Taip pat laisvai išduodamų IP
# ruožą.
subnet 192.168.1.0 netmask 255.255.255.0 {
option broadcast-address 192.168.1.255;
option domain-name-servers 212.59.1.1;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
range 192.168.1.50 192.168.1.150;
default-lease-time 600;
max-lease-time 7200;
}
# Priskiriame tam tikrus IP adresus kompiuteriams pagal mac adresus.
# IP adresai turi būti už numatyto ruožo (range) ribų.
host direktorius {
hardware ethernet 00:21:6a:3b:35:6e;
fixed-address 192.168.1.2;
}
Paleistis
Norint paleisti dhcpd
, reikia susikurti paleisties skriptą /etc/rc.d/rc.dhcpd
:
# nano /etc/rc.d/rc.dhcpd
Užpildome šiuo turiniu:
#
# /etc/rc.d/rc.dhcpd
# This shell script takes care of starting and stopping
# the ISC DHCPD service
#
# Put the command line options here that you want to pass to dhcpd:
DHCPD_OPTIONS="-q eth1"
[ -x /usr/sbin/dhcpd ] || exit 0
[ -f /etc/dhcpd.conf ] || exit 0
start() {
# Start daemons.
echo -n "Starting dhcpd: /usr/sbin/dhcpd $DHCPD_OPTIONS "
/usr/sbin/dhcpd $DHCPD_OPTIONS
echo
}
stop() {
# Stop daemons.
echo -n "Shutting down dhcpd: "
killall -TERM dhcpd
echo
}
status() {
PIDS=$(pidof dhcpd)
if [ "$PIDS" == "" ]; then
echo "dhcpd is not running!"
else
echo "dhcpd is running at pid(s) ${PIDS}."
fi
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
;;
esac
exit 0
Nepamirškite nurodyti savo tinklo plokštės, kurios klausys dhcpd tarnyba. Eilutė: DHCPD_OPTIONS="-q eth1
|
Nustatome paleisties leidimą:
# chmod +x /etc/rc.d/rc.dhcpd
Dabar redaguojame failą /etc/rc.d/rc.local ir pridedame eilutes reikalingas rc.dhcpd paleidimui:
# nano /etc/rc.d/rc.local
# Paleidžiam DHCP tarnybą
if [ -x /etc/rc.d/rc.dhcpd ]; then
/etc/rc.d/rc.dhcpd start
f
Kompiuteriui kraunantis, bus patikrinta ar byla /etc/rc.d/rc.dhcpd
turi vykdymo leidimą, jei turi, dhcpd
tarnyba bus paleista.
Dabar galima paleisti dhcpd rankiniu būdu:
# /etc/rc.d/rc.dhcpd start
Taip pat galima stabdyti (stop), patikrinti būseną (status), paleisti iš naujo (restart). |
Štai ir viskas, galima mėgautis patogiu gyvenimu.
FTP tarnyba
Ftp tarnyba leidžia susikurti failų keitimosi stotį. Slackware pagal nutylėjimą pateikia vsftpd
, bei proftpd
ftp programas šiai tarnybai atlikti.
VSFTPD
Very Secure FTP Daemon - maža, lengva ir paprasta FTP tarnyba. Dėl savo paprastumo puikiai tinka asmeninėms, bei mažai naudotojų turinčioms FTP talpykloms.
Nustatymai
Vsftpd
darbo ypatumai nustatomi keičiant /etc/vsftp.conf
failo turinį:
# nano /etc/vsftpd.conf
Slackware sistemoje ši byla gausiai aprašyta, todėl patariu pasidaryti jos kopiją, o tada susikurti tuščią, švarią bylą:
# mv /etc/vsftpd.conf /etc/vsftpd.conf.orig && nano /etc/vsftpd.conf
Šio failo turinys, nurodantis drausti viešus prisijungimus, leisti vietinių naudotojų prisijungimus, bei įjungti žurnalo vedimą į /var/log/vsftpd.log
bylą:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
nopriv_user=ftp
ftpd_banner=Šaunusis FTP Serveris!
chroot_local_user=YES
ls_recurse_enable=YES
listen=NO
pasv_promiscuous=YES
pasv_enable=YES
pasv_min_port=62000
pasv_max_port=64000
pasv_addr_resolve=NO
pasv_address=jūsų serverio IP
Reikės pasirūpinti, kad prievadų ruožas nuo 6200 iki 6400 būtų atidarytas (arba peradresuotas) vsftpd tarnybinei stočiai.
|
Paleistis
Slackware sistemoje, vsftpd
, bei proftpd
tarnybos paleidžiamos per inetd
tarnybą. Atkomentuojam vsftpd
eilutę /etc/inetd.conf
byloje:
# nano /etc/inetd.conf
# Very Secure File Transfer Protocol (FTP) server.
ftp stream tcp nowait root /usr/sbin/tcpd vsftpd
Paleidžiam VSFTPD:
# /etc/rc.d/rc.inetd start
Naudotojai
Jeigu yra nustatymas local_enable=YES
tuomet vsftpd
nuskaito /etc/passwd
, reiškia jungtis prie FTP tarnybos gali visi šios sistemos naudotojai.
Kūrimas
Šiokio tokio saugumo vardan, būtų protinga kurti naudotojus be privilegijų:
# useradd -b /srv/ftp -m -k /etc/fskel -s /bin/false -N -g ftp petras
Bus sukurtas naudotojas petras, kurio komandų eilutė yra fiktyvi (-s /bin/false), namų aplankas /srv/ftp/petras (-b /srv/ftp -m), į namų aplanką perkeliamas turinys iš /etc/fskel . Naudotojas priskiriamas ftp grupei (-g ftp), o naudotojo grupė petras nesukuriama (-N).
|
Patogu įtraukti šią komandą į apvalkalą, pridedant alias eilutę į /root/.bashrc
bylą:
# alias ftpuseradd='useradd -b /srv/ftp -m -k /etc/fskel -s /bin/false -N -g ftp'
Nuo šiol, ftp naudotojus galima kurti tiesiog ftpuseradd
komandos pagalba:
# ftpuseradd jonas
Sukurtiems naudotojams reikia uždėti slaptažodžius:
# passwd jonas
Tam, kad vsftpd
suprastų fiktyvius naudotojus, reikia pridėti /bin/false
į apvalkalų sąrašą:
# nano /etc/shells
/bin/bash /bin/tcsh /bin/csh /bin/ash /bin/ksh /bin/zsh /bin/false
Valdymas
Vsftpd
palaiko ir naudotojų valdymo galimybę. Galima sudaryti sąrašą naudotojų, kuriems leidžiama, arba neleidžiama naudotis ftp tarnyba. Pirmiausia, reikia įjungti šį valdymą vsftpd.conf
byloje:
# nano /etc/vsftpd.conf
Reikia pridėti eilutes userlist_enable=YES
, bei userlist_deny=NO
userlist_enable=YES
userlist_deny=NO
userlist_deny=NO nurodo, jog sąraše esantys naudotojai, bus tie, kuriems leidžiama naudotis ftp tarnyba. Pakeitus reikšme į YES, sąrašas tampa tų, kuriems neleidžiama naudotis ftp tarnyba
|
Belieka sukurti bylą vsftpd.user_list
ir joje įrašyti naudotojus, kuriems bus leista jungtis prie ftp tarnybos:
# nano /etc/vsftpd.user_list
jonas petras ftp aulas batsiuvys
Šifravimas
Turint SSL liudijimą galima šifruoti ftp prisijungimus, bei srautą. Tereikia įjungti šią paslaugą vsftpd
nustatymuose, pridedant SSL nuostatas:
# nano /etc/vsftpd.conf
# SSL šifravimas
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=NO
ssl_sslv2=NO
ssl_sslv3=YES
rsa_cert_file=/etc/liudijimai/liudijimas.pem
rsa_private_key_file=/etc/liudijimai/liudijimas.key
ssl_ciphers=HIGH
ssl_request_cert=NO
require_ssl_reuse=NO
Užrašai
Vienoda pelytės išvaizda QT programoms GTK terpėje
Sistemos mąstu:
# mkdir /usr/share/icons/default
# nano /usr/share/icons/default/index.theme
Naudotojo mąstu:
$ mkdir ~/.icons/default
$ nano ~/.icons/default/index.theme
index.theme turinys:
[Icon Theme]
Inherits=HaikuHand # arba jūsų temos pavadinimas
Naudingos nuorodos
Naudingos nuorodos anglų kalba, apie Slackware operacijų sistemą:
-
SlackDocs - Oficiali wiki svetainė, kurioje gausu dokumentacijos, gidų ir naudingos informacijos.
-
LQ Slackware - Aktyviausias Slackware forumas, čia didžiausia tikimybė rasti pagalbos įvairiais Slackware kasdienybės klausimais.
-
SlackBook - Slackware knyga, rekomenduojamas skaitinys ne tik šviežiam Slackware naudotojui, bet ir žmogui, norinčiam artimiau susipažinti su Linux sistemomis.
-
SlackBuilds - SlackBuild skriptų repozitorija, puikus papildomos programinės įrangos šaltinis.
-
Third party package managers - Plačiau apie neoficialias paketų valdymo sistemas.