Archives for the ‘HOWTO’ Category

Pakotņu maskēšana ar dkpg

Gentoo Linux ir tāda laba lietā kā maskēšana - varam atzīmēt, ka šo programmu nevēlamies atjaunināt. Pie turpmākajām sistēmas atjaunināšanām šādi atzīmētās programmas netiks aiztiktas.

Radās nepieciešamība to pašu izdarīt uz Debian/Ubuntu sistēmām. dpkg pakotņu pārvaldniekā ir iestrādāta šāda funkcija un to sauc par ‘hold’ (pieturēt/aizturēt).

Lai uzstādītu ‘hold’ pazīmi kādai pakotnei, jāzina tās precīzs nosaukums. Lai to noskaidrotu var izmantot vai nu Synaptic Package Manager vai, piemēram, ‘apt-cache search’. Teiksim, ja ir vēlme turpmāk uz jaunāku versiju neatjaunināt Mozilla Firefox (nevaru iedomāties kāpēc tā būtu jādara, tomēr piemēra pēc izmantošu Firefox), jārīkojas sekojoši.

Piezīme: pirms set-selections un get-selection ir divas domuzīmes, Wordpress veiksmīgi tās pārveido par vienu, toties garu domuzīmi.

Mozilla Firefox pakotne saucas ‘firefox’. Uzstādām ‘hold’ pazīmi pakotnei ‘firefox’:

echo firefox hold | sudo dpkg –set-selections

Lai pārliecinātos, ka viss veikts korekti, var izmantot dpkg –get-selections:

dpkg –get-selections | grep firefox

Ja viss kārtībā, tad izvadam jāsatur sekojošu rindiņu:

firefox                                         hold

Lai noņemtu ‘hold’ pazīmi, uzstādām pazīmi ‘install’ (pēc noklusējuma pakotnēm uzstādīta ‘install’ pazīme):

echo firefox install | sudo dpkg –set-selections

To visu es veikli uzzināju #ubuntu-server IRC kanālā irc.freenode.net serverī.

Izmantošu iespēju, lai atgādinātu, ka irc.freenode.net ir arī kanāls ar nosaukumu #ubuntu-lv, kurā var uzzināt interesantas lietas par Ubuntu no vietējiem lietotājiem.

The Wonders of SSH jeb SSH tuneļi

Jau kādu brīdi esmu ikdienā pasācis izmantot SSH piedāvātās iespējas veidot drošos tuneļus. Pamatā izmantoju 2 lietas: Socks Proxy un Port Forwarding. Nedaudz pastāstīšu par katru no tām.

1) Socks Proxy. Pieņemsim, ka esam nonākuši kādā publiskā, iespējams, nedrošā, piemēram kādā bezvadu tīklā kaut kur parkā uz soliņa un vēlamies palasīt savus e-pastus vai padarīt ko citu, tomēr nevēlamies, lai skarbajiem vīriem, kuri sēž uz blakussoliņa tiktu dota iespēja bez īpašām problēmām pārtvert un apskatīt mūsu pārsūtīto informāciju. Šādā gadījumā talkā nāk SSH Socks Proxy - mēs izveidojam drošo SSH savienojumu ar kādu sev pieejamu SSH serveri un visu datu plūsmu laižam caur to, tādējādi informācija līdz mūsu SSH serverim tiek sūtīta šifrētā veidā.

Kā to paveikt?

ssh -D 9999 user@1.2.3.4

Pārlūkprogrammā (piem. Firefox) pie tīkla iestatījumiem uzliekam Socks Proxy, adrese: localhost, ports: 9999.

Ff

MAC OS X, piemēram, nodrošina sistēmas līmenī iestatīt Socks Proxy, līdz ar to arī pārējās programmas, piem. e-pasta klients izmantos izveidoto Socks Proxy.

Macsocks

ja izmantojam PuTTY, tad jārīkojas sekojoši: SSH -> Tunnels, ievadām vēlamo portu, piem. 9999, izvēlamies Dynamic un Add. Tālāk slēdzmies klāt pie SSH servera kā parasti.

Putty

2) Port Forwarding jeb pieslēgvietu pārsūtīšana. Man, piemēram, pie darba datora vienīgā pieejamā pieslēgvieta ir SSH, pie tam, tā pieejama tikai no manas mājas IP adreses. Ko darīt gadījumos, ja vēlos pieslēgties datoram ne no mājām vai arīja vēlos pieslēgties grafiski nevis tikai izmantojot SSH? Šeit talkā nāk pieslēgvietu pārsūtīšana.

Piemēram, ja mums uz attālinātā datora darbojas ne vien SSH serveris, bet arī VNC, kurš nodrošina grafisku piekļuvi. Parasti VNC darbojas uz 5900 porta. Lai pārsūtītu attālinātā datora 5900 portu uz lokālo datoru varam izmantot sekojošas pieejas:

ssh -L 5900:localhost:5900 user@1.2.3.4

ar šo mēs norādām, ka pieslēdzoties pie lokālā datora 5900 porta, visa informācija izmantojot drošo SSH savienojumu tiks pārsūtīta uz attālinātā datora 5900 portu. Pēc tam varam slēgties klāt pie VNC, piemēram,

vncviewer localhost:5900

Ja izmantojam PuTTY, tad jārīkojas sekojoši: SSH -> Tunnels, source port: 5900, destination 127.0.0.1:5900, add.

Putty2

Starp citu, pieslēgvietu pārsūtīšana strādā arī, ja “ķēdē” ir vairāki datori. Kā jau minēju, savam darba datoram varu pieslēgties tikai izmantojot SSH, pie tam tikai no konkrētas IP adreses. Ja neatrodos mājās, tad šo procesu veicu divreiz, t.i. vispirms pieslēdzos mājas datoram ssh -L 5900:localhost:5900 user@1.2.3.4 un pēc tam no attālinātā datora slēdzos pie nākamā ssh -L 5900:localhost:5900 user@2.3.4.5. Pieslēdzoties pie localhost:5900 informācija vispirms tiek pārsūtīta uz 5900 portu uz datoru 1.2.3.4, bet pēc tam no 1.2.3.4 uz 2.3.4.5.

Cieto disku klonēšana

Hdd
Kādu laiku nebija nācies pārklonēt nevienu cieto disku, tādēļ veiksmīgi aizmirstas visas vecās metodes, nolēmu izmēģināt kaut ko jaunu. Ubuntu dzīvajā (kurš vienlaicīgi ir arī uzstādīšanas) diskā jau kādu laiku ir partīciju pārvaldnieks GParted (Gnome Partition Editor), kurš kā jau nosaukums liek manīt, spēj ļoti veiksmīgi pārvaldīt partīcijas, mainīt to izmērus, apvienot, dalīt utt. Spēj strādāt ar plašu klāstu failu sistēmām (tai skaitā NTFS, FAT, EXT2/3 u.c.), nesabojājot tajās esošos datus.
Biju manījis, bet ne reizi nebija mēģināta GParted funkcija Copy. Nolēmu, ka šī būs tā reize. Datorā tika ievietoti 2 cietie diski (klonējamais un jaunais) un kompakt disku lasītājs, kurā tika ievietots Ubuntu dzīvais disks.

Ar GParted uz jaunā diska tika izveidotas vēlamās partīcijas ar vēlamajiem izmēriem. Parslēdzamies uz veco disku, izvēlamies partīciju un atzīmējam, ka vēlamies to kopēt, pārejam uz jauno disku izvēlamies mērķa partīciju un paste. Principā tas arī viss. Tālāk GParted pats tiek galā ar visu. Manā gadījumā jaunajam cietajam diskam partīcijas bija lielākas, GParted veiksmīgi pārkopēja datus uz jauno disku un saprata arī to, ka tajā ir vairāk vietas nekā vecajā. Nemēģināju kopēt otrādāk - t.i., ka vecā partīcija ir lielāka par jauno. Tomēr tam nevajadzētu sagādāt problēmas, kamēr vien vecajā partīcijā datu apjoms ir mazāks nekā jaunās partīcijas izmērs.

Šādā veidā var pārkopēt visas partīcijas, tomēr MBR (Master Boot Record) pārkopēts netiek, ja tas netiks pārcelts uz jauno disku, tad sistēma nevarēs iestartēties. Šeit talkā nāk viens no Linux universālākajiem rīkiem, proti, dd.

MBR cietajā diskā glabājas tā pirmajos 446 baitos, tāpēc mums tie jāpārkopē uz jauno cieto:

dd if=/dev/hda of=/dev/hdb bs=446 count=1

pieņemot, ka vecais disks ir /dev/hda un jaunais ir /dev/hdb.

Principā ar šo vajadzētu pietikt veiksmīgai cietā diska pārklonēšanai.

PS. Starp citu, ja nepieciešams izveidot pilnu cietā diska kopiju gadījumiem, kad tas sabojājas, tad var izmantot jau iepriekšminēto rīku dd:

dd if=/dev/hda of=faila_nosaukums bs=8192

Ar šo komandu tiks nokopēts VISS cietā diska saturs (nešķirojot tukšo vietu no aizpildītās) un aizņems tieši tikpat daudz cik ir cietā diska izmērs. Protams, var pēc tam saarhivēt vai sadalīt pa vairākiem failiem un ierakstīt diskos, bet tas jau ir cits stāsts.

Ubuntu nedienas ar Python2.5 un Beryl 2.0 Beta

Vakar mēģinot atjaunināt savu Ubuntu 6.10 saskāros ar to, ka jaunajai beryl 2.0 Beta versijai nepieciešams Python2.5, tomēr dīvainā kārtā python2.5-minimal ziņoja par kļūdu uzstādīšanā un neuzstādījās. Tā rezultātā, protams, arī izpalika beryl jaunākās versijas iemēģināšana.

Risinājums izrādījās ne pārāk sarežģīts, tomēr arī ne pārāk patīkams. Vienā no forumiem izlasīju, ka šī esot tipiska problēma pagaidām testa režīmā esošajai Feisty Fawn versijai un risinājums ir sekojošs:

  • atinstalēt python2.4 (jā tieši tā, python2.4, līdz ar to atinstalējot arī ļoti daudz Ubuntu esošo programmu)
  • uzstādīt python2.5
  • uzstādīt ubuntu-desktop (t.s. meta-paku, kura uzstāda visas programmas, kas ir noklusētajā Ubuntu instalācijā)

attiecīgās komandas katrai no šīm darbībām:

  • sudo apt-get remove python2.4
  • sudo apt-get install python2.5
  • sudo apt-get install ubuntu-desktop

Beryl 2.0 beta ir jūtami uzlabots. Pārtaisīts beryl-settings vizuālais izskats un, manuprāt, ļoti prātīgi sakārtots. Beidzot var mainīt darba virsmu daudzumu - šis patiesībā ir ne tikai praktisks ieguvums, bet arī vizuāli pievilcīgs, jo atkarībā no izvēlētā darba virsmu skaita, tiek veidots daudzstūris ar tādu pašu šķautņu skaitu, t.i. 3 darba virsmu gadījumā tas ir trijstūris, 4 - četrstūris, utt. 2 darba virsmu gadījumā tā ir plakne.

Šķiet, ka šī problēma nebija pārāk izplatīta, tomēr pēc Beryl 2.0 beta uzstādīšanas es atkal varu brīvi samazināt un palielināt logus, dīvainā kārtā līdz šim es varēju tos izmantot vai nu noklusētajā izmērā vai maksimizētus.

OpenOffice.org Text To Columns

Izrādās, ka OpenOffice.org (NeoOffice manā gadījumā) nav daudziem tik ierastās MS Excel f-jas Text-to-columns, toties pateicoties iespējai veidot spraudņus labi cilvēki šo iespēju ir piesprauduši:

Unlike Microsoft Excel, OpenOffice.org 2.0 Calc doesn’t have a built-in “text to columns” feature, which is hard to live without once you’re used to it. OpenOffice.org has an extensible add-on architecture, and someone has written a “text to columns” add-on, but installation may be confusing. In this article I’ll explain how to install the add-on.

Sīkāk par uzstādīšanu un izmantošanu Xaprb.com


Technorati Tags:

RAID5 grow

Pirms pāris dienām uzzināju patīkamu lietu - sākot ar Linux kernel 2.6.17 versiju Software RAID5 iespējams pievienot jaunas ierīces, t.i., to paplašināt. Līdz šim tas nebija iespējams, vienīgais variants bija nokopēt visus datus, pievienot jaunās ierīces (diskus) un veidot RAID5 no jauna, pēc tam atkopējot atpakaļ esošo informāciju.

Nepieciešamie priekšdarbi ir veikti un vakar tika uzstādīta 2.6.19 kodola versija, tik tālu viss izskatās korekti. Vienīgi, tā vai tā, drošības pēc vajadzētu uztaisīt rezerves kopiju un tad mēģināt pielikt vēl kādu disku jau pie esošā masīva.

Prasības ir šādas:

  • Linux kernel >= 2.6.17 kompilētam ar CONFIG_MD_RAID5_RESHAPE=y parametru (un, protams, ar RAID5 atbalstu)
  • mdadm >=v. 2.4

Pieņemot, ka sākumā ir 4 RAID5 iekārtas un klāt tiek pievienota viena:

  • mdadm –add /dev/md0 /dev/hde1 (pievienojam, kā ’spare’)
  • mdadm –grow /dev/md0 –raid-devices=5

procesa laikā var paskatīties progresu - cat /proc/mdstat

Kad process paveikts, jāpalielina failsistēma, lai tā izmantotu jauno iekārtu:

  • fsck.ext2 /dev/md0 (pirms palielināšanas pārbaudām vai viss ok)
  • resize2fs /dev/md0

Teorētiski tie ir visi nepieciešamie soļi, kas nepieciešami, lai paplašinātu esošu RAID5, pie tam, ja viss ok, tad nekas no esošajiem datiem netiek zaudēts, tomēr, drošības pēc domāju izveidot pilnu rezerves kopiju. Tuvākajā laikā plānoju realizēt šo pasākumu un tad jau ziņošu par rezultātiem.

Papildus informāciju par šo var smelties:
scotgate.org
RAID5 grow success

S.M.A.R.T.

Wikipedia.org par S.M.A.R.T. saka sekojošo:

Self-Monitoring, Analysis, and Reporting Technology, or S.M.A.R.T., is a monitoring system for computer hard disks to detect and report on various indicators of reliability, in the hope of anticipating failures.

Tātad, S.M.A.R.T. ir sistēma, kura tiek iebūvēta cietajos diskos jau vairākus gadus, tā paredzēta, lai novērotu un potenciāli paredzētu cieto disku bojāeju.

It kā es zināju par šādas sistēmas eksistenci, tomēr nebiju pievērsis tai īpašu vērību, tomēr pateicoties tam, ka pagājušajā nedēļā man rokās nonāca cietais disks, kurš “iespējams ir bojāts”, sāku pētīt iespējamos variantus, kā varētu noteikt, vai tas tiešām ir bojāts, jo it kā strādā normāli, tomēr ik pa brīdim no datora korpusa nāk laukā dīvainas klabošas skaņas un tajos brīžos novērojamas arī anomālijas programmatūras darbībā, tādēļ visas aizdomas krita uz cieto disku. Testēju šo vairākas dienas, tomēr nekādu vainu nekonstatēju un nolēmu, ka šim tiks dota otrā iespēja, tomēr vajadzētu tam diskam regulāri sekot līdzi.

Te arī nonākam pie stāsta galvenās sadaļas - kā novērot cietā diska darbību ar S.M.A.R.T? Viss nepieciešamais atrodams programmiņā, kura saucas smartmontools (pieejama Linux, MAC OS X un arī Windows).

Debian/Ubuntu sistēmās:

sudo apt-get install smartmontools

Galvenās komandas:

  • smartmontools -i /dev/hda - lai noskaidrotu cietā diska modeli, tā serial nummuru, utt.
  • smartmontools -H /dev/hda - lai pārbaudītu tā veselību (rezultāts: PASSED vai FAILED)
  • smartmontools -l error - lai apskatītos “error” jeb kļūdu žurnālu un noskaidrotu vai kādreiz ir bijušas kļūdas
  • smartmontools -A /dev/hda - lai noskaidrotu informāciju par cietā diska atribūtiem

(šādā veidā tās ir domātas izpildīšanai Linux vidē, MAC OS X disku nosakumi ir /dev/disk0 /dev/disk1, Windows gadījumā /dev/hda vietā jāraksta ‘hda’, lai noskaidrotu informāciju par Primary Master disku)

Pēdējā komanda sniedz informāciju par dažādiem cietā diska atribūtiem un to vērtībām:

Smartmontools

Katram atribūtam ir vērtība (VALUE) un slieksnis (THRESHOLD). Ja vērtība ir mazāka vai vienāda ar slieksni, tad tiek uzskatīts, ka ir šis atribūts ir “cietis neveiksmi” (FAILED). Katram atribūtam ir tips (TYPE), kurš nosaka to kādas sekas var būt, ja tas cieš neveiksmi. Old_age - atribūts ir nokalpojis paredzēto mūžu (tas vēl nenozīmē, ka tas nav spējīgs turpināt darbu), Pre_fail - ja atribūts ar tipu Pre_fail cieš neveiksmi, tad tiek paredzēts, ka tuvāko 24h laikā disks sabojāsies. Tātad labākajā gadījumā, mums ir 24h, lai nokopētu visu informāciju un atvadītos no diska. Tomēr katru dienu ar rokām pārbaudīt un pētīt vērtības nebūt nav ērti, tāpēc talkā nāk programmiņa smartd (iekļauta smartmontools pakotnē).

Smartd konfigurācija glabājas /etc/smard.conf failā. Iesākumam par katru disku var ievadīt sekojošu rindiņu:

/dev/hda -S on -o on -a -I 194 -m mans@e.pasts

  • /dev/hda ir disks, kuru vēlamies novērot
  • -S on - iespējo atribūtu automātisku saglabāšanu
  • -o on - iespējo automātisku testu veikšanu ik pēc dažām stundām, lai pārbaudītu vai diskā nav radušies defekti
  • -a - lai novērotu visus diska atribūtus
  • -I 194 - lai ignorētu 194. atribūtu jeb temperatūru, citādi nāksies saņemt e-pastu par katru temperatūras maiņu
  • -m - e-pasta adrese, uz kuru sūtīt ziņojumus par izmaiņām

Debian/Ubuntu sistēmām:
/etc/default/smartmontools datnē jāieraksta:

start_smartd=yes

varam startēt smatmontools:

sudo /etc/init.d/smartmontools start

Turmpmāk vajadzētu saņemt informāciju par cietajiem diskiem un to stāvokli uz e-pastu.

Plašāku informāciju par S.M.A.R.T., smarmontools un to pielietošanu var smelties sekojošās vietnēs:
smartmontools Home Page
Monitoring Hard Disks with SMART
Wikipedia.org - Self-Monitoring, Analysis, and Reporting Technology