.mrt memo

tail -f /dev/mind > blog

Archive for the ‘linux’ Category

Mis Linuxi distro sobib esimesele “Netbookile” – EEE PC 701 2G Surf?

with 2 comments

Eesmärk: brauseriga ja Skype chatiga pisiraal.

Sissejuhatus

Hea sõber rääkis, et tema EEE PC tarkvara on nagu natuke vildakas – Wifi ei tööta hästi ja üldse tarkvara on vana jne. Tegelikult seal olnud Xandros jooksis täitsa korralikult ning Firefox, Skype ja tekstiredaktor töötasid kah üpris hästi. Kuid tõesti 3+ aastat pole sellele raalile ühtki uuendust tulnud ning Wifi kohati jukerdas.

Haarasin võimalusest ning võtsin asja käkerdada. Uurisin seda Algupärast Pisiüsapuutrit [tm] aastast 2007 – Asuse algupärane 7 tollise ekraaniga EEE PC oli ju uue arvutiklassi esimeseks, isendiks. Sündisid netbookid. Tõepoolest, sellest enam madalama konfiguratsiooniga kasutuskõlblikku raali annab otsida – konkreetne isend oli 701 2G surf, milles 2G ei tähistanud RAMi hulka nagu võiks arvata, vaid kogu salvestuspinda sisemisel SSD-l, millest omajagu suuremosa on OSi enda poolt kasutuses. Sealt siis ka pisike väljakutse.

Alguses ma püüdsin sinna installida optimistlikult Ubuntu 10.04 Netbook Remixi ja 11.04 Desktop (väidetavalt 11.04 puhul on Desktop ja Netbook osa kokku liidetud samasse ISOsse) mõne aja eest välja tulnud Natty Narwhali. Kui kolmas kord ka konkreetselt EEE PC jaoks mõeldud EasyPeasy (http://www.geteasypeasy.com/ Ubuntu derivaat) peale ei läinud, hakkas isegi minu pikaldane mõistus lõppeks aimama konspiratsiooni ning puurisin interneedust pisut põhjalikumalt. Selgus, et kolm nimetatud esimest katset olid mõeldud läbi kukkuma sel lihtsal põhjusel, et selle neetud rüppari <2GB SSD lihtsalt ei suuda neid purikaid ära mahutada. Tavalisele raalile installides ei mõtlegi sellele, palju OS ruumi võiks võtta.

Mõistagi installer selle kohta mingit mõistlikku veateadet näidata ei suutnud, kuid olles palju doktor Maja vaadanud, olin varustatud teatavate kogemustega deduktsiooni vallas, mis meditsiinimaailmas oleks võrdunud ninaverejooksu ja kerge sügeluse tulemusena kopsuvähi diagnoosimisega. Siin on vananenud ja ebatäielik, kuid õpetlik tabel erinevatest EEE PC Linuxi variatsioonidest. Eriti kasulik on “Hard Drive Used by Install (in MB)” http://wiki.eeeuser.com/overview.html Vööd koomale tõmmates hakkasid ka paigaldused pisut edukamalt minema, millest allpool ka pisikese kokkuvõtte teen.

Tööriistakast

UNetBootin http://unetbootin.sourceforge.net/ – Selline hindamatu utikas kirjutab distro ISO faili USB mälupulgale alglaaditavaks live-distroks. Seda kasutasin kõikidel juhtudel ISO USB pulgale kirjutamiseks. Töötab nii Linuxis, Windowsis kui Macis.

Teine tähelepanek on EEE PC pisikeste SSD ketaste eluiga, mille pikendamiseks soovitatakse netiks kasutada ext2 (mitte-žurnaalivat) failisüsteemi. Samuti soovitatakse partitsioneerimisel sisse lülitada lipuke “noatime” (ära uuenda igal pöördumisel inode’i poole pöördumise aega). http://www.freesoftwaremagazine.com/columns/asus_eee_pc_part_three_alternative_distros

Kolmas kummaline tähelepanek oli SD kaart, mis ei tohi distro installimisel sees olla, kuna live-distro ei taha sel juhul üles tulla. Veider, kuid ei viitsinud teemasse süveneda.

Proovitud distrod

Puppeee http://puppeee.com/web/

Vilgas Puppy Linuxi variant, lippas EEE PC peal sama kiirelt kui lõpuks peale jäänud Lubuntu. Algajaile tõenäoliselt hirmutavalt kole ja keeruline. Repo ei tundunud just ka kõige uuema tarkvaraga hiilgavat (Skype 1.1).

CrunchBang ehk #!

http://crunchbanglinux.org/ Debiani derivaat. Pärast paigaldust käivitub abivalmis skript, mis võimaldab veel hunniku tarkvara (mitte) installida (modifitseeritud Liquorix kernel http://liquorix.net/, Java, OpenOffice, CUPS printimise tugi), milleks 2G peal kahjuks ruumi eriti ei jagu. Peaaegu kohe on mul 2GB täis ning ma olen installinud ainult pooled algusskripti pakutavatest rakendustest. 2G jääb ikka väheks. 4GB<= ja nõrgema riistvara puhul oleks tegemist päris omanäolise kerg-distroga. Mingit menüünupukest töölaual pole, kõik avaneb parema kliki alt. Töölaual on taustaks süsteemi kohta infot kuvav applet (sealt näed, kuidas vaba kõvakettapind väheneb). VLC mängib videod, viikingipildiga Thunar (XFCE filemanager) võimaldab faile hallata, Chromium brausib veebi. Kuid nagu ma ütlesin, jääb 2GB ikkagi väheks. Vaatame edasi.

Xubuntu

Installimisel sai korduvalt tala, kuid kuidagi manuaalselt pakke paigaldades (Aptitude) sain ikka käima. Selleks ajaks oli 94% 2GB kasutatud juba. Kõiksugused viperused ja veidrused andsid tunnistust distro mitte just kõige paremast kvaliteedist. Ntx menüüs on kaks eraldi valikut: “Internet -> FIrefoxi veebibrauser” ja “Veebibrauser”. Käivitades Firefoxi, ütleb et too polevat vaikebrauser. Käivitades “Veebibrauseri” käivitub Firefox. Seejärel tegin ühe AVI faili lahti, mida avama oli valitud Parole Media Player. Loomulikult teavitas ta mind codecite ühildamatusest.

Minu jaoks jääb tänaseni arusaamatuks, miks suuremad distrod üritavad mingit Totemi või Mplayeri rida ajada ning mingid “oma” videopleiereid kasutada. VLC on parim ja jääb parimaks nii töökindluse kui koosvõime koha pealt.

WTF *buntu?! Kuna ruumipuuduse tõttu jooksis jälle asi kokku, siis ei viitsinud edasi näppida. Igaljuhul Xubuntu on mulle taaskord pettumuse valmistanud, kuna tegemist peaks olema kergekaalulise Ubuntuga, kuid seda ta kindlasti mitte pole. Mis põhjusel seda siis üldse arendatakse?

Lubuntu

Kohe alguses algas probleem sellest, et ainus moodus ametlikku Lubuntut installida on graafiline installer, mis 7 tolli aga oma aknaga ära ei taha mahtuda. Õnneks on entusiastid teinud alternatiivse tekstiinstalleriga ISO, mitte küll viimasele versioonile veel (11.04), vaid eelmisele 10.10-le. https://wiki.ubuntu.com/Lubuntu/DocumentationHelp/AlternateInstall

Järgmine tagasilöök tuli sellega, et too ISO eeldab CD peal paiknemist. USB pealt lihtsalt ei läinud installer edasi ja sai tala. No hea küll, kirjutasin siis ISO plaadile. Seejärel installimise ajal partitsioneerimisel jäi install seisma. No ei tea miks, kolm korda proovisin ja kõikidel juhtudel juurpartitsiooni konfamisel jäin kinni. Võtsin siis hoopis Gparted LiveCD ja lõin ext2 partitsiooni käsitsi ning seejärel Lubuntu alternative CD pealt paigaldus õnnestus. USB mälu- ja muud seadmed võtab kenasti külge, muusikat ja videod mängib üllatavalt probleemivabalt (VLCga eriti) ja sujuvalt. Samuti üllatas mind, et suurema monitori VGA porti ühendades saab täitsa “normaalse” ekraani ees asju teha ilma jõudlusprobleemideta.

Install polnud ilus, kuid senistest variantidest töötas distro kõige paremini. Läbi urruaugu tähtede poole või nagu vanad roomlased ütleks – per anus ad astra!

Üleliigsete pakkide eemaldamine

Kuna ruum on kõige kallim valuuta EEE PC 2G Surfi seljas, siis pidi kohe hakkama jama välkkettalt maha raputama. Kõik Lubuntus olevad pakid sõltuvad metapakist “lubuntu-desktop“. Selle võib südame rahuga eemaldada koos kaasa tulevate tobedate mängude ja ebavajalike programmidega. https://lists.launchpad.net/lubuntu-desktop/msg03542.html

Näituseks pole vaja Sylpheedi nimelist emaili klienti, kuna tänapäeval loetakse kirju veebimailerist. Samuti pole Cheese vajalik, kui netbookil pole veebikaamerat. VLC eelistamise puhul on gnome-mplayer rudimendiks süsteemis. Kui pruugid Skypet ja/või veebipõhiseid IM-e, saab ka Pidgini arvelt kokku hoida (MSN, Yahoo!, AOL, ICQ …)

sudo aptitude purge lubuntu-desktop sylpheed ace-of-penguins cheese gnome-mplayer pidgin

See ei tekitanud just ülemäära palju ruumi juurde, kuid raskel ajal abiks seegi.

Mõne kasuliku tarkvarajupi lisamine

Mõne kasuliku paki aga installisin kohe alguses juurde. Skype saab nagu ikka, kodulehelt skype.com. Veebis tänapäeval on kohustuslik mõistagi Flash ning meedia mängimiseks parem riist on VLC. Dokumentide vaatamiseks ja töötlemiseks piisavad täiesti kaasas olevad Abiword, Gnumeric ning

sudo aptitude install flashplugin-installer vlc

Mõned ruumisäästlikud (, kuid muidu ebatervislikud) nipid

1) võtsin maha automaatsed uuendused (kui vaja, siis saab uuendusi käsitsi peale lasta). Igaks juhuks tasub ka APTi poolt alla laaditud kraam ära kustutada – seda pole vaja. (sudo apt-get clean)

2) Chromium üritab elu eest puhverdada nii, et vähene kettapind täitud pärast esimest tundi netis surfamist. Selle vastu aitas /home/user/.cache/chromium kataloogi /dev/nulli suunamine.

rm -rf /home/<kasutajanimi>/.cache/chromium/
ln -s /dev/null /home/<kasutajanimi>/.cache/chromium

3) Lisaks tasub musta auku suunata Skype vestluspuhver, mis kippus ka kiirelt suurenema. Logi eelnevalt Skype’i sisse, seejärel jälle välja (sellepeale tekivad vajalikud kaustad). Ma pole kindel, kas see on sama, mis Skype sätete all “Privacy/Privaatsus -> Keep chat history for/Säilita vestluste ajalugu”, kuid ka seal tasub keerata ajalugu kinni.

rm -rf /home/<kasutajanimi>/.Skype/<skypekasutajanimi>/chatsync/
ln -s /dev/null /home/<kasutajanimi>/.Skype/<skypekasutajanimi>/chatsync

Lõpetuseks paar märkust

1) Skype ei ava URLe automaagiliselt brauseris. Peab käsitsi kopeerima.

2) Skype ei vea audiokõnet välja, kuna raali võimsusest jääb väheks (pigem konstateering – kui sa tahad Skypega audiokõnet teha, siis miks sa loll inimene ostsid üldse eeepc 2G Surfi).

Kuid lõppeks oli huvitav vaadata, mida inimesed 3+ aastat tagasi veel kasutuskõlblikuks raaliks pidada võisid. Tänapäeval on enamus müüdavates nutitelefonides ka rohkem jõudu ja ruumi.

Samas kui poolmuidu saad ja aku ka vastu peab, siis see on päris hea väike internetiühendusega trükimasin. Ma siiamaani ei saa päris täpselt aru, miks mulle jäi mulje, et see mini-klaver oli üpris hea trükkimiseks.

Advertisements

Written by dotmrt

2011/07/05 at 20:23:08

Sockso – music webserver

leave a comment »

Sel korral tutvustan ühte vahvat veebiserverit, mis võimaldab oma muusikakogu kuulata suvalisest kohast kasutades selleks vaid brauserit ning Flashis kribatud playerit. Olen seda Java programmi kasutanud nüüdseks juba  Serveerida suudetakse üle HTTP kui ka HTTPSi vabalt valitud pordinumbril (vaikimisi 4444) ning mängida osatakse vaikimisi mp3. Aga võimalik on lisada tugi eksootilisemaltele formaatidele nagu ogg, flac, wma ja m4a. Siin on hea juhend, kuidas seda Ubuntu all teha koos init skriptiga. Sinna juurde on vaja veel installida flac ja lame pakid, et eksootilisemate formaatidega hakkama saada. Alljärgnevalt kirjeldan lühidalt vajalikke samme.

Install

Sockso vajab väidetavalt Suni Javat. Seega Ubuntu all oleks soovitatav installida järgmised pakid

sudo apt-get install sun-java6-bin sun-java6-fonts sun-java6-jre unzip

Seejärel tiri Sockso alla, paki lahti ja kopeeri ntx /usr/share/ alla.

wget http://sockso.googlecode.com/files/sockso-1.2.4.zip
unzip sockso-1.2.4.zip
sudo mkdir /usr/share/sockso
sudo cp -R /home/user/sockso-1.2.4/* /usr/share/sockso/*
sudo mkdir /var/sockso
sudo chmod -R 0755 /var/sockso

Jooksutamine

Käsureaprogrammina:

sudo sh /usr/share/sockso/linux.sh --nogui --datadir /var/sockso

Täpsemaid juhtnööre seadete sättimiseks leiab kodukalt, kuid näiteks uue kataloogi muusikaga saab  Socksole ette anda direktiiviga coladd:

#SockSo#>coladd /home/user/Music

Graafilises kasutajaliideses on toiminguid lihtsam teha

sudo sh /usr/share/sockso/linux.sh --datadir /var/sockso

Initskript

sudo cp /usr/share/sockso/scripts/init.d/sockso /etc/init.d/sockso.pl
sudo vim /etc/init.d/sockso
#!/bin/bash perl /etc/init.d/sockso.pl $1 exit 0

Kopeeritud Perli skriptis tuleb teha ka mõned muudatused – /etc/init.d/sockso.pl

use constant SOCKSO_DIR => "/usr/share/sockso/"; system( 'sh linux.sh --nogui --datadir /var/sockso > /dev/null 2>&1 &' );

Seejärel muuta pisut õiguseid ning määrata skript käivituma kohe pärast alglaadimist.

sudo chmod +x /etc/init.d/sockso sudo chmod +x /etc/init.d/sockso.pl sudo update-rc.d sockso defaults

Nüüd käivitub Sockso nagu serverprotsess ning juhitav nagu ikka sellised asjad:

sudo /etc/init.d/sockso start sudo /etc/init.d/sockso stop

Konfigureerimine

Oma kollektsiooni kataloogide lisamisest Socksole parsimiseks sai juba näide toodud. Graafilisest liidesest käib sama “Collection” saki alt. Küll aga ei pruugi kohe töötada erinevate failivormingute tugi. Oggi jaoks oli Ubuntu 10.04-s kohe installeeritud vorbis-tools pakk, mis sisaldas vajalikku oggdec pakki. Samuti oli olemas juba ffmpeg. Juurde oli vaja aga:

sudo apt-get install flac lame

Seejärel tuleb GUIs üles otsida “Encoders” sakk ja seal ükshaaval vastava failiformaadi juures “None” raadionupp lülitada ümber “Builtin” peale ja paika määrata encodingu siht bitrate. Et CPU-d koormata ja võrguliiklust säästa, võib ka kõik mp3-d lasta ümber kodeerida madalama bitrate peale.

Märkmeid

Sockso käivitub vaikimisi HSQL andmebaasimootoriga, kuid väidetavalt olevat võimalik asi ka MySQLi peal jooksma panna. Seda minevat vaja siis, kui kollektsioon hakkab ulatuma Teradesse. Et siis suuremosa inimestel seda omadust vaja ei lähe.

Veidrustest kah paar sõna, mis esimese kuu jooksul ilmnenud on. Väga sügavale ei viitsinud puurida. Lähtusin pigem põhimõttest, et kasutan brauserit, millega töötab.

Selgus, et Chromega ei saa üle HTTPSi Socksosse sisse logida. Windowsi Firefoxi puhul ei suutnud ma mingil põhjusel Flashis maalitud playerit käima saada ning seega pidin taanduma Opera peale, milles töötas nii featuur “HTTPS” kui ka “Flash Player”. Linuxis Chromiumiga oli jätkuvalt jama, kuid Firefoxi ja Operaga töötas. Andke andeks, et ma ei viitsinud IEs eraldi proovida.

Aga väga muljetavaldav pisike jupike koodi – arenev avatud tarkvara, kuid töötab juba praegu kuratlikult hästi.

Viiteid

—–

Update: A little memo about some features I think everybody would love.

Wanted Features

  • Scrolling in the default flash player.
  • Web based administration console. The SWT/Swing/whatever based adminconsole requires the server to restart twice – when you enter admin console and when you demonize the server process again.
  • Year of the Album displayed in the artist view (and sorted by year).
  • When you add songs to the list by album, the tracklist is sometimes un-ordered. It should be ordered by track number.
  • In the recently listened view there might be also the username of the listener.
  • Chance to adjust zipping directories. Default is <zip>/Artist/Album Name/Track Number – Song Title. (Even if the filename is different, so it must be based on the ID3 tags.)

Written by dotmrt

2010/07/03 at 21:58:24

Posted in howto, it, linux, music, opensource, ubuntu

Tagged with , , ,

Varundamine rsynciga

leave a comment »

Standardprobleem – mõistliku inimesena tahaks oma failidest varukoopiat hoida juhuks kui vint ühel heal päeval oma viimase laulu siristab.

Kõige lihtsam moodus midagi varundada on kopeerida andmed teisele salvestusmeediale (kas hiirega lohistades või cp -r), mis on vähemalt sama suur kui originaal. Kuid kui allikas midagi muutub (lisatakse, kustutatakse), siis tahaks, et see muudatus jõuaks ka varukoopiasse. cp -r aitaks siin muutunud ja lisandunud andmeid kopeerida, kuid siin on kolm probleemi:

  • allikas kustutatud/liigutatud andmed jäävad sihtpunkti ikka alles
  • iga varukoopia võtab aega sama kaua kui esimene täis-varukoopia
  • varukoopia suurus kasvab isegi siis, kui allikas faile kustutada ja nende asemele uusi lisada (andmed kumuleeruvad)

Standardutiliit rsync võrdleb faile suuruse ja muutmiskuupäeva (–checksum parameetrit kasutades aga hoopis kontrollsumma) alusel ning kopeerib varukoopiasse ainult faile, mis on muutunud või juurde tekkinud. Ning –delete parameetriga ka kustutab allikast kadunud faile, et ruumi kokku hoida. Olgu siinkohal näiteks ka üks mugav oneliner ära toodud:

rsync –recursive –delete –verbose  –stats –itemize-changes –human-readable –archive –dry-run –exclude “*.log” /source/ /destination/

Kasutan siinkohal loetavuse huvides pikki parameetreid (–recursive), kuid suuremosale leidub ka lühem variant (-r).

–recursive => läbi alamkataloogid rekursiivselt otsides muutunud faile
–delete => kustuta allikast kadunud failid ka varukoopiast ära (ruumi kokkuhoiu mõttes)
–verbose => väljund jutustab pisut enam
–stats => lõpus kuvatakse varundamisprotsessi statistika
–itemize-changes => näitab detailsemalt failidega tehtut
–human-readable => numbrid lihtsamini hoomatavatele kujudele 1024B asemel ~1KB
–archive => lühidalt jätab failide õigused ja ajad allikale vastavaks
–dry-run => kasulik käsk simuleerimaks kogu kokku kirjutatud käsurea tööd, ei tee päriselt muudatusi allikasse ega koopiasse
–exclude “failitee muster” => võimalus varukoopiast midagi konkreetset välja jätta, vastavalt mustrile

Üks olulisemaid parameetreid on vast –archive. Ilma selleta oleks tegemist põhimõtteliselt lihtsalt “cp -r“, kuna igal rsync-i kopeerimisel faili muudatuste ajad muutuvad ning järgmisel korral rsync vaatab taaskord, et allikas on teine aeg, mis varukoopias. Siit teeb rsync järelduse, et hoolimata sarnasest suurusest võib olla fail muutunud. Kui tähele ei pane, siis võib tekitada hämmeldust, et miks sama käsu kaks korda järjest käivitamine ikka sama kaua aega võtab. Korrektselt kirjutatud käsu puhul peaks teine käivitamine võtma ainult nii kaua aega, kaua läheb varundatavate failide suuruste ja muutmiskuupäevade samasuses veendumiseks vaja.

PS

rsyncil on palju võimalusi kopeerimist mudida. Muuhulgas ei pea käsu algatajaks olema ei allikfailide ega ka sihtmärkfailide asukohaks olev kast, vaid kolmas vahendaja.

Kui kopeerimise ajal ühendus katkeb, siis pärast võid sama käsu uuesti selga lasta ja rsync jätkab sealt, kus pooleli jäi.

Viiteid

Written by dotmrt

2010/03/02 at 02:17:17

Posted in it, linux

Tagged with ,

Logide roteerimine Logrotatega

leave a comment »

Alati võib ise skripte kribada, kuid kui sul on puur juba olemas, siis pole augu tegemiseks enam ise näpuga surkida vaja. Lihtsalt õpi puuri kasutama.

Logrotate võiks igas kaasaegsemas pingviinis olemas olla. Leidsin netist vihje, et Suse 7.1-s veel polnud. Aga see vihje näib pärinevat eelmisest sajandist, mistõttu ka sõna “kaasaegne”. Logrotatel on konfamiseks mõned oma direktiivid, kuid üldiselt on asi suht lihtne. Kuna mul oli siin selle asjaga vaja tegeleda, siis panin mõne mõtte kirja kah apache2 näitel SLES10 peal.

Konfamine

/etc/crontab sisaldab viidet skriptile /usr/lib/cron/run-crons, mida kontrollitakse iga 15 minuti tagant:

-*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1

Suses sõltub logrotate käima mineku aeg /etc/sysconfig/cron all defineeritud parameetrist DAILY_TIME=”4:15″. See sätestab, millal /etc/cron.daily/ sees defineeritud cronjobid käima lähevad, nende hulgas ka /etc/cron.daily/logrotate.
Konf asub /etc/logrotate.conf, milles on direktiiv “include /etc/logrotate.d”. Selles kataloogis on iga teenuse, mille logi peaks roteerima, kohta eraldi konfifail. Ntx /etc/logrotate.d/apache2:

/var/log/apache2/*log /var/log/apache2/spetsfail {
compress
dateext
maxage 365
rotate 99
size=+1024k
notifempty
missingok
create 644 root root
postrotate
/etc/init.d/apache2 reload
endscript
lastaction
scp /var/log/apache2/*.bz2 arhiiv@arhiiviserver:~/logs/
rm /var/log/apache2/*.bz2
endscript
}

Suse oli automaatselt koostanud apache2 jaoks pika logiroteerimise skripti, milles oli iga faili jaoks oma loogeliste sulgudega konfi sektsioon, kuid ma tõstsin nad kõik ühte sektsiooni. Nagu eelnenud näitest näha, võib enne loogeliste sulgude algust defineerida kõik failid eraldi või kirjutada *log moodi mustri sinna. Kusjuures failinimede või mustrite eraldajaks on tühik. Edasi järgnevad mõned (rohkem või vähem) iseenesest mõistetavad direktiivid nagu:

  • compress – paki kokku logi pärast roteerimist ja postrotatet
  • dateext – pane logifailile lõppu kuupäev (vaikimisi -YYYYMMDD)
  • maxage <päevi> – kustutatakse <päevi> vanemad logid, kui maillast või mail on konfatud, siis oskab neid kustutatavaid logisid ka ennem postiga saata
  • rotate <kordi> – faili roteeritakse <kordi> enne kui ta kustutatakse või mailitakse kuhugile. 0 korda tähendab logi faili kustutamist ja tühjana uuesti loomist
  • size [+]<suurus>[|k|M] – logifaili roteeritakse, kui ta on suurem kui <suurus>. “k” on kilobaiti ja M megabaiti, ilma on lihtsalt baitides.
  • noifempty – ära tee midagi, kui logifail on tühi
  • missingok – ära erutu, kui logifaili polegi
  • create <õigused> <kasutaja> <grupp> – loo logifailid vastavates õigustes
  • postrotate/endscirpt – siia vahele võid kirjutada tegevuse, mida pärast iga faili roteerimist teha. Antud juhul siis graceful restart Apachele.
  • lastaction/encscrpit – see skript käivitatakse pärast kõikide failide roteerimist, ümber nimetamist ja pakkimist. Siia olen pannud failide kopeerimise arhiiviserverisse ning enda järelt ka puhastamise

Veel üks mõistlik asi imho on logide pakkimine bzip2-ga, mis on tunduvalt efektiivsema algoritmiga, kui default gzip. Selleks tuleb mudida /etc/logrotate.conf failis kahte rida:

compresscmd /usr/bin/bzip2
uncompresscmd /usr/bin/bunzip2

Tee võib teistes kohtades erineda (Debian/Ubuntu /bin/bzip2), kuid sisu jääb samaks.

Debugimine

Nüüd kui mingi esialgne näide on valmis, võib konfi debugida -d võtmega, mis logifaile ei puudu, kuid kirjutab kõik tegevused lahti. Kuna me tahame debugida ainult ühte konfi, siis on kasulik /etc/logrotate.conf-is includeda ainult see üks apache2 konfifail, mitte kogu kataloom. Selleks väike muudatus:

#include /etc/logrotate.d
include /etc/logrotate.d/apache2

Ja nüüd debugima:

# logrotate -d /etc/logrotate.conf
reading config file /etc/logrotate.conf
compress_prog is now /usr/bin/bzip2
compress_ext was changed to .bz2
uncompress_prog is now /usr/bin/bunzip2
including /etc/logrotate.d/apache2
reading config file /etc/logrotate.d/apache2
reading config info for /var/log/apache2/*log

Handling 1 logs

rotating pattern: /var/log/apache2/*log 1048576 bytes (99 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/apache2/access_log
log does not need rotating
considering log /var/log/apache2/error_log
log does not need rotating
considering log /var/log/apache2/ssl_request_log
log needs rotating
running postrotate script
running script with arg /var/log/apache2/*log : ”
/etc/init.d/apache2 reload

running postrotate script
running script with arg /var/log/apache2/*log : ”
/etc/init.d/apache2 reload

rotating log /var/log/apache2/ssl_request_log, log->rotateCount is 99
glob finding old rotated logs failed
renaming /var/log/apache2/ssl_request_log to /var/log/apache2/ssl_request_log-20081008
creating new log mode = 0644 uid = 0 gid = 0
running postrotate script
running script with arg /var/log/apache2/*log : ”
/etc/init.d/apache2 reload

compressing log with: /usr/bin/bzip2
running last action script
running script with arg /var/log/apache2/*log : ”
scp /var/log/apache2/*.bz2 arhiiv@arhiiviservu:~/logs/
rm /var/log/apache2/*.bz2

Apache-t võib niimoodi reloadida, kuna see on lühiajaline tegevus, kuid niimoodi mitu korda teha pole tegelikult ju eriti ilus. Võibolla saaks ka kuidagi paremini.

Käivitus

Ja lõpuks käima saab asja lasta (ilma cronjobi käivitamist ära ootamata) logrotate -v /etc/logrotate.conf. -v on jutukas väljund, mis võimaldab kohe näha, mis tegelikult tehti.

Written by dotmrt

2008/10/16 at 00:22:37

Posted in linux

Tagged with , , ,

Turvaline kõvaketta kustutamine Linuxiga

leave a comment »

Kui läpparit edasi müüa/anda, siis oleks mõistlik eelnevalt oma sensitiivsed andmed kettalt hävitada. Uurisin natuke, mis moodi oleks seda turvaline ja taastamiskindel teha. A, ja ma ei taha kuulda mingit hala teemadel, et “mida mul ikka kaitsta on” või “keda mu brauserisessioonid või emailid ikka huvitavad” – see poleemika pole antud artikli teemaks.

Aga tagasi teemasse – tavalisel meetodil kustutatud faile on võimalik suhteliselt kerge vaevaga taastada, mistõttu oleks mõistlik taastamise vältimiseks arvutisse sisse pista mingi Linuxi LiveCD/DVD ja lasta kogu vint üle mingi turvalise kustutamise tööriistaga. Live distro on hea lahendus seetõttu, et sa ei saa ju sama ketast kustutada, mille pealt sa ise töötad.

Eesmärk: andmete hävitamine kõvakettalt nii, et nende taastamine oleks väga keeruline (“võimatu” on liiga tugev sõna, mida ma üritaks vältida).

Shred

Shred kirjutab faili või siis kogu kettaseadme (ntx /dev/hda) üle juhuslike andmetega ette antud arv kordi (-n <KORDI>), kuid soovitatav on lõpus kirjutada viimane kord fail/ketas üle nullidega (-z), kuna see varjab shreddimist. Ülejäänud võtmed on soovituslikud: -f kirjutab faili/ketta jõuga üle, küsimata kinnitust, ja -v on verbose ehk siis shred jutustab väljundisse, mis ta teeb. Esimese (ehk põhilise) IDE kettaga talitleks mina järgmiselt:

# shred -vfz -n 7 /dev/hda

Faili rebimise puhul oleks kasulik kasutada võtit -u, mis kustutab faili ka failisüsteemi kirjetest ära, pärast shreddimist. Muidu saab failidega samamoodi hakkama:

# shred -vfuz -n 26 ylisala.txt

Üks põhilisi küsimusi siin kohal on kindlasti – mitu korda andmeid üle kirjutada? Väidetavalt olla USA valituses standard 7, kuid räägitakse edukatest taastamistest pärast 14x “rebimist” (oletan, et siin räägitakse kogu kettaseadme shreddimisest). Tavainimesele pole aga sellised kõvaketta analüüsi vahendid niikuinii kättesaadavad ning tavainimesel pole ka tõenäoliselt selliseid andmeid, mida nii kiivalt varjata. Eks igaüks oma sisetunde järgi.

Vaata fscking /w linux videot välkmälupulga rebimisest.

Secure-delete

Mõnede failisüsteemide puhul ei ole see moodus faili kustutamiseks turvaline (muuhulgas ka ext3, ReiserFS). Failide turvalisemaks kustutamiseks tuleks vaadata Debiani/Ubuntu paki secure-delete poole ehk utiliidid srm, smem, sfill ja sswap.

DBAN

Ühed tegelased on teinud lausa eraldi live distroDarik’s Boot and Nuke, mille ülesanne ongi kõik raalis leiduvad kõvakettad nuke‘da ehk andmetest ära puhastada.

Wipe

Siis on olemas veel selline riist nagu wipe, mis teeb enamvähem sama asja, mis shred, kuid väidetavalt paremini. Nimelt siin kasutatakse turvaekspert Peter Gutmanni poolt pakutud mustreid päris random data asemel, mis väidetavalt tekitavad rohkem segadust ilma kõvaketast hävitamata ning muudavad andmed seega kindlamini taastamatuks. Wipe ei pruugi suvaliste live distrotega kaasas kohe olla ning kui interneedust pole käepärast, võib probleem olla, kuid mina leidsin wipe Knoppixi LiveDVD (ver 5.3) pealt üles küll. -i on informational ehk jutukas väljund, -q on quick wipe ehk vaikimisi 4 juhusliku mustriga ülekirjutamist ja -Q <KORDUSI> on ketta pühimise kordade arv quick wipe puhul (NB!). Mitte-quick wipe puhul tehakse hoolimata -Q väärtusest 34 ülekirjutust Gutmanni mustritega, millest 8 on juhuslikud jadad. Kusjuures niipalju kui mina aru sain, siis ka mustrite järjekord on random. (Määrasin ise -Q ära ilma -q võtmeta ja sattusin hämmingusse, kui asi näitas õhtul käiva rebimise arvuks juba 31.)

# sudo wipe -ifq -Q 7 /dev/hda
# sudo wipe -if /dev/hda

Linke:

Written by dotmrt

2008/10/02 at 07:12:31

Posted in it, linux

Tagged with , ,

Wifi-Router firmware – Tomato on Buffalo WHR-HP-54G

with 2 comments

So you’ve got a Wifi-router. That don’t impress me much.
In fact, nobody could give a rats ass and less notice of the brick you have under the table/hanging from the wall/on the floor. When somebody comes to visit you, the only concern is “have got wifi?”

I’ve had my Buffalo AP for ages by now (speaking in tech it’s about 2+ years) and one day (well, it was yesterday) I found that there are loads of “3rd party firmware” out there for these little cheap boxes. The most popular to modders is the Linksys WRT54G series (nowdays WRT54GL – “L” standing for Linux), but Buffalo WHR-54G series seems to be also popular.

Not to get into too much detail, then couple of great guys have written their own firmware and put it up for others to download and install. Usually this modding changes the admin console and unlocks some “restricted” features you may have not been aware of. I don’t want to brake the law here in Estonia, but it seems that Buffalo’s “HP” aka “High Power” might very well be able to exceed the regulations in this part of the world when correctly set up. But that’s for another time.

The procedure – tftp

So I thought, why not to do something I really don’t need and what might utterly destroy my router and installed Tomato Firmware on my Buffalo WHR-HP-54g. They’ve got great wiki which provided me all the information I can cope with right now, but to make the long story short, I’ll memorize it here as you need to do exactly as the manual says:

  • install Trivial File Transfer Protocol if not already installed – tftp (ubuntu package)
  • download the latest firmware
  • plug your computer via wired connection to the router
  • find the reset button on the bottom of the WHR and hold it for at least 30 seconst, the diagnostics led will blink
  • then unplug it for 10 secs
  • after plugging it in, set your IP to static in the 192.168.11.2 and gateway 192.168.11.1
  • in one terminal window “ping 192.168.11.1” continually
  • unplug the router and see how ping timeouts
  • open second terminal and write following commands
  1. tftp
  2. binary
  3. rexmt 1
  4. trace
  5. connect 192.168.11.1 (Even though the router is still powered down, tftp doesn’t actually “connect” when you execute. So relax)
  6. put tomato.trx
  • Do not press enter yet on the last command
  • Plug the router in again and be ALERT for the first ping
  • When ping gets it’s first response, push enter in the tftp window (you’ll see data transfer “sent DATA <block=5425, 512 bytes>” “received ACK <block=5425>”…)
  • when done wait for at least 2 minutes, then unplug the router for 10 seconds and after plugging in, you should be ready
  • Your “refreshed” router is now 192.168.1.1 with default user/pass being root/admin. Log into admin console and change it – http://192.168.1.1/

I suggest you read the Wiki for more thorough guide.

Loads of mods out there

That’s the procedure to follow when you want to flash your router. Some possible firmware to check out (got them from Tomato wiki):

  • dd-wrt – probably the most famous one. “Supported hardware” list is quite impressive.
  • FreeWRT – supports some Linksys, Asus and Netgear boxes
  • Tarifa – seems to be exclusively for WRT54GL
  • OpenWRT – not very user friendly, but boasts a packaging system to manage software installed and also is named to be the “leanest and meanest” of all router firmware. Also the “supported hardware” list is quite long.
  • X-WRT – project to make a decent webUI for OpenWRT
  • Tomato – based on formes HyperWRT project with nice clean and 21st century webUI using AJAX and SVG

All are based on Linux in some way or the other, to my knowledge.

Also I learned a new term – “to brick“, you have just brick’d your router. Means you have just managed to do something wrong and your router is nothing more than a brick. Fubar, so to speak. (Although I found some advice on de-bricking your box, not that I needed it, yet.)

Final thoughts

Finally, I need to say, that I really had no real need to do all this. I just thought it would be cool to see statistics about my router clients, their net usage and such little stuff which Tomato provides with nice AJAX interface. Also there are some little things you might think are quite logical, but big manufacturers just don’t care. Like when you need to define a channel to use, it would be logical to scan the vicinity for other networks and then assign the channel. You can do that directly in Tomato’s UI. There are such little things all around.

But I know 3rd party firmware to be actually really useful for Wireless Repeaters, Wireless Distribution System and Wireless EThernet/Ethernet Bridge or whatever term you can find, which basically let you enhance your IEEE 802.11 network’s range with additional routers. I got lost searching for differences between those terms, but it seems in one case you MUST have different channels and you CAN have different SSID’s and such. Didn’t go further from there.

Further study:

  • is there some difference in WPA/WPA2 encryption support in different repeating/bridgeing ways (WDS,WET) (some tutorials I found mentioned WEP – don’t really understand if they are imbecilles or perpahs just WPA is not supported and they wanted to market the firmware bridging possebilities as “sure, we have encryption”)
  • are both routers still functioning as AP-s also when using WDS and/or WET (found some controversy on that)
  • is there difference in datagram forwarding between WDS and WET (all forwarded vs only those datagrams forwarded which destinations reside in the view of that router)
  • what are the methods used by available commercial repeaters sold in the stores
  • find some cool projects done with 3rd party firmware for routers
  • some feature difference table of all the firmwares would be helpful

PS

I discovered, that Buffalo is actually selling their WHR-HP-54G with DD-WRT preinstalled (link), which is kinda cool.

Written by dotmrt

2008/07/03 at 23:17:46

Posted in it, linux

Tagged with , , , , , , , ,