Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: ajaaskel - 04.12.11 - klo:00.57

Otsikko: Pikku kikkoja
Kirjoitti: ajaaskel - 04.12.11 - klo:00.57
Näytön kopio viiveellä

Tuttu tilanne:  Pitäisi ottaa näytön kopio jostain ohjelman menusta mutta mitenkäs saat pidettyä tuon menuvalinnan esillä samalla kun otat näytön kopion ?  Jos viet hiiren pois menu häipyy, jos kosket näppäimistöön niin käy samoin.

Itse olen käyttänyt pikku skriptiä jonka ajan päätteessä.  Sen tehtävänä on ottaa näytön kopio 10 sekunnin kuluttua.  Laitan tuon käyntiin päätteessä, minimoin päätteen pois tieltä ja avaan halutun tilanteen näytölle, hetken odottelu ja näytön kopio on tiedostossa.  Se on näin monimutkainen:

Koodia: [Valitse]
#!/bin/bash
sleep 10; import -window root ~/näytönkopio.png

Olen tallettanut tuon "gedit": in avulla nimellä "otakuva" ja laittanut ajo-oikeuden sille.  Kuvan ottaminen käynnistyy sen jälkeen päätteessä:

Koodia: [Valitse]
./otakuva
Tuota kuvaa voi helposti rajata ja tehdä selventäviä merkintöjä siihen "mtpaint" ohjelmalla.
Tuossa käytetty "import" ohjelma on ImageMagick: in eli ellei se jo ole koneellasi niin asentamalla "imagemagick" paketin se oletettavasti tulee.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Daneli - 04.12.11 - klo:02.57
Shutterissa voit asettaa screenshotille viiveen. Itsellä oli sama ongelma kun yritti esimekriksi screeshottia Xubuntussa.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Eesaurus - 04.12.11 - klo:11.22
En ole nyt Ubuntussa, mutta muistelen, että senkin oletusohjelmalla sai laitettua halutun viiveen screenshottiin.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: oobetimer - 04.12.11 - klo:12.12
En ole nyt Ubuntussa, mutta muistelen, että senkin oletusohjelmalla sai laitettua halutun viiveen screenshottiin.

Joo .. ihan tavallisella kuvankaappausohjelmalla onnistuu kun asettaa viiveen.

Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 04.12.11 - klo:18.23
Tuohan on hyvä juttu myös, mitenhän tuo viive on jäänyt huomaamatta vaikka olen paljon tuota välinettä käyttänytkin.   :) 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: jekku - 05.12.11 - klo:11.10
Tuohan on hyvä juttu myös, mitenhän tuo viive on jäänyt huomaamatta vaikka olen paljon tuota välinettä käyttänytkin.   :) 

Ja hyvä että on jäänyt huomaamatta, kerroitpa tuon loitsun :)
Otin oitis käyttöön, on se kätevämpi kuin kliksutella jotain, jossain...
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 05.12.11 - klo:16.54
Tuota komentoriviversiota voi soveltaa myös toisessa ohjelmassa, sitä voi ajaa vaikka "crontab": ssa, mitä sovelluksia nyt haluukin sille keksiä.  Jos haluat ottaa vaikka kerran päivässä näytönkopion (älä kysy miksi, keksitty tilanne) niin tuon saa helposti tekemään tiedoston niin että se on nimetty päiväyksellä:

Koodia: [Valitse]
import -window root ~/$(date +%F).png
Pähkinä / arvoitus:   Jos tuolla yrittää tehdä tiedoston niin että siinä on päiväyksen lisäksi myös kellonaika niin syntyvä tiedosto on sisällöltään susi, ei aukea enää klikkaamalla  --- miksi ? 
En itse asiassa ole ratkaissut tuota vielä eli tuo on aito kysymys, näin käy ainakin itselläni.


Otsikko: Vs: Pikku kikkoja
Kirjoitti: Vika/fiba - 05.12.11 - klo:19.56
Tuohan on hyvä juttu myös, mitenhän tuo viive on jäänyt huomaamatta vaikka olen paljon tuota välinettä käyttänytkin.   :)  

Varmaan, koska menuvalikosta aukeaa kuvankaappausohjelma, jossa viive ja kursorin kaappaus on mahdollista, mutta print screen-napista avautuu erilainen ohjelma, jossa vain aukeaa ikkuna tallennuspaikan valitsemiseksi, itse kaappaus tehtiin prtScr-nappia painettaessa.
muoks. lisätty kuvankaappaus Gnomen ohjeesta
Otsikko: Vs: Pikku kikkoja
Kirjoitti: jekku - 05.12.11 - klo:20.59
Tuota komentoriviversiota voi soveltaa myös toisessa ohjelmassa, sitä voi ajaa vaikka "crontab": ssa, mitä sovelluksia nyt haluukin sille keksiä.  Jos haluat ottaa vaikka kerran päivässä näytönkopion (älä kysy miksi, keksitty tilanne) niin tuon saa helposti tekemään tiedoston niin että se on nimetty päiväyksellä:

Koodia: [Valitse]
import -window root ~/$(date +%F).png
Pähkinä / arvoitus:   Jos tuolla yrittää tehdä tiedoston niin että siinä on päiväyksen lisäksi myös kellonaika niin syntyvä tiedosto on sisällöltään susi, ei aukea enää klikkaamalla  --- miksi ? 
En itse asiassa ole ratkaissut tuota vielä eli tuo on aito kysymys, näin käy ainakin itselläni.


Millai koetat sitä kellonaikaa?

Kun kokeilin
 import -window root ~/$(date +%F%k%M).png
tuli kuva
2011-12-052050.png

Joka aukesi ihan kiltisti kliksauttamalla. (en toki huomannut katsoa että mihin ohjelmana se aukesi ;)

Ja kun koetin
import -window root ~/$(date +%F%k%M%s).png
tuli kuva
2011-12-0520581323111500.png
Ja sekin aukesi?


Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 06.12.11 - klo:17.01
Koodia: [Valitse]
import -window root ~/$(date +%F%T).png
tekee ihan nätisti tiedoston mutta tiedoston koko on paljon suurempi (7,5 M) kuin tavallisesti ja avaus epäonnistuu kuten kuvassa alla:
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 06.12.11 - klo:17.03
Tulee äkkiä mieleen että nuo kaksoispisteet ajassa saattavat aiheuttaa jotain.

Edit:   Se on kaksoispiste joka sotkee asiaa, testasin.  Mitenköhän tuon kaksoispisteen joka tule %T parametrin seurauksena voisi säilyttää (=suojata) niin että tuo "import" ei tulkkaa sitä ?
Sama ilmiö näkyy jos testaa antamalla käsin ajan jossa kaksoispiste.  Vaikka kaksoispisteen suojaa hipsukoilla niin silti tiedoston sisältö menee sudeksi (jonka tunnistaa heti jo syntyneen tiedoston koosta).   Toimiiko tuo sinulla ?

Koodia: [Valitse]
import -window root ~/17':'03.png
Otsikko: Vs: Pikku kikkoja
Kirjoitti: jekku - 06.12.11 - klo:17.23
Tulee äkkiä mieleen että nuo kaksoispisteet ajassa saattavat aiheuttaa jotain.

Edit:   Se on kaksoispiste joka sotkee asiaa, testasin.  Mitenköhän tuon kaksoispisteen joka tule %T parametrin seurauksena voisi säilyttää (=suojata) niin että tuo "import" ei tulkkaa sitä ?
Sama ilmiö näkyy jos testaa antamalla käsin ajan jossa kaksoispiste.  Vaikka kaksoispisteen suojaa hipsukoilla niin silti tiedoston sisältö menee sudeksi (jonka tunnistaa heti jo syntyneen tiedoston koosta).   Toimiiko tuo sinulla ?

Jostain kumman syystä ei ole tullut mieleenikään käyttää sen paremmin kaksoispistettä kuin puolipistettäkään tiedostonimessä ;)

Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 06.12.11 - klo:17.27
Saatan arvata ehkä miksi.  :)   Ei kaksoispiste ole kielletty merkki tiedostonimessä kuin jossain "win-alkuisissa systeemeissä".
Sivujuonteena kaksoispiste tiedostonimessä voi aiheuttaa hankaluuksia Samban kanssa joka jäljittelee erään toisen järjestelmän ominaisuuksia niin hyvässä kuin huonossakin.
Voisi olla mielenkiintoinen tehtävä kopioida vaikkapa 1000 tiedostoa joissa kaikissa on kaksoispisteitä jollain win-alkuisella järjestelmällä --- lyhytpinnaiselle käyttäjälle tuo voisi olla jo kopioinnin estekin.  En ole kyllä vielä kokeillut tuota.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 14.12.11 - klo:11.36
Osa2  eli:    "Minne ne pakettivarastosta asennetut deb-paketit menevät ?"

Joissain tilanteissa voi olla hyödyllistä tietää tämä paikka:

/var/cache/apt/archives/

Siellä nimittäin majailevat koneeseen jo asennetut deb-paketit ja noistahan asentaakin vaikka viereiseen koneeseenkin muistitikun kautta jos ei satu olemaan nettiä käsillä.  Rajoittavana tekijänä tuossa on kuten kaikissa deb-paketeissa oikea bittimäärä eli paketti on tehty joko 32 tai 64 bittiselle Ubuntulle. Tuon näkee kyllä helposti tiedoston nimestä "i386" -loppuiset ovat 32 bittiselle.
 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 19.12.11 - klo:21.12
Osa 3:   Miten muutan levyn osion UUID: n ?

Älä tee tätä ellet tarvitse ja ymmärrä ideaa / mitä teet.  Taustaa:  Koneen systeemiosio oli alkuaan liian pieni ja sijaitsi hankalassa välissä niin että sitä ei päässyt venyttämään oikeasta reunasta. Korjaustoimena laitoin asennusCD: llä koneen käyntiin ja kopioin Gparted: in avulla tuon osion /dev/sda4 uuteen paikkaan missä oli tyhjää tilaa. Uudessa paikassa se oli /dev/sda9.  Kun katsoin "sudo blkid" niin minulla oli:

/dev/sda4  "10.10_root"   d9df00c5-6fd24acc89-b6c8-eee6823a0240        <--- vanha osio

/dev/sda9  "10.10_root"   d9df00c5-6fd24acc89-b6c8-eee6823a0240        <--- uusi osio

eli "label" ja UUID samat molemmilla. Olivat tismalleen samanlaisia --- niin kuin pitikin.

Järjestelmä käynnistyy tuon UUID: n perusteella eli muutin vanhan osion UUID: n toiseksi jolloin se jää huomiotta käynnistyksessä eli näin:

Koodia: [Valitse]
sudo tune2fs /dev/sda4 -U random
Tuo generoi uuden UUID:n  ---> /dev/sda4

Muutin selvyyden vuoksi vanhalla osiolla myös tuon "label" kohdan toiseksi (käy Gparted: in avulla).

Venytin uuden osion oikean reunan niin että tilaa oli nyt noin 20 G.

Kone käyntiin, vika korjattu.

(Alkuaan herjasi täyttyneen osion takia: "Gnomen virrankäytön hallinnan oletusasetuksia ei ole asetettu oikein. Ota yhteyttä tietokoneesi ylläpitäjään.)

Jotain pientä uutta joka päivä ! 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 12.08.12 - klo:21.27
"Avaa sovelluksella..." eli "Open with..."  --- ja se tarvittava sovellus ei näykään siellä ?   Tuolla päämenussa se istuu kuitenkin saatavilla mutta hiiren oikeaan se ei tule mukaan.  
Sattui tuoreen Gnomen / Nautiluksen / Cinnamonin kanssa.

Osui silmään tämä kun jälkikäteen asennettu Seamonkey ei suostunut ilmestymään tuonne "Avaa sovelluksella..." valintoihin.  

http://vazhavandan.blogspot.fi/2012/02/force-programs-to-appear-in-open-with.html (http://vazhavandan.blogspot.fi/2012/02/force-programs-to-appear-in-open-with.html)

Koko juju oli lisätä "%U"  eli prosentti ja iso U -kirjain menuvalinnan komennon perään joka käynnistää Seamonkeyn.  Sitä pääsi muokkailemaan kun painoi Alt-F2 ja kirjoitteli "alacarte".  


PS.  Unohtui tuosta vielä antaa lopuksi Alt-F2, "r", Enter ja nuo asetukset ovat voimassa.


Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 18.08.12 - klo:22.07
Saatan arvata ehkä miksi.  :)   Ei kaksoispiste ole kielletty merkki tiedostonimessä kuin jossain "win-alkuisissa systeemeissä".
Sivujuonteena kaksoispiste tiedostonimessä voi aiheuttaa hankaluuksia Samban kanssa joka jäljittelee erään toisen järjestelmän ominaisuuksia niin hyvässä kuin huonossakin.
Voisi olla mielenkiintoinen tehtävä kopioida vaikkapa 1000 tiedostoa joissa kaikissa on kaksoispisteitä jollain win-alkuisella järjestelmällä --- lyhytpinnaiselle käyttäjälle tuo voisi olla jo kopioinnin estekin.  En ole kyllä vielä kokeillut tuota.

Kysymysmerkki voi aiheuttaa myös hankaluusia. Linux systeemissä aa, Aa, aA ovat eri tietostoja..
 Kikka

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName}" | tr '[:upper:]' '[:lower:]'`; mv "$upName" "$loName"; done

Tuo muuttaa kaikki kirjaimet pieniksi tiedostonnimissä. Itse en tykkää jos ulkoiselta muistilta kopioidut nimet ovat SUURAAKKOSIN. NIITÄ EI OLE KIVA LUKEA.

 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 19.08.12 - klo:19.53
Tuota voi halutessaan hieman lyhentää, pelkän "echo": n avulla saa muunnettua kaikki kirjaimet pieniksi tai isoiksi aika kätevästi jolloin tuon "tr" osan voi jättää putkesta pois:

Koodia: [Valitse]
teksti="AaBbCc"

echo ${teksti,,}
aabbcc
echo ${teksti^^}
AABBCC

Vaatii kuitenkin että käytössä on bash 4  (lienee nykyään joka paikassa ?).

 "echo": lla pystyy tekemään aika monia käteviä etsi/korvaa -asioita, ottamaan esimerkiksi pelkän tiedostonimen polun päästä:

Koodia: [Valitse]
polku="/home/liisa/koe.txt"

echo ${polku##*/}
koe.txt

Tai korvaa liisa matilla tuossa:
Koodia: [Valitse]
polku="/home/liisa/koe.txt

echo ${polku/liisa/matti}
/home/matti/koe.txt
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 19.08.12 - klo:21.41
Tuota voi halutessaan hieman lyhentää, pelkän "echo": n avulla saa muunnettua kaikki kirjaimet pieniksi tai isoiksi aika kätevästi jolloin tuon "tr" osan voi jättää putkesta pois:

Koodia: [Valitse]
teksti="AaBbCc"

echo ${teksti,,}
aabbcc
echo ${teksti^^}
AABBCC

Vaatii kuitenkin että käytössä on bash 4  (lienee nykyään joka paikassa ?).

 "echo": lla pystyy tekemään aika monia käteviä etsi/korvaa -asioita, ottamaan esimerkiksi pelkän tiedostonimen polun päästä:

Koodia: [Valitse]
polku="/home/liisa/koe.txt"

echo ${polku##*/}
koe.txt

Tai korvaa liisa matilla tuossa:
Koodia: [Valitse]
polku="/home/liisa/koe.txt

echo ${polku/liisa/matti}
/home/matti/koe.txt


Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName,,}" ; mv "$upName" "$loName"; done
Olisko tuo oikea lyhennetty versio jos ymmärsin oikein. Muitakin tapoja varmaan on. Mitenkäs ÄÄÖÖ. Riippuu lokaalista?

Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 19.08.12 - klo:23.37
Tuolta on tippunut yksi hankala "takakenohipsukka", muuten ok, pitäisi mennä näin:

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName,,}"`; mv "$upName" "$loName"; done
Välttelen noiden takakenohipsukoiden käyttöä, hyvin virhealttiit kun hankalat havaita ja korvaan ne yleensä taala-sulut merkintätavalla:

`jotain`   on sama kuin:    $(jotain)

Ihan hyvä pointti tuo skandit, niillä ei kumpikaan tapa toimi tuollaisenaan.

aabbccäÄöÖåÅ

Tuon "tr" lauseen voi kuitenkin korjata skandeille muotoon

Koodia: [Valitse]
tr '[A-Z ÄÖÅ]' '[a-z äöå]'
jolloin tulos näyttäisi olevan toivottu.

aabbccääööåå
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 20.08.12 - klo:21.34

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName}" | tr '[A-Z ÄÖÅ]' '[a-z äöå]'`; mv "$upName" "$loName"; done
Tämä toimi melkein. Jos tiedostoa ei muutetta eli loName=upName tulee herjaa....
Ei se vaan ole helppoa... Taas yksi esimerkki, miten näennäisesti oikeassa lauseessa on vika. Näin niitä bugeja syntyy ja korjataan. Kernelissä tosin vähän enempi rivejä.

Miksi tr '[A-Ö]' '[a-ö]'  ei käy? Eikös noi ole peräkkäin?
Otsikko: Vs: Pikku kikkoja
Kirjoitti: kamara - 20.08.12 - klo:21.38
Miksi tr '[A-Ö]' '[a-ö]'  ei käy? Eikös noi ole peräkkäin?

Eivät ole ASCIIssa tai UTF8:ssa.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 21.08.12 - klo:17.33
Lainaus
Tämä toimi melkein. Jos tiedostoa ei muutetta eli loName=upName tulee herjaa...

No siihen voi lisätä testin että muutosta ei tehdä ellei ole mitään muutettavaa:

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName}" | tr '[A-Z ÄÖÅ]' '[a-z äöå]'`; if [ "$loName" != "$upName" ]; then mv "$upName" "$loName"; fi; done
Kaikkeen on ratkaisunsa ?   :)   Tuon voi ilmaista myös näin:

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName}" | tr '[A-Z ÄÖÅ]' '[a-z äöå]'`; [ "$loName" = "$upName" ] || mv "$upName" "$loName"; done
eli käyttäen loogista || -ilmaisua if...then -testin tilalla.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 21.08.12 - klo:21.34

No siihen voi lisätä testin että muutosta ei tehdä ellei ole mitään muutettavaa:

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName}" | tr '[A-Z ÄÖÅ]' '[a-z äöå]'`; if [ "$loName" != "$upName" ]; then mv "$upName" "$loName"; fi; done
Kaikkeen on ratkaisunsa ?   :)   Tuon voi ilmaista myös näin:

Koodia: [Valitse]
ls | while read upName; do loName=`echo "${upName}" | tr '[A-Z ÄÖÅ]' '[a-z äöå]'`; [ "$loName" = "$upName" ] || mv "$upName" "$loName"; done
eli käyttäen loogista || -ilmaisua if...then -testin tilalla.

Vaikuttaa toimivalta. Enää en keksinyt mitään vikaa. Ainakaan nykyisellä lokaalilla.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 25.08.12 - klo:15.44
Kaikkien tiedostotyyppien poistaminen kaikista tiedonimistä nykyisessä hakemistossa "mv" -komennolla voi olla visainen tehtävä.  

Asia käy lyhyesti jos kyseisessä hakemistossa on vain tiedostoja (eikä toisia hakemistoja):

Koodia: [Valitse]
for file in *.* ; do mv $file ${file%.*}; done
leikkaa kaiken pois nimen viimeisen pisteen jälkeen:     kissa.koira.hevonen  ---> kissa.koira      

Koodia: [Valitse]
for file in *.* ; do mv $file ${file%%.*}; done
leikkaa kaiken pois nimen ensimmäisen pisteen jälkeen:  kissa.koira.hevonen ---> kissa

Tuo ei kuitenkaan tee mitään eroa tiedoston ja hakemiston välillä, hakemistonimille käy aivan samalla tavalla.   Tuon asian voi kuitenkin korjata.

Pelkkä "find" ei yksinään tee aivan kaikkea mitä tarvitsemme mutta sen "-maxdepth 1" -vipu auttaa meitä pysymään vain siinä hakemistossa missä olemme --- ilman sitä kahlattaisiin kaikki alihakemistotkin tuosta alaspäin.
Enää tarvitsee seuloa vain ne tiedostonimet joissa on tyyppi.  Meitä siis kiinnostavat vain sellaiset tiedostonimet joissa on vähintään yksi piste.  Hieman tuli pidempi rimpsu:

Koodia: [Valitse]
find -maxdepth 1 -type f | sed 's/.\///g'| grep -E [.] | while read file; do mv $file ${file%.*}; done
poistaa tiedostonimistä kaiken viimeisen pisteen jälkeen koskematta hakemistoihin ja puolestaan

Koodia: [Valitse]
find -maxdepth 1 -type f | sed 's/.\///g'| grep -E [.] | while read file; do mv $file ${file%%.*}; done
poistaa tiedostonimistä kaiken ensimmäisestä pisteestä alkaen koskematta hakemistoihin.  Komento toimii siinä hakemistossa jossa olet eli haluttuun paikkaan pitää mennä ensin "cd": n avulla.

Tarkka lukija saattaa huomata että erona noissa rimpsuissa on vain yksi prosenttimerkki joka aiheuttaa valinnan mistä leikataan poikki.


Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 21.10.12 - klo:16.36
Maailman yksinkertaisin webbipalvelin ?  Kokeilepa tätä:

Koodia: [Valitse]
python -m SimpleHTTPServer
Tuo jakaa nykyisen hakemiston verkkoosi. Kokeile webbiselaimella mitä näkyy kun otat yhteyden porttiin 8000 tuon koneen ip-osoitteessa, esimerkki jos koneesi osoite on 192.168.1.205:   

  http://192.168.1.205:8000

Joskus kätevä kun pitää siirtää pienehkö määrä jotain minimaalisin "virityksin".
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Illu - 21.10.12 - klo:17.30
Maailman yksinkertaisin webbipalvelin ?
Siis järjettömän näppärä konsti päästä nokialaisen wlan-yhteydellä käsiksi kotikansioon!

Kuinka turvallinen tuo on kotiseinien ulkopuolelta?
Otsikko: Vs: Pikku kikkoja
Kirjoitti: poiuyt - 21.10.12 - klo:18.21
Jep, tämä tulee käyttöön. Kiitokset.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 21.10.12 - klo:21.54
Lainaus
Kuinka turvallinen tuo on kotiseinien ulkopuolelta?
Tuo on kätevä johonkin tilapäiseen tarpeeseen ja pääasiassa sisäverkossa. Ei tuon turvallisuutta ole varmaan kukaan tutkinut eikä testannut.  Apache käyntiin jos turva on tärkeä tai sitten ssh vain avaimilla toimivana --- saat olla rauhallisin mielin kunhan avain on turvassa.

Tuolle voi ilmoittaa jonkun keksityn vapaan portin tuon oletusarvon 8000 tilalle, pitäisi toimia kun antaa tuon komennon hännille muun portin numeron niin hieman hankalampi enää sattumalta osua sinne.

 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Kinnari - 23.10.12 - klo:10.59
Kiva vinkki, tuli todella tarpeeseen :)

mutta lopetus ctrl-z:lla jättää jotain vielä koneelle käyntiin?
Yrittäessä uudelleen käynnistää
Koodia: [Valitse]
python -m SimpleHTTPServertulee pitkä selostus ja viimeiseksi virheilmoitus: socket.error: [Errno 98] Address already in use

buutin jälkeen toimii taas

edit: päätteen sulkeminen näköjään myös auttaa
Otsikko: Vs: Pikku kikkoja
Kirjoitti: retu - 23.10.12 - klo:16.37
Eikös ctrl-z ole ennemminkin bg komentoa vastaava pysäytys, kun taas ctrl-c sulkee tavallisesti ohjelman?

Siis ctrl-z jälkeen saat palautettua taustalle jääneen ohjelman fg komennolla.

Kokeilin just, ctrl-z tosiaan pysäyttää eikä vain siirrä taustalle. Sen saa kuitenkin uudelleen käyntiin bg:llä (taustalle) tai fg:llä.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 02.11.12 - klo:14.59
Julkinen ip-osoite:

Osui silmään helppo tapa tarkastaa julkinen ip-osoite "wget": in avulla kun olet NAT: in takana:

Koodia: [Valitse]
echo $(wget -qO- http://ipecho.net/plain)
Otsikko: Vs: Pikku kikkoja
Kirjoitti: mrl586 - 03.11.12 - klo:00.38
Apache käyntiin jos turva on tärkeä
nginx on Apachea turvallisempi vaihtoehto.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: _Pete_ - 03.11.12 - klo:01.09
Apache käyntiin jos turva on tärkeä
nginx on Apachea turvallisempi vaihtoehto.

Ja miten/missä tämä on tutkittu?
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 03.11.12 - klo:18.09
Ohjelmoijan kikkoja --- laskin päätteessä:

Peruslaskutoimitukset kokonaisluvuilla käyvät aika yksinkertaisesti kirjoittamalla tuonne sulkujen väliin mitä haluat:

Koodia: [Valitse]
echo $(( 33+44))77

Koodia: [Valitse]
echo $(( 7*55 ))385

Koodia: [Valitse]
echo $((  387 / 55 ))7

Koodia: [Valitse]
echo $((  387 % 55 ))2     <-- tuo on siis jakojäännös jonka saa tuolla prosenttimerkillä

Pieni kompastuskivi joka kannattaa huomata:   Älä käytä numerossasi etunollaa tai lukusi tulkitaan oktaaliluvuksi (8-kantainen).  Tällöin käy näin (aivan oikein):

Koodia: [Valitse]
echo $(( 08 / 2 ))bash: 08: value too great for base (error token is "08")
  
Tietysti voit olla silloin kiero ja kertoa väkisin että kysessä on tavallinen kymmenkantainen luku vaikka alkaa nollalla:

Koodia: [Valitse]
echo $((10#08 / 2 ))4

ja taas toimii :)         Tuo kymppi tuolla risuaidan edessä kertoo minkä järjestelmän luku seuraa.

Tuo oli oikeastaan johdanto seuravaan asiaan, bash tekee "ilmaiseksi" lukumuunnoksen pyydetystä kantaluvusta kymmenjärjestelmään, tässä esimerkki binääristä (=2-kantainen) tavalliseksi kymmenjärjestelmän luvuksi:

echo $(( 2#10101010 ))         <-- tuon risuaidan eteen kirjoitetaan 2=binääri, 8=oktaali, jne.
170

Toiseen suuntaan (binääriksi päin) se onnistuu joko kirjoittamalla pienen funktion tai käyttämällä "bc" -laskinta:

Koodia: [Valitse]
echo "obase=2; 240" | bc11110000

Iloa näistä on enimmäkseen jos kirjoittelet jotain omia skriptejä.  

PS.  Noiden tuplasulkujen tilalla laskutoimituksissa voi käyttää yksinkertaisia hakasulkuja myös, makuasia.  
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 02.01.13 - klo:11.41
Sammutus päätteestä

Joskus voi olla tarpeellista sammuttaa kone päätteen kautta.  "shutdown" tarjoaa vaihtoehtoja sen mukaan minkä vivun (eli tuo "tavuviiva kirjain") sille antaa perään:

Koodia: [Valitse]
sudo shutdown -k  5
Tuo "viiva k" yllä sammuttaa leikisti:  Lähettää viestin ulos että kone sammuu 5 minuutin päästä mutta ei sammutakaan konetta.   Estää dokumentaation mukaan (man shutdown) kuitenkin uuden kirjautumisen.  

Koodia: [Valitse]
sudo shutdown -r 5
"Viiva pikku-R" aiheuttaa koneen uudelleen käynnistämisen tässä esimerkissä 5 minuutin päästä.  Tuo pitää jättää käyntiin, jos painat perään Ctrl-C niin tuo sammutus peruuntuu.

Toisessa päätteessä on hyvä kokeilla seuraavia:

Koodia: [Valitse]
sudo shutdown -c
Sammutus peruutetaan.   Hieman hilpeämpi tapa saada peruutus aikaan on tappaa "shutdown" ennen kuin se aktivoituu 5 minuutin kuluttua:

Koodia: [Valitse]
sudo killall shutdowneli näinkin sammutus peruutetaan. Tämä perustuu siihen että "shutdown" on yksi ajettava ohjelma kuten mikä hyvänsä käynnissä oleva ohjelma minkä voi myös pakottaa sammumaan.

Koodia: [Valitse]
sudo shutdown -P nowLähtee ajamaan alas heti ja sammuttaa sähkön lopuksi koneesta.

"shutdown" on se suositeltu tapa.  


Vain kokeilijoille ja tekniikan opiskelijoille:

Muillakin keinoin pääsee samaan tulokseen mutta tämä loppuosa on teknisesti uteliaille, ei "joka miehelle".  
Ubuntu toimii normaalisti tasolla "runlevel=2".  Tämän näkee yksinkertaisesti kirjoittamalla
Koodia: [Valitse]
runlevelN 2
Tuo vastaus joka tulee komentoon on  edellinen ja nykyinen "runlevel".  N tarkoittaa joko että edellistä tasoa ei ole tai sitä ei tunneta (dokumentaatio epätarkka tuossa).
Tason voi vaihtaa lennossa "telinit" komennolla.  Jos vaihdat nollaksi niin kone sammuu, jos vaihdat kuudeksi niin kone käynnistyy uudestaan:

Koodia: [Valitse]
sudo telinit 6
Tuo uudelleen käynnistää heti. "telinit" ei kysele, ei odota eikä viestitä vaan pistää toimeksi heti.  "telinit": llä saa koneen yhden käyttäjän tilaan ilman verkkoa (sulje yllätysten välttämiseksi tavanomaiset auki ollevat ohjelmasi normaalisti ennen tätä):

Koodia: [Valitse]
sudo telinit 1
Kyselee salasanan seuraavaksi. Pois pääsee varmimmin "shutdown -r", "reboot", ym. keinoilla tehtyäsi mitä sitten tarvitsitkin yhden käyttäjän tilassa. (jos yrität mennä takaisin "telinit: llä" tasolle 2 se kyllä onnistuu mutta sinulla ei ole toimivaa verkkoa alla.  Jos tuosta edelleen pompit "telinit": in avulla tasolle 1 ilman uudelleen käynnistystä niin saat todennäköisesti aikaan jumin, upstart ei osaa tuota.)
Tähän yhden käyttäjän tilaan voi tulla myös koneen alkukäynnistyksen kautta,  suoraan pääsee jos painaa "e"-kirjainta kun Grub-menu on edessä ja editoi hieman linux-käynnistysvalintaa, sana "single" näyttäisi tekevän osittain asian mutta verkko käynnistyy silti edelleen.

Ubuntu ei näytä reagoivan (tai ainakaan en huomannut) jos "runlevel": in nostaa 3,4,5 kun Ubuntu on käynnissä:

Koodia: [Valitse]
sudo telinit 32 3

eli noilla tasoilla 3, 4 ja 5 ei ole Ubuntussa mitään erityistä merkitystä.  Muissa jakeluissa näille voi olla keksitty vaihtelevasti käyttöä.  Vain nuo tasot 0 ja 6 ovat käyttötarkoitukseltaan samoja kaikissa tapauksissa, 0=sammuta ja 6=uudelleen käynnistä.   

Otsikko: Vs: Pikku kikkoja
Kirjoitti: Heikki Ketoharju - 02.01.13 - klo:14.04
Wikipedian artikkeli runleveleistä on kiinnostava: http://en.wikipedia.org/wiki/Runlevel

Muistelinkin, että standardin mukaan kolmostasolla käynnistyy normaali monen käyttäjän tila ilman graafista käyttöliittymää, ja vitostasolla normaali graafinen käyttöliittymä!
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 02.01.13 - klo:14.59
Lainaus
standardin mukaan kolmostasolla käynnistyy normaali monen käyttäjän tila ilman graafista käyttöliittymää, ja vitostasolla normaali graafinen käyttöliittymä!
Standardin ?  LSB mutta ei Debian, Ubuntu, ...
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Vika/fiba - 02.01.13 - klo:15.16
Jotain tuntui muistuvan mieleen noista ajotasoista, ja kyllä, Raimo Kosken linux-kirjassa neuvotaan käynnistämään verkko uudelleen siirtymällä telinitillä tasolle 2 ja takaisin kolmostasolle. Näin siis RHEL-distroissa, toisin on Debianeissa: http://linux.fi/wiki/Ajotaso (http://linux.fi/wiki/Ajotaso).
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 02.01.13 - klo:15.51
Jotain tuntui muistuvan mieleen noista ajotasoista, ja kyllä, Raimo Kosken linux-kirjassa neuvotaan käynnistämään verkko uudelleen siirtymällä telinitillä tasolle 2 ja takaisin kolmostasolle. Näin siis RHEL-distroissa, toisin on Debianeissa: http://linux.fi/wiki/Ajotaso (http://linux.fi/wiki/Ajotaso).

Ajotason vaihto on kätevä esim. näytönohjaimen ajuria päivitettäessä. Ajatasot tosin vaihtelevat eri jakeluissa.

shutdown -h now  (h=halt) on minulla nopea tapa sammuttaa kone. shutdown -h 1:30 sammuttaa koneen klo 1:30. Kätevää jos esim. myöhäinen TV-ohjelma tallentumassa. shutdown -h 30 sammuttaa koneen 30 min kuluttua. -k oli minulle uusi ja käyttämätön vipu. Shutdown käskyn voi ohjelmoida myös kauko-ohjaimeen. Mikä usein myös kätevää.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 05.01.13 - klo:12.18
100%  --- mistäs tämä nyt ?

Joskus voi käydä että kone on kuin tervassa, reagoi kaikkeen hitaasti ja myöhästellen.  Syynä useimmiten on että kuormitus on syystä tai toisesta 100 %, jokin asia vie kaikki tehot.   Jos päätteen saa auki (usein aukeaa kun painaa Ctrl-Alt-T niin ei tarvitse hiirtä odotella...)  niin asiaa pääsee tutkimaan ja korjaamaan.

Monille on tuttu "top" ohjelma, itse olen mieltynyt "htop" ohjelmaan joka näyttää mukavasti tilanteen. Tuo "top" lienee valmiiksi asennettuna, "htop" pitää asentaa itse:

Koodia: [Valitse]
sudo apt-get install htop
Kun "htop" on asennettu se kannattaa käynnistää "sudo": n kanssa jos haluat myös lopettaa jumittelun aiheuttavan ohjelman:

Koodia: [Valitse]
sudo htop
Tuo "htop" on melko havainnollinen ja käyttö helppo oivaltaa.  Jumiva ohjelma näkyy heti ylimmäisenä, ellei niin liikkuu nuolinäppäimillä tai hiirellä kohdalle.  F8 määrää ohjelman kuormitusta pienennettäväksi yhden pykälän (eli "nice" arvon nostettavaksi) ja pakkosuljettua jumijan saa kun painaa "F9" ja vielä "Enter" perään.

Ohjelman tappamista ei välttämättä kannata tehdä ensi töinä jos haluaa tietää mikä tuon aiheutti.
Usein vaikka päätteen levittäisi niin isoksi kuin saa niin voi käydä että ei pääse näkemään koko komentoa loppuun asti millä jumiva ohjelma on käynnistetty, rivi voi olla niin pitkä.  Tuohonkin on kikka: Katsotaan ajotunnus (PID).   Jos ajotunnus oli vaikkapa 12566  niin voimme kurkistaa koko komennon millä tuo ohjelma oli käynnistetty:

Koodia: [Valitse]
echo $(cat /proc/12566/cmdline)
Tuonne tietysti se oikea PID-numero minkä näit "htop": ssa.  Tuolta "/proc" kansion alta voit tarkastaa itseasiassa mistä hyvänsä käynnissä olevasta ohjelmasta miten se oli käynnistetty (ja muitakin tietoja).

PS.  "nice" arvon nostaminen pienentää kuormitusta, muistisääntönä "nice" arvosta: "tekee mukavammaksi", ainakin jos kone on ylikuormittunut.  Puolestaan laskeminen eli negatiivinen arvo ohjeistaa antamaan lisää huomiota kyseiselle ohjelmalle mikä voi johtaa kuormituksen nousuun.  Vain "root" pystyy pienentämään "nice" arvoa (nostamaan kuormitusta) eli myös silloin tarvitaan  "sudo".
PPS.  "htop": lla tehdyt muutokset eivät säily koneen uudelleen käynnistyksen yli. Pysyvät muutokset/korjaukset kuormitukseen pitää tehdä eri tavalla.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Vika/fiba - 05.01.13 - klo:16.43
Silloin tällöin htop on mainittu näissä keskusteluissa. Nyt innostuin asentamaan ja kokeilemaan, vaikka juuri nyt en tarvitsekaan.
Senverran hyvältä näytti, että jää koneelle "pahan päivän varalle". Useinhan jumit johtuvat graafisista sovelluksista, jolloin komentoripohjainen ratkaisu saattaa vielä toimia.
Ps. ohjelmasta poistutaan qlla, kuten monista päätteen pikkuohjelmista, ei F10:llä, kuten htopin ikkuna opastaa.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Heikki Ketoharju - 07.01.13 - klo:01.56
Eikös tuossa htopissa näe komentorivin lopun, kun vain liikuttaa nuolinäppäimillä ruutua oikealle? Vai onko joskus niin pitkiä komentorivejä, ettei näy sittenkään?
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 07.01.13 - klo:08.56
Näkee sen hännän pyörittämällä sivuttain, kiitos kommentista !   Jos silti haluaa koko pitkän komennon kokonaan  eteensä näkyviin tuo "echo" tekee asian.  Esimerkki pitkästä rivistä on kun "rtmpdump" lataa jotain Areenasta (esim.  "yle-dl": n käynnistämänä).  Tätä "rtmpdump" -riviä saa tovin pyöritellä "htop": lla katseltaessa, näytän sen tässä "echo": n avulla:

Koodia: [Valitse]
echo $(cat /proc/22216/cmdline)
/usr/local/bin/rtmpdump--playpath=mp4:areena/fi/69/69a19396d31846bf9f0a8cb5dac53e8b.mp4--swfUrl=http://areena.yle.fi/static/player/1.2.8/flowplayer/flowplayer.commercial-3.2.7-encrypted.swf--app=ondemand?_fcs_vhost=cp157366.edgefcs.net&auth=eb.dBbfa_b.ccaVdLdoadcScMd3dDcKcKcIbgaRaBcPaOatcRbEcgaUbmcSbtcebEaI-bq6Nlo-c0-vga-vvoBtyyopvqztrvwxlAo-nen3memfl6nclVkhl3m6kXn0&aifp=6&slist=areena/fi/69/69a19396d31846bf9f0a8cb5dac53e8b--pageUrl=http://areena.yle.fi/tv/523473--rtmp=rtmpe://cp157366.edgefcs.net/ondemand--tcUrl=rtmpe://217.212.252.199/ondemand?_fcs_vhost=cp157366.edgefcs.net&auth=eb.dBbfa_b.ccaVdLdoadcScMd3dDcKcKcIbgaRaBcPaOatcRbEcgaUbmcSbtcebEaI-bq6Nlo-c0-vga-vvoBtyyopvqztrvwxlAo-nen3memfl6nclVkhl3m6kXn0&aifp=6&slist=areena/fi/69/69a19396d31846bf9f0a8cb5dac53e8b-oMartta puhuu (S)-2013-01-04T07:55:00.flv

Tuo kaikki yllä on siis yksi (1) ainoa rivi eli komento ohjelmaa käynnistettäessä. Tämä foorumiohjelma tietysti taittaa rivin moneksi katselua varten että pystyy sen näyttämään.

PS. Katselun lisäksi ohjelmointitaitoinen voi joskus hyödyntää tuota ohjelmoinnissa.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: aku506 - 30.01.13 - klo:15.46
Toi htop on kyllä todella kätevä.

Tuo tappo yhdistelmällä F9 + enter ei aina toimi. Sen jälkeen voi kätevästi painaa F9, etsiä kohdan sigkill ja painaa enter. Se auttaa vielä varmemmin.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 01.02.13 - klo:13.06
"Mitkäs näistä nyt olikaan voimassa..."

Joskus joutuu selaamaan erittäin pitkiä systeemitiedostoja. Pitkiä ne ovat siksi kun kommentoituna on kaikki optiot ja lisukkeet mitä ikänä siellä voi käyttää ja pitkän tekstin lomassa siellä täällä on ne aktiiviset arvot joiden edestä on risuaita poistettu.  
Aktiiviset arvot saa näkyviin hieman kivemmin vaikka "grep": in avulla, tässä esimerkki "/etc/login.defs" tiedostosta:

Koodia: [Valitse]
grep '^[^#]\w*'   /etc/login.defs
Väkäsellä nuo saa myös halutessaan tiedostoon:

Koodia: [Valitse]
grep '^[^#]\w*' /etc/login.defs  >arvot.txt
Otsikko: Vs: Pikku kikkoja
Kirjoitti: L.General - 01.02.13 - klo:21.23
Oli tarvetta tehdä listaus kansiossa olevista tiedostoista.
Keksin puolivahingossa helpon tavan tehdä sen.

Koodia: [Valitse]
>lista.txt ls
tekee "lista.txt"-nimisen tiedoston kansiossa olevista tiedostoista.


Edit:poistettu koodista turhat välilyönnit.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Tomin - 01.02.13 - klo:22.28
Oli tarvetta tehdä listaus kansiossa olevista tiedostoista.
Keksin puolivahingossa helpon tavan tehdä sen.

Koodia: [Valitse]
>lista.txt ls
tekee "lista.txt"-nimisen tiedoston kansiossa olevista tiedostoista.


Edit:poistettu koodista turhat välilyönnit.
Yleensä kirjoitetaan vähän toisinpäin:
Koodia: [Valitse]
ls >lista.txteli idea on että ls-komennon tuloste ohjataan (>-merkki) tiedostoon (nimeltään lista.txt).
Muokkaus: Tuossa vielä lisätietolinkki: http://linux.fi/wiki/Komentorivin_perusteet#Tiedostojen_putkitus
Otsikko: Vs: Pikku kikkoja
Kirjoitti: L.General - 02.02.13 - klo:21.28
Kiitos linkistä ja oikaisusta, Tomin.
Kaikki ei aina mene ihan oppikirjan mukaan kun kantapään kautta kokeilee.
Etsin itsekin ohjeita komentorivin käyttöön, mutta tuota en löytänyt.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: odysseus - 04.02.13 - klo:17.27
Yleensä kirjoitetaan vähän toisinpäin:

Tuota jäinkin miettimään, että mitenkäs se voi edes toimia tuolla alkuperäisellä nurinkurisella mallilla?

Sehän ei käy järkeen lainkaan! Onko tuohon joku selitys?
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 06.02.13 - klo:22.07
Monitorin tilat/tarkkuudet ?

Joskus voi olla tarpeen kaivaa tietoja monitorin (tai läppärissä lcd-panelin) ominaisuuksista.  Tämä näyttäisi tekevän sen aika kätevästi:

Koodia: [Valitse]
sudo hwinfo --monitor

Jos tuo "hwinfo" ei ole vielä asennetuna koneessasi niin:

Koodia: [Valitse]
sudo apt-get install hwinfo

Tuo kaivoi tiedot oikein esiin myös eräästä "ongelmapesästä" missä näytön tarkkuuksien kanssa on ollut hieman hankaluuksia.

Edit:
"hwinfo" saattaa joutua vaikeuksiin tai ainakin antaa virheitä ellei "hal" ole asennettu koneeseen:

Koodia: [Valitse]
sudo apt-get install hal
"hal" osuuden pitäisi olla nykyään toteutettu muuta tietä mutta edelleen voi kohdata tilanteita jossa tuon hallin puuttuminen aiheuttaa ongelmia.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Tomin - 06.02.13 - klo:22.28
Monitorin tilat/tarkkuudet ?
Tästä tulikin mieleeni, että Linus jakoi jokin aika sitten tällaisen tarinan:
https://plus.google.com/102150693225130002912/posts/HQsCY7ErAL4
Tuolla esiintyy aika hyödyllisen oloinen ohjelma nimeltään gtf. Sillä voi laskea sopivan modelinen antamalla resoluution ja taajuuden.
Koodia: [Valitse]
$ gtf 1920 1080 60

  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 07.02.13 - klo:22.17
(Tekniikasta kiinnostuneille tämä tarina)

"lsmod" näyttää kaiken ?

Moni tietää että "lsmod" komennolla voi katsella ytimen jatkoksi ladattuja moduleita kuten erilaisia ajureita.  Pieni mietinnän paikka voi tulla vastaan kun huomaa että "lsmod" ei näytä kaikkea vaan ainoastaan ne ajurit/modulit jotka on ladattu "perässä".  Listassa ei näy ne modulit jotka on sisäänrakennettu itse ytimeen eli hienommin sanottuna käännetty mukaan ytimeen jo sitä luotaessa. Arvaanpa että seuraava kysymys on että milläs ne sitten näkee.  
Tuohon ei liene (?) mitään suoraa komentoa mutta pikku kikkailulla tuota voi tutkia jos vaikka tarvitsee tietää jonkin ominaisuuden tuesta ytimessä:

Koodia: [Valitse]
grep -i  "SATA"  "/boot/config-$(uname -r)"*
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_SATA_QSTOR=m
CONFIG_SATA_SX4=m
# SATA SFF controllers with BMDMA
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m

Selitys:   y=ytimessä mukana, m=modulina

Jos joudut tuota tiuhempaan käyttämään niin kirjoittelin sen skriptin muotoon ja annoin nimeksi "modstat":

http://www.homelinuxpc.com/download/modstat (http://www.homelinuxpc.com/download/modstat)

Tiputuksen jälkeen "chmod +x modstat" ja laittaa polun varteen (sudo cp -a modstat /usr/local/bin) tuon niin toimii sen jälkeen kätevästi:

Koodia: [Valitse]
modstat SATA
Tuohon "SATA" sanan tilalle tietysti se mitä haluaa etsiä: FireWire, PATA, RTL,...mitä hyvänsä, isoilla ja pienillä kirjaimilla ei eroa haettavan sanan kohdalla.  

Laitetaan vielä linkki mihin tuo edelläoleva perustuu:
http://www.cyberciti.biz/faq/linux-kernel-driver-feature-compiled/ (http://www.cyberciti.biz/faq/linux-kernel-driver-feature-compiled/)
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 08.02.13 - klo:10.58
Mikä rauta, mikä nopeus ?

Kätevin tapa lienee kaivaa nuo esiin "dmidecode" ohjelmalla eli pääte ensin auki ja komennot sinne:

Mikä BIOS:
Koodia: [Valitse]
sudo dmidecode -t 0
Mikä kone:
Koodia: [Valitse]
sudo dmidecode -t 1
Mikä emo:
Koodia: [Valitse]
sudo dmidecode -t 2
Sarjanumero tai "Asset" -numero
Koodia: [Valitse]
sudo dmidecode -t 3
Suoritin, kellotaajuus, tuetut ominaisuudet:
Koodia: [Valitse]
sudo dmidecode -t 4
Muisti:
Koodia: [Valitse]
sudo dmidecode -t memory
Muita kokeilemisen arvoisia sanoja tuon "-t" jälkeen on  
  bios
  system
  baseboard
  chassis
  processor
  cache
  connector
  slot

Kaikki mitä "dmidecode" löytää:
Koodia: [Valitse]
sudo dmidecode
Monia asioita näkee myös tuon "hwinfo" ohjelman avulla josta mainitsin LCD-panelin tarkkuuden yhteydessä tuolla ylempänä.  Kannattaa kuitenkin huomata että "hwinfo" saattaa vaatia että "hal" on asennettu koneeseen toimiakseen virheettömästi (lisää ylempänä).
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 09.02.13 - klo:14.39

Kuormaa koneelle

Kuorman tekeminen käy päätteessä hyvin yksinkertaisesti:

Koodia: [Valitse]
while :;do :;done
Pitäisi olla kuormitusprosentit aika korkeat jos katsoo "top" tai "htop" ohjelmalla. Jos koneessa on useampi ytiminen CPU (kaikki uudemmat koneet) niin päätteitä voi vastaavasti avata useamman ja käynnistää kuormituksen kussakin.  Tuon kuormituksen saa katkaistua kun painaa päätteessä Ctrl-C. 

Toiminta: Rakenteeltaan tuo on ikuinen silmukka joka ajaa "NOP" komentoa loputtomasti. Jos ihmettelet hieman ehtolausetta ja komentoa tuossa niin kaksoispiste on testausehtona aina tosi (true) mutta komentona NOP.  Puolipisteitä tarvitaan että koko asian saa yhdelle riville.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 12.02.13 - klo:18.15
Suhinaa kaiuttimista  :)

Monelle on tuttua vanha kikka saada kohinaa aikaiseksi: Ohjataan dataa jostain "random" laitteesta menemään --> /dev/dsp   tai --> /dev/audio.   Ubuntussa ei ole näkynyt näitä äänilaitteita ollenkaan oletettavasti Pulse Audion takia mutta onnistuu tuo temppu silti edelleen tässä muodossa:

Koodia: [Valitse]
cat /dev/urandom | padsp tee /dev/dsp > /dev/null

Ctrl-C lopettaa suhinan.  En ole tutkinut tuon suhinan taajuussisältöä millään analysaattorilla (eli kävisikö esim. vastemittaukseen).

Mikään ei tietenkään estä soveltamasta tuota kellotettuna muistutuksena vaikka näin:

Koodia: [Valitse]
at 12:30at> cat /dev/urandom | padsp tee /dev/dsp > /dev/null
Ctrl-D


Tuolle "at" komennolle voi antaa kellonajan suoraan yllä olevalla tavalla tai sitten muodossa "now + 15 min".

Suhina katkeaa nopeiten tällä:

Koodia: [Valitse]
killall tee
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 23.02.13 - klo:22.32
Webbipalvelin toimii --- vai toimiiko sittenkään ?

Ping on yksinkertainen ja kätevä jos haluaa tarkistaa että jonkinlainen yhteys on olemassa. Jos pingaa jotain webbinimellä, esimerkiksi "forum.ubuntu-fi.org" ja saa vastauksen jossa ip-osoite niin tietää että nimipalvelukin toimii.
Vastauksen saaminen pingiin on vasta ensimmäinen vaihe. Voihan tilanne olla että yhteys kohteeseen on toimintakunnossa mutta webbipalvelin koneella on nurin. Joskus voi pingaus olla estetty tahallisestikin. Tuon tilanteen havaitsemiseen on kätevintä tehdä eräänlainen "http-ping", lähetetään webbipalvelimelle lyhyt kysymys http-koodattuna (eli samalla periaatteella kuin webbiselainkin kysyy)  "onko siellä ketään".  Tuon kysymyksen lähettäminen päätteessä on hyvin yksinkertaista "wget" -ohjelman avulla:

Koodia: [Valitse]
wget --spider -S -T 3 -t 3 forum.ubuntu-fi.org--2013-02-23 22:04:40--  http://forum.ubuntu-fi.org/
Resolving forum.ubuntu-fi.org (forum.ubuntu-fi.org)... 91.189.94.248
Connecting to forum.ubuntu-fi.org (forum.ubuntu-fi.org)|91.189.94.248|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Sat, 23 Feb 2013 20:04:40 GMT
  Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.26 with Suhosin-Patch
  X-Powered-By: PHP/5.2.4-2ubuntu5.26
  Expires: Sat, 26 Jul 1997 05:00:00 GMT
  Cache-Control: private
  Pragma: no-cache
  Last-Modified: Sat, 23 Feb 2013 20:04:40 GMT
  Content-Type: text/html; charset=UTF-8
  X-Cache: MISS from vostok.canonical.com
  X-Cache-Lookup: MISS from vostok.canonical.com:8800
  Via: 1.1 vostok.canonical.com:8800 (squid/2.7.STABLE7)
  Set-Cookie: PHPSESSID=9be179467400e252161979760b881246; path=/
  Via: 1.1 forum.ubuntu-fi.org
  Keep-Alive: timeout=15, max=100
  Connection: Keep-Alive
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

Tuossa on aika pitkästi tietoja. Jos tarve on vain saada pelkkä tieto vastaako webbipalvelin ja tehdä jotain kielteisessä tapauksessa niin se käy helposti näin:

Koodia: [Valitse]
wget --spider -T 3 -t 3 -q forum.ubuntu-fi.org || echo "Ei löytynyt"
Tuon toiminta on helppoa ymmärtää kun muistaa että "tuplaputken" eli "||" jälkeen oleva komento suoritetaan vain kun ensimmäinen komento epäonnistuu eli kun "wget" menee virheeseen yrittäessään yhteyttä. Tuo "-q" vipu saa aikaan sen että "wget" on hiljaa eli ei tulosta mitään tekstiä vaan välittää vain seuraavalle ohjelmalle tiedon onnistumisesta/epäonnistumisesta. Iso "T" on timeout, pieni "t" yrityskertojen määrä ja "-S"= --server-response.
Tuohon voi tietysti laittaa minkä hyvänsä komennon tuon tuplapalkin perään, vaikka viestin lähetyksen tai hälytyksen epäonnistumisesta.  Samoin tuota komentoa pystyy automaattisesti ajamaan toistuvasti halutulla aikavälillä (esim. 1 min) laittamalla sen "crontab" ohjelmaan.

Jos epäilet silti että vika on omissa laitteissa, lähistön laitteissa tms. niin ei keinot tähän lopu.  Netistä löytyy monia paikkoja mistä voi kokeilla tuleeko http-vastausta.  Googlella löytyy noita nopeasti mutta tässä esimerkkejä:

http://www.inspyder.com/free/HttpHeaderViewer.aspx (http://www.inspyder.com/free/HttpHeaderViewer.aspx)
http://pgl.yoyo.org/http/server-headers.php (http://pgl.yoyo.org/http/server-headers.php)
http://web-sniffer.net/ (http://web-sniffer.net/)

Tai sitten voit katsella merkkipohjaisella webbiselaimella (Lynx) eri paikoista näkyykö mitään:

http://www.yellowpipe.com/yis/tools/lynx/lynx_viewer.php (http://www.yellowpipe.com/yis/tools/lynx/lynx_viewer.php)
http://www.kk-software.de/Lynxview.html (http://www.kk-software.de/Lynxview.html)


Edit:  
Korjasin pienen kirjoitusvirheen tuolla "wget": in vivuissa. Nyt se ei myöskään enää jumitu vastauksen puutteeseen vaan luovuttaa yritettyään kolme kertaa.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 24.02.13 - klo:14.23
Suhinaa kaiuttimista  :)

Monelle on tuttua vanha kikka saada kohinaa aikaiseksi: Ohjataan dataa jostain "random" laitteesta menemään --> /dev/dsp   tai --> /dev/audio.   Ubuntussa ei ole näkynyt näitä äänilaitteita ollenkaan oletettavasti Pulse Audion takia mutta onnistuu tuo temppu silti edelleen tässä muodossa:



Suhinaa antaa myös ALSA:n speaker-test ja laitteenkin voi valita. Joillakin kun on HDMI käytössä.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: aku506 - 24.02.13 - klo:17.00
Suhinaa antaa myös ALSA:n speaker-test ja laitteenkin voi valita. Joillakin kun on HDMI käytössä.
Tuohan on hieno löytö! Tuolla saa aikaiseksi myös hienoja piippauksia ja voi kuunnella eri äänen korkeuksia.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 24.02.13 - klo:22.35

Tuohan on hieno löytö! Tuolla saa aikaiseksi myös hienoja piippauksia ja voi kuunnella eri äänen korkeuksia.

ÖÖ Piippauksia? Sitä en ole kuullutkaan. Aina olen käyttänyt tuota ALSA:n asennuksen jälkeen tuleeko ääntä ulos.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 25.02.13 - klo:08.54
Lainaus
ÖÖ Piippauksia? Sitä en ole kuullutkaan.

Siitä saa siniaaltoa myös eli sitä samaista puhdasta vinkunaa tai murinaa mitä olet ehkä kuullut testisignaalina joskus.   Tai vaikka viritysäänen 440 HZ (tai 442 Hz jos tuo on soittimellesi sopivampi).
Tuosta vaikka soitinta virittämään "A" äänen mukaan:

Koodia: [Valitse]
speaker-test -t sine -f 440 -c 2
Tuon "440" tilalle voit laittaa suoraan taajuuden, yksikkö Hz. Tuon "c": n jälkeen on kanavien lukumäärä, laitoin tuohon kaksi niin pitäisi kuulua kaikilla (=etuvasen + etuoikea useampikanavaisissa).

Ethän sitten vahingossa riko kaiuttimiasi yliteholla jos laitat jotain ääripään taajuuksia.  Vahvistin pystyy syöttämään helposti kymmenen kertaa enemmän tehoa kuin mitä diskanttielementtisi kestää kaapissasi.  Samoin matalalla bassolla saat kartion hakkaamaan holtittomasti pohjaan/ulos  ---> risa.  Käry on tapahtunut ennen kuin ehdit tarttua voimakkuussäätimeen vahvistimessasi eli voimakkuus ensin nollille ja sitten vasta kokeilemaan.    Olen varoittanut.

Vinkkinä vielä taajuuksista, 4 kielisen pystybasson tai bassokitaran matalin ääni "E" on noin 41 Hz ja vastaavasti 5-kielisen basson alin "H" noin 31 Hz.   Toistettaessa hyvin matalia taajuuksia isolla teholla on kaiuttimen mekaniikka kovilla.   Vastaavasti diskanttielementeillä (usein noin 3 KHz taajuudesta ylöspäin) tulee lämpöhäviöt ongelmaksi isoilla tehoilla, pieni kela kärähtää liiasta tehosta.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 25.02.13 - klo:20.14
Kiitos selventävästä vastauksesta. Soittamisesta en tiedä mitään, eikä edes mieleen välähtänyt että pientä apuohjelmaa voi käyttää kitaran virittämiseen. Testilevyjä olen toki kuunnellut. Joiltakin valmistajilta voi jopa tilata ilmaisia esittelylevyjä. Sitä en tiennyt että pystybassolla pääsee noinkin alas. 31 Hz oli aika hiljainen. 40 Hz kuului jostain syystä kovempaa kuin 50 Hz.  Kovaääniset (http://www.acoustic-energy.co.uk/Default.aspx?pagename=Radiance-2-Series-loudspeaker)
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 05.03.13 - klo:11.12
Tein vain yhden pikku muutoksen... ?    ???

Oletko koskaan miettinyt mihin kaikkiin tiedostoihin systeemi/ohjelmasi on kajonnut kun teit jonkun muutoksen ?   Tai miten peruutat tietämättä yhtään mikä kaikki on äskettäin muuttunut ?

"find" on kätevä ja monipuolinen ohjelma.  Voit määrittää esimerkiksi että näytä kaikki tiedostot joita on muuteltu viimeisen minuutin kuluessa.   Tuosta on ollut hyötyä ainakin itselleni eli antanut hyviä vinkkejä minne kaikkialle muutoksia kirjoitettiin:

Koodia: [Valitse]
sudo find / -type f -mmin 1

"mmin" = modified in minutes = sisältöä muutettu viimeksi kuluneen N minuutin aikana
"cmin" voi olla hyödyllinen jos etsit jotain "minne se tiputettu tiedosto nyt menikään" -tyyppistä.


Lisää erilaisia hyödyllisiä seuloja löytyy tuon "find": in ohjeista:

Koodia: [Valitse]
man find
q-kirjain lopettaa selailun.


PS. Jos etsit muuta/monimutkaisempaa välinettä systeemierojen vertailuun niin myös "dconf" (+ zdiff) voi olla tutustumisen arvoinen.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: vellu@vmach - 06.03.13 - klo:15.13
SoX:in manuaalista löytyi metka kitaranviritys jutska:

Koodia: [Valitse]
for n in E2 A2 D3 G3 B3 E4; do play -n synth 4 pluck $n repeat 2; done


Korjattu katkennut rivi --- ajaaskel
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 07.03.13 - klo:10.20
:)  Hauska ja soittelee suoraan nuotteja kirjaimina.  Tuo SoX onkin tosi monipuolinen paketti, on äänen generointia että muokkausta (kaiku, flanger, phaser, compressor,eq, FIR,...).  Komentorivivipuja ja optioita riittää.  Kokeilin hieman mitä ääniä tuolta löytyy helpolla:

Pyyhkäisty sini:
Koodia: [Valitse]
play -n synth 3 sine 100-10000
Vaaleanpunainen kohina:
Koodia: [Valitse]
play -n synth 3 pinknoise
Nopeutettu/korotettu, "Aku Ankka":
Koodia: [Valitse]
play /usr/share/sounds/alsa/Front_Right.wav  speed 1.5
Vain korotettu (1200 senttiä=oktaavi ylöspäin, -1200 oktaavi alas):
Koodia: [Valitse]
play /usr/share/sounds/alsa/Front_Right.wav pitch 1200
Noilla kahdella komennolla voi tietysti koesoittaa mitä hyvänsä .wav tiedostoa.

Ja useampi ääni samaan aikaan:
Koodia: [Valitse]
play -n synth pl G2 pl B2 pl D3 pl G3 pl D4 pl G4 delay 0 .05 .1 .15 .2 .25 remix - fade 0 4 .1 norm -1
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 02.04.13 - klo:10.59
"ping" ja "traceroute" tuttuja ?   Entä "mtr" joka yrittää testata yhteyden laatua ?

"mtr" ohjelmasta on kaksi vaihtoehtoista versiota.  "mtr-tiny" toimii päätteessä, "mtr" käynnistyy graafisesti.   Käynnistys on päätteessä "mtr" oli kumpi hyvänsä asennettu.

Näyttäisi että "mtr" ei osaa näyttää tilastoa jos hostname on kysymysmerkkejä.

Pääteversio:
Koodia: [Valitse]
sudo apt-get install mtr-tiny
Graafinen (korvaa pääteversion):
Koodia: [Valitse]
sudo apt-get install mtr
Käyttöesimerkki päätteessä:
Koodia: [Valitse]
mtr forum.ubuntu-fi.org
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 05.10.13 - klo:14.59
GPT osiotaulu muistitikullani ?

Kohtasin yllättävän kiusan:  Muistitikkuni osiotaulu oli jossain vaiheessa muuttunut GPT tyyppiseksi mahdollisesti oman toimeni tai jonkin muun syyn johdosta ja vanhat tutut osiointityökalut sanoivat kiitos ei tikulleni:

Koodia: [Valitse]
fdisk /dev/sdX
VAROITUS: GPT (GUID Partition Table) havaittu laitteella ”/dev/sdb”! Fdisk ei tue GPT:tä. Käytä GNU Partediä.

Aika hyödytön neuvo tuossa viestissä tässä tilanteessa sillä työkalut jotka tukevat GPT: tä eivät haluakaan poistaa sitä vaan muuttaa mahdollisen MBR: n tilalle GPT:n.  Heräsi jo hetken epäilys että eikö tuosta GPT: stä muistitikulla pääse eroon lainkaan vähällä vaivalla kunnes osui Googlella silmään tämä:

Koodia: [Valitse]
fixparts /dev/sdX
Tuo osasi poistaa GPT: n ja entiset välineet toimivat taas tikun kanssa :)


( Loppuvaroitus: Tuonne sdX -kohtaan pitää sitten itse tietää tilalle se oikea osio.  Älä tee jos et ole varma mistä tässä on kyse.)
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 05.10.13 - klo:18.08
GPT osiotaulu muistitikullani ?

Kohtasin yllättävän kiusan:  Muistitikkuni osiotaulu oli jossain vaiheessa muuttunut GPT tyyppiseksi mahdollisesti oman toimeni tai jonkin muun syyn johdosta ja vanhat tutut osiointityökalut sanoivat kiitos ei tikulleni:


Miten dd. Eikös silläkin saa vaikka nollaa levyn alkuun. 512 tavua levyn alusta riittää poistamaan lataajan ja osiotaulun. Vaarallinen komento joten en anna esimerkkiä
Otsikko: Vs: Pikku kikkoja
Kirjoitti: petteriIII - 05.10.13 - klo:19.51
dd:tä minä olen käyttänyt. Mutta olen kyllä kaivannut parempaa. Minun koneeseeni ei fixparts:ia saa joten en tiedä mutta nimestä päätellen fixparts olisi kelvollinen.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: mrl586 - 05.10.13 - klo:20.18
Ainakin fdisk osaa luoda mbr-tyyppisen osiotaulun.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 05.10.13 - klo:22.10
Asia lähti liikkeelle siitä että fdisk kieltäytyi nähdessään GPT: n (se ensimmäinen viesti).

No, kokeillaanpa myös hieman dd: n kanssa ja laitetaan 4G tikku puhtaaksi kokonaan päästä päähän:

Koodia: [Valitse]
dd if=/dev/zero of=/dev/sdXdd: kirjoitettaessa tiedostoon ”/dev/sdb”: Laitteella ei ole tilaa jäljellä
7831553+0 tietuetta sisään
7831552+0 tietuetta ulos
4009754624 tavua (4,0 GB) kopioitu1365,05 sekunnissa, 2,9 MB/s

Vei aikaa 1365 s eli ~23 min.  eli ei nopea operaatio.  Vähempikin putsaus olisi tähän tarkoitukseen riittänyt mutta halusin samalla nähdä kyseisen PNY-tikun kirjoitusnopeuden.

fdisk havaitsi kaiken olevan puhdasta nollaa tuon jälkeen ja sanoi näin:

Koodia: [Valitse]
fdisk /dev/sdXLaitteella ei ole kelvollista DOS-, Sun-, SGI- eikä OSF-levynimiötä
Muodostetaan uusi DOS-levynimiö, tunniste 0x97e26e5b.
Muutokset pidetään vain käyttömuistissa, kunnes päätät kirjoittaa ne
levylle. Sen jälkeen edellistä sisältöä ei tietenkään voida enää
palauttaa.

Varoitus: osiotaulun 4 virheellinen lippu 0x0000 korjataan kirjoitettaessa (w)

Komento (m antaa ohjeen): w
Osiotaulua on muutettu!

Kutsutaan osiotaulun uudelleen lukeva ioctl().
Synkronoidaan levyt.




Tuosta eteenpäin kaikki taas kuten tavallisesti.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: New_user - 08.10.13 - klo:09.13
Kiitos selventävästä vastauksesta. Soittamisesta en tiedä mitään, eikä edes mieleen välähtänyt että pientä apuohjelmaa voi käyttää kitaran virittämiseen. Testilevyjä olen toki kuunnellut. Joiltakin valmistajilta voi jopa tilata ilmaisia esittelylevyjä. Sitä en tiennyt että pystybassolla pääsee noinkin alas. 31 Hz oli aika hiljainen. 40 Hz kuului jostain syystä kovempaa kuin 50 Hz.  Kovaääniset (http://www.acoustic-energy.co.uk/Default.aspx?pagename=Radiance-2-Series-loudspeaker)

Huone ja kuuntelupaikka huoneessa vaikuttavat aivan ratkaisevasti, miten eri taajuudet "kuuluvat". Itsellä HiFi 60/4:t, joilla mennään alas myös. Sinigeneraattorilla kokeiltu.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: _Pete_ - 08.10.13 - klo:12.40
No, kokeillaanpa myös hieman dd: n kanssa ja laitetaan 4G tikku puhtaaksi kokonaan päästä päähän:

Koodia: [Valitse]
dd if=/dev/zero of=/dev/sdXdd: kirjoitettaessa tiedostoon ”/dev/sdb”: Laitteella ei ole tilaa jäljellä
7831553+0 tietuetta sisään
7831552+0 tietuetta ulos
4009754624 tavua (4,0 GB) kopioitu1365,05 sekunnissa, 2,9 MB/s

Menee monta kertaa nopeammin jos käyttää isompaa blokkikokoa kirjoitukseen, vaikkapa:
Koodia: [Valitse]
dd if=/dev/zero of=/dev/sdX bs=8192
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 09.03.14 - klo:19.20
Pikainen tiedostojen siirto

Joskus tarvitsee saada nippu tiedostoja paikasta toiseen vähin välinein. Jos et vierasta päätettä niin tuo on aika lyhyt operaatio http-yhteydellä päätteessä:

Kone A:
- Pääte käyntiin, tarkasta mikä on koneen ip osoite, liiku "cd" komennolla kansioon josta haluat lähettää tiedostot, käynnistä webbijako:
Koodia: [Valitse]
ip addr
Koodia: [Valitse]
cd Videot
python -m SimpleHTTPServer

Kone B:
- Pääte käyntiin, luo joku kansio jonne haluat tallettaa tiedostot, mene sen alle "cd" komennolla ja pyydä tiedostot toisen koneen ip-osoitteesta:
Koodia: [Valitse]
mkdir ladatut
cd ladatut
wget -rnH 192.168.1.37:8000

Tuossa 192.168.1.37 oli sen A-koneen ip-osoite ja 8000 tarkoittaa porttinumeroa jonne tiedostot ilmestyvät esille A-koneella.
Koneella A näet päätteessä kun kun tiedostot vilistävät koneelta toiselle.   Sammuta lopuksi webbijako koneella A painamalla Ctrl-C.  Nuo vivut "nH" yhdessä saavat aikaan että ei luoda uutta kansiota vaan kopioidaan nykyiseen paikkaan ja "r" tarvitaan tai muuten ei synny muuta kuin "index.html" (joka tulee aina ylimääräisenä ellei erikseen estä sitä, sisältää tiedostojen nimet jos käy katsomassa tuon sisältöä webbiselaimessa). Haluttaessa "--reject=index.html" estää tuon index.html tiedoston luomisen.


Toki noita A-koneen  tiedostoja voi katsella webbiselaimellakin kun kirjoittaa linkkikenttään
Koodia: [Valitse]
http://192.168.1.37:8000
ja yksittäisiä tiedostoja voi myös talletella siitä suoraan.  Jos kuitenkin tarvitset kaikki tiedostot niin pääte on kätevä/nopea.

Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 09.03.14 - klo:20.42
Ongelmamerkin korvaaminen toisella tiedostojen nimissä

Tätä massanimeämistä voit tarvita joskus ennen kuin viet tiedostoja Linuxin puolelta Windows-koneelle.

Päätteessä kaksoispisteen korvaaminen alleviivausmerkillä kaikille tiedostoille nykyisessä kansiossa (ensin pitää päätteessä liikkua "cd" komennon avulla oikeaan kansioon):

Koodia: [Valitse]
for i in ./* ; do mv $i ${i//:/_} 2>/dev/null; done
Varmista kuitenkin ensin että samoja tiedostonimiä alleviivausmerkillisinä ei ole jo olemassa, ne ylikirjoittuvat. Tuo rimpsu ei tarkasta sitä asiaa mitenkään.
Tuosta näkee missä kohdassa komentoa ovat kaksoispiste ja vastaavasti alleviivaus eli jos korvaat jotain muuta niin helppoa vaihtaa tuonne se merkki minkä haluat.

Tapahtuman nopeus erittäin suurellekin tiedostomäärälle voi hämmästyttää uusia päätteen käyttäjiä  :)

Huomautus:   Koska tuhon määrä on myös suuri jos kompuroit pahasti tuon komennon oikeinkirjoituksen kanssa niin kopioi se komento sellaisenaan äläkä kirjoita käsin. Jos muokkaat komentoa itse niin voit halutessasi sitä ennen tehdä varmuuskopion kansiostasi joko graafisesti tiedostojen hallinnassa tai myös päätteessä.  Oletetaan vaikkapa että kansiosi jonka haluat on vaikkapa "Videot" tuolla kotikansiosi alla (joka näkyy heti kun käynnistät päätteen):

Koodia: [Valitse]
cp  -a  Videot  Videot.bak  
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Heikki Ketoharju - 11.03.14 - klo:21.40
Kiitos paljon, ajaaskel! Tuo tiedostojen siirtokikka meneekin suoraan omaan bash-skriptikansiooni, sen verta kätevä näyttää olevan. Oletko harkinnut, että laittaisit joitain noista vinkeistä myös linux.fi -wikiin? Sitähän voi muokata jopa anonyyminä.

Esim. tähän artikkeliin ne sopisivat vaikka suoraan kopioiden: http://linux.fi/wiki/Komentorivivinkkej%C3%A4
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 12.03.14 - klo:17.47
Eipä kestä. En juuri kauhean paljon ehdi auttamaan vaikka idea hyvä mutta jos joku ehtii auttamaan niin kyllähän noita voi omasta puolestani mieluusti kopioida ja samalla viimeistellä tekstiä paremmin. Olen vain tottunut käymään täällä Ubuntufoorumilla, saan helposti / hätäisesti kirjoiteltua ylös ilman tarkempaa muotoilua kun tulee jotain mielenkiintoista vastaan tai mieleen ja hauskaa lukaista muiden havainnot erilaisista aiheista.   
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 15.03.14 - klo:17.42
Tiedostojen siirtoon rsync on myös melko kätevä. Optioita sillä on vain hirveästi. Muistaakseni koko Ubuntu siirtyi näin
Koodia: [Valitse]
rsync -av /mnt/ubuntu/  root@xx.xx.xx.xx:/mnt/ubuntu/

Kohdekoneessa oli käynnissä ssh ja levyliitokset oli tehty etukäteen myös etänä. Kohde koneessa oli käyttäjä root, mikä mahdollistaa kaikkien oikeuksien siirron verkon yli. Syntksi siis rsync lähde käyttäjä@konenimi:kohde
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 21.04.14 - klo:19.35
Tiedostoja muiden omistuksessa ?

Joskus voi törmätä ongelmaan joka johtuu siitä että kotikansiossasi tai jossakin sen seitsemännessä alihaarassa on mennyt tiedostoja toisen käyttäjän omistukseen.  Näiden jahtaamiseen päätteessä voi auttaa "find":

Koodia: [Valitse]
sudo find ~ ! -user $USER -exec ls -l {} \; 
Tuossa käsketään "find" ohjelmaa löytämään kaikki tiedostot jotka ovat jonkun muun kuin sinun itsesi omistuksessa, sangen usein silloin kyseessä on "root".

Komentoa voi myös helposti muokata etsimään tiedostoja joiden ryhmä on jotain muuta kuin sinun tunnuksesi:

Koodia: [Valitse]
sudo find ~ ! -group $USER -exec ls -l {} \; 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 17.09.14 - klo:11.03
rsync + ssh,  käyttäjän/ryhmän säilyttäminen ?

rsync kopioi aika kätevästi etäkoneen tiedostoja ssh: n yli.  Aika usein tuossa tilanteessa käytetään "-a" vipua rsyncin kanssa jolloin esimerkiksi tiedoston aikaleima ja omistaja/ryhmä säilyvät varauksin.  Kävi nimittäin niin että omistaja/ryhmä muuttui aina omalle tunnukselleni.  Kopioin etäkoneelta omalle koneelleni nykyiseen hakemistoon tyyliin:

Koodia: [Valitse]
rsync  -av  ajaaskel@<joku_domain>.com:/home/ajaaskel/   .      

Syykin selvisi pienen haun ja pähkäilyn tuloksena, rsync vaatii toiminnan korotetuilla oikeuksilla jotta se voi asettaa käyttäjän/ryhmän koneellani muuksi kuin oma tunnukseni/ryhmäni.  

Kuitenkin sudo: n lisääminen tuohon suoraan eteen ei onnistu kun toimitaan ssh: n avaimilla vaan lisäksi pitää kertoa oikea avaintiedosto (ettei ssh yrittäisi käyttää rootin avainta sinun oman avaimen asemasta).  

Tässä on yksi esimerkki tehdä tuo:

Koodia: [Valitse]
sudo rsync -e 'ssh -i /home/ajaaskel/.ssh/id_rsa'  -av  ajaaskel@<joku_domain>.com:/home/ajaaskel/ .
Tuonne pisteen tilalle tietysti kohdepolku ellet halua kopioida nykyiseen hakemistoon ja ssh-yhteyden avaimilla on toimittava tuota ennen.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 17.09.14 - klo:21.51
Tuo -av on tehokas vipu. Sillä voi kopioida vaikka kokonaisen systeemin. Sudo ei käsittääkseni käytä rootin avaimia tai kansiota /root asetuksiin. Sudo monesti ongelmallinen pitkissä komennoinssa. Helpompia su tai su -. Noissa se tärkeä ero, että su käyttää käyttäjän kotikansiota ja su - /root kansiota asetuksiin. Usein nuo pisteet, viivat ym. ovat yllättävän tärkeitä.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: AimoE - 17.09.14 - klo:22.07
Sudo ei käsittääkseni käytä rootin avaimia tai kansiota /root asetuksiin.

Tuossa ajaaskelin kertomassa komennossa viitataan avaimeen etäkoneella, ei kotikoneella.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 18.09.14 - klo:11.42
Lainaus
Sudo ei käsittääkseni käytä rootin avaimia tai kansiota /root asetuksiin.

Avainta käyttää ssh, ei sudo.  Jos yrittää ajaa tuota ylempänä mainittua rsync-komentoa sudon kanssa ilman että kerrot yksityisen avaimen sijaintia niin avainta yritetään hakea /root/.ssh kansion alta. "-i"   vivulla annetaan yksityisen avaimen polku eli oman koneesi avaimen polku.

Tunnus jolle yritetään loggaantua etäkoneella määrää etäkoneella käytetyn avaimen. Jos yrittää omalla tunnuksella sitä haetaan oman kotihakemiston alta .ssh kansiosta ja rootilla vastaavasti /root/.ssh (koska /root on määritetty rootin kotihakemistoksi).

Lainaus
Noissa se tärkeä ero, että su käyttää käyttäjän kotikansiota ja su - /root kansiota asetuksiin.

Sama sudolla:

Koodia: [Valitse]
sudo -s
Koodia: [Valitse]
pwd
/home/ajaaskel

Koodia: [Valitse]
sudo -i
Koodia: [Valitse]
pwd
/root
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 18.09.14 - klo:15.55
Tuossa ajaaskelin kertomassa komennossa viitataan avaimeen etäkoneella, ei kotikoneella.
Olin aika unessa. Ei sitä heti tajua, että tuossa

Koodia: [Valitse]
-e 'ssh -i /home/ajaaskel/.ssh/id_rsa'
viitataan etäkoneeseen eikä paikalliseen kansioon. mc myös kätevä tiedostojen siirtoon. Tuolla voi muokata myös oikeuksia etänä. Käyttäjäoikeuksien siirtäminen aina hankalaa, jos ryhmissä/käyttäjissä paljon eroja koneiden välillä.  -e ja -i parametreja en ole ikinä käyttänyt. ssh lienee oletus eli -e ssh on tarpeeton yleensä.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 18.09.14 - klo:20.17
Tuossa ajaaskelin kertomassa komennossa viitataan avaimeen etäkoneella, ei kotikoneella.
Olin aika unessa. Ei sitä heti tajua, että tuossa

Koodia: [Valitse]
-e 'ssh -i /home/ajaaskel/.ssh/id_rsa'
viitataan etäkoneeseen eikä paikalliseen kansioon. mc myös kätevä tiedostojen siirtoon. Tuolla voi muokata myös oikeuksia etänä. Käyttäjäoikeuksien siirtäminen aina hankalaa, jos ryhmissä/käyttäjissä paljon eroja koneiden välillä.  -e ja -i parametreja en ole ikinä käyttänyt. ssh lienee oletus eli -e ssh on tarpeeton yleensä.
Tuossa ajaaskelin kertomassa komennossa viitataan avaimeen etäkoneella, ei kotikoneella.
Olin aika unessa. Ei sitä heti tajua, että tuossa

Koodia: [Valitse]
-e 'ssh -i /home/ajaaskel/.ssh/id_rsa'
viitataan etäkoneeseen eikä paikalliseen kansioon. mc myös kätevä tiedostojen siirtoon. Tuolla voi muokata myös oikeuksia etänä. Käyttäjäoikeuksien siirtäminen aina hankalaa, jos ryhmissä/käyttäjissä paljon eroja koneiden välillä.  -e ja -i parametreja en ole ikinä käyttänyt. ssh lienee oletus eli -e ssh on tarpeeton yleensä.

Ei, sillä viitataan paikalliseen kansioon kuten kerroin.  man ssh:

 -i identity_file
             Selects a file from which the identity (private key) for public key authentication is read.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 22.09.14 - klo:22.11
Tiedoston ikä ?

Joskus voidaan hyödyntää tietoa tiedoston iästä ja tehdä tarvittaessa muita toimenpiteitä.  Tiedoston iän saa aika helposti kun vähentää nykyhetkestä tiedoston ajan, kokeillaanpa hieman:

Koodia: [Valitse]
touch jokutiedosto
Koodia: [Valitse]
echo $[$(date +%s) - $(date -r jokutiedosto +%s)]
Aika näkyy sekuntteina mutta helppo tuo on jakaa vaikka 60: llä minuuteiksi:
 
Koodia: [Valitse]
echo $[$[$(date +%s) - $(date -r jokutiedosto +%s)] / 60]
Ylläoleva näyttää ajan siitä kun tiedostoa on viimeksi päivitetty.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 04.10.14 - klo:14.43
Valokuvien päiväys

Pieni johdanto ongelmaan...
Kamerani tekee ".jpg" tiedostoja ottaessan kuvia.  Tuohon tiedostoon liittyy kaksi aivan eri tasoista päiväystä:  Kamera tallettaa erikseen tiedoston sisälle kuvan ottopäiväyksen kellonaikoineen alueeseen jota usein kutsutaan "EXIF" -nimellä. Tuonne exif-alueelle tallettuvat myös monet muut asiat kuten kameran asetukset kuvan ottohetkellä.  Myöskin kuvan editointipäivälle on siellä paikka.  Tiedostolla itsellään on oma päiväyksensä joka voi olla mitä hyvänsä ja näkyy tavanomaiseen tapaan tiedoston päiväyksenä kun kuvia selailee koneella.

Jotta oikea valokuvan ottohetki tallettuisi tiedoston sisälle (exif) pitää kameran päiväys/ kellonaika asettaa oikeaksi ennen käyttöä.  Kävipä vain kerran että yhdessä kamerassa tuo päiväys olikin jossain parin vuoden takana.  Kuvia oli otettu jo eräskin kappale. Samoin joitakin videoita, ei onneksi vielä monta.  Kaikki päiväykset olivat pielessä.


Asian pystyi korjaamaan useampivaiheisesti.  .jpg kuvien sisältämän kuvanottopäiväyksen sai korjattua "exiftool" -ohjelmalla joka asentui päätteessä:

Koodia: [Valitse]
sudo apt-get install libimage-exiftool-perl
Komentoesimerkki on muotoa:

Koodia: [Valitse]
exiftool "-DateTimeOriginal+=5:10:2 10:48:0" DIR
jossa yllä vuosien määrään lisätään 5, kuukausien määrään 10, päivien määrään 2 ja vastaavasti kellon aikaan lisätään tunteihin 10 ja minuutteihin 48. Tuohon "DIR" kohtaan tulee polku (esim. /home/ajaaskel/Kuvat/valokuvat tms.).

Kun tiesin eron minkä verran päiväykset olivat perässä sain tuolla oikaistua asian kätevästi !

Halusin kuitenkin korjata sen lisäksi vielä itse tiedoston päiväyksen ja kirjoittelin pikku scriptin joka teki sen:

Koodia: [Valitse]
for file in ./*.[jJ][pP][gG]; do
exif_date=$(exiftool "-DateTimeOriginal" "$file" | grep : | cut -d ':' -f2-6 |tr -d ': ' |sed 's/..$/.&/')
if [ "$exif_date" != "" ] && [ ${#exif_date} = 15 ]; then
touch -t $exif_date "$file"
if [ $? ]; then echo "$file  $exif_date  ok"; else echo "$file failed"; fi
fi
done

Ennen tuon ajoa pitää liikkua cd: n avulla oikeaan paikkaan missä kuvat ovat. Scripti kopioi kuvatiedoston sisältä kuvan ottohetken (exif) myös tiedoston päiväykseksi.  Tuo scripti löytyy valmiina tiedostona täältä nimellä "exifstamp":

http://www.homelinuxpc.com/download/exifstamp (http://www.homelinuxpc.com/download/exifstamp)

Ohje: Talleta, anna ajo-oikeus ja laita vaikka ---> /usr/local/bin niin helppo käyttää.

Videoiden päiväyksen sai halutuksi tavanomaiseen tapaan käyttämällä "touch" -ohjelmaa.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 11.11.14 - klo:17.11
Bash --- ohjelmasi on "hajautettu"  ?


Mitäpä ajattelisit tästä kun yritän käynnistää ohjelman:

Koodia: [Valitse]
fileagebash: /usr/local/bin/fileage: Tiedostoa tai hakemistoa ei ole

Koodia: [Valitse]
ls -l /usr/bin/fileage-rwxr-xr-x 1 root root 4414 marra 10 20:13 /usr/bin/fileage

Koodia: [Valitse]
echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Koodia: [Valitse]
which fileage/usr/bin/fileage

Siis mitä ?  Ohjelma ei käynnisty vaikka on polussa, löytyy aivan oikeasta kansiosta ja myös "which" komento löytää sen oikeasta paikasta.  Sen sijaan BASH kuvittelee että ohjelma sijaitsisi jossain aivan muualla ja sanoo sen takia "ei oo" kun yrittää käynnistää ohjelmaa.

Nyt tuleekin mielenkiintoinen juttu:

Koodia: [Valitse]
type fileagefileage on hajautettu (/usr/local/bin/fileage)

Hajautettu ???   (hash ?)

Google-haku löysi heti:

http://www.turnkeylinux.org/forum/support/20140108/solved-bash-command-not-found-after-replacing-package (http://www.turnkeylinux.org/forum/support/20140108/solved-bash-command-not-found-after-replacing-package)

Eli karkeasti suomennettuna:  "BASH ei välttämättä käytä polkua ollenkaan jos se löytää sen omasta "pikahakutaulusta" käynnistettävälle ohjelmalle sijainnin."   

Nyt vain oli käynyt niin että kun käynnistettävä ohjelma oli ensin paikassa /usr/local/bin ja siirsin sen paikkaan /usr/bin niin BASH ei tajunnut muutosta.   Tuota voisi kutsua jopa bugiksi siinä mielessä että kun ohjelma ei löytynyt tuon "hash" -taulun avulla niin BASH ei mennyt etsimään sitä polusta (mistä se olisi löytynyt).

Oletko tutustunut BASH: in  "hash" -systeemikäskyyn ?   No, älä ole huolissasi sillä ei ole varmasti kauhean moni muukaan :)
Tuolta se löytyy esimerkiksi:

http://ss64.com/bash/hash.html (http://ss64.com/bash/hash.html)

Jatketaanpas koetta:

Koodia: [Valitse]
hash -r
Koodia: [Valitse]
fileage
Hip hei ja käynnistyy ok.

Ja se pieni lisäopetus:

Koodia: [Valitse]
hash -lbuiltin hash -p /usr/bin/fileage fileage

eli tuo komentohan se olisi näyttänyt myös mistä kiikastaa.

Otsikko: Vs: Pikku kikkoja
Kirjoitti: Heikki Ketoharju - 15.11.14 - klo:19.32
No nyt on kyllä pakko todeta, että hämärin ominaisuus vähään aikaan! En tosiaankaan tiennyt tuollaisesta hash-taulusta...
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 10.01.15 - klo:19.03
No miksei tämä toimi ?  Kaikki näyttää oikealta...

Koodia: [Valitse]
ssh-keygen -f id_rsa -N '' -C ”Backup account”Too many arguments.
usage: ssh-keygen [options]
Options:
  -A          Generate non-existent host keys for all key types.
  -a trials   Number of trials for screening DH-GEX moduli.
  -B          Show bubblebabble digest of key file.
  -b bits     Number of bits in the key to create.
.
.

Tuon pitäisi generoida ssh-avaimet ilman salasanaa kommentilla ”Backup account”.   Arvaatko mikä tuossa on vikana ?
No, luepa erittäin tarkasti mitä siinä lukee.   Merkki merkiltä.  Eikö löytynyt ?  Näytän sitten korjatun komennon:

Koodia: [Valitse]
ssh-keygen -f id_rsa -N '' -C "Backup account"
Joko sytytti ?

:)

Vihje:  Kokeile päätteessä molemmat.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: raimo - 10.01.15 - klo:19.12

Joko sytytti ?


Ylimässä on vääränlaiset lainausmerkit ts. mitkälie hipsuttimet noi onkaan, mistä tommoset edes saa? :D
Otsikko: Vs: Pikku kikkoja
Kirjoitti: 99 - 10.01.15 - klo:19.14
Ylimässä on vääränlaiset lainausmerkit ts. mitkälie hipsuttimet noi onkaan, mistä tommoset edes saa? :D

Tekstinkäsittelyohjelmalla (esim Libre), kun taas oikeat saa tekstieditorilla (esim gedit).
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 10.01.15 - klo:19.29
Äkkiä löytyi oikea vastaus, ehdin teellä käydä   ::)
Omalla koneellani nuo näyttävät aivan samoilta tuossa foorumilla ja toinenkin arvaus oli oikea:  Olin kirjoittanut dokumentin eräästä asiasta Librellä ja kun tarkastin lopuksi rivit päätteessä niin hups, eipä toiminutkaan enää mikä oli juuri äsken toiminut. 

Se väärä merkki on jonkinlainen "italic" ulkonäöltään eli kallistetut tuplahipsut.
Tässä hieman tarkemmin:

hexdump -C <<< '”'
00000000  e2 80 9d 0a                                       |....|
00000004

hexdump -C <<< '"'
00000000  22 0a                                             |".|
00000002

eli utf-8 koodauksessa se on 3 byten mittainen kun tavallinen hipsukka on yhden byten mittainen.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 23.01.15 - klo:11.10
Miten uusi laitteeni havaittiin ?
 
Tyypillisesti uuden laitteen liittämiseen liittyy reaktio "udevd" -ohjelmalta.  Tavanomainen tapa on kurkkia mitä näkyy listauksen hännillä kun antaa komennon
Koodia: [Valitse]
dmesglaitteen liittämisen jälkeen.

Toinen tapa on seurata itse "udevd" ohjelman toimintaa suoraan "udevadm" ohjelmalla:
Koodia: [Valitse]
udevadm monitorja liittää sitten vasta jokin laite. Testiksi käy hyvin vaikka muistitikku.  Pitäisi vilistää "add"/"change" viestejä jokin määrä kun laitat laitteen kiinni USBiin ja "change"/"remove" viestejä kun irrotat.  Ctrl-C lopettaa tuon.

"udevd" käyttää laitekohtaisia sääntöjä:   /lib/udev/rules.d/README
Otsikko: Vs: Pikku kikkoja
Kirjoitti: JaniAlander - 24.01.15 - klo:02.22
No nyt on kyllä pakko todeta, että hämärin ominaisuus vähään aikaan! En tosiaankaan tiennyt tuollaisesta hash-taulusta...
CSH:lla on semmoinen käsky kuin rehash, se väsää uusiksi koko hash taulun. FreeBSD:n kanssa tullut tutuksi kun komentotulkki ei välttämättä muuten löydä jotain juuri asennettua ohjelmaa...
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 06.02.15 - klo:20.47
Onko /etc/fstab tarpeellinen ?
(Vain systeemin rakenteesta kiinnostuneille)

Tutkitaanpa hieman ennen hätäistä vastausta miten tuossa oikeastaan käy.   Kokeilin koneella jossa systeemi on GPT-osiotauluisella levyllä.

1)  "fstab" tyhjäksi.     8)    Kone käynnistymään uudestaan --- mitähän odottaisit tapahtuvan ?  Yllätys: Ei mitään erikoista.  Kone lähti käyntiin kuin ei mitään.  Tarkastelu osoitti että swap puuttui.  Näyttäisi siltä että  Grub osaa omillaan käynnistää ilman "fstab": ia vaikka systeemiosiolle on yleensä määritys siellä. 

2)  Poistetaanpa kokonaan "fstab", toimhan tuo ilmankin... ?   Kone taas käynnistymään...   ;)
Ups, nyt taisi tapahtua jo jotain:   Viesti kertoi jotain että tiedostojärjestelmän käynnistys epäonnistui ja tarjolla on vain "Maintenance Shell", anna rootin salasana.   
No, eipä tuo meitä haittaa, eteenpäin vaan "root" oikeuksin ja käydään tekemässä tyhjä "fstab" sinne takaisin.  Tuosta vain annetaan

Koodia: [Valitse]
touch /etc/fstab 

ja kaikki hyv..., hetkinen:

Touch: Cannot touch '/etc/fstab': Read-only filesystem.
 
Mikäs meidän runlevel on ? Katsotaan:

Koodia: [Valitse]
runlevel/var/run/utmp: No such file or directory

Koodia: [Valitse]
touch /var/run/utmpTuo onnistui mutta /etc: n alle taasen ei...

Koodia: [Valitse]
runlevelunknown

Tarvitaan ehkä "remount" että tuonne /etc: n alle pääsee muuttelemaan asioita:

Koodia: [Valitse]
  mount -o  remount /dev/sda1  / 
Koodia: [Valitse]
touch  /etc/fstab
Molemmat onnistuivat virheittä ja kone taas käynnistettävissä.

Lopputulema ?   Käynnistyminen estyy jos "fstab" puuttuu kokonaan mutta jos se on vaikka tyhjänä tiedostona olemassa niin käyntiin lähdetään.

Miksi tämmöinen rumba yhden tiedoston takia ?   Tuossa on tieto joka auttaa ymmärtämään tai oikeastaan tulkitsemaan oikein muita asioita. 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: Postimies - 07.02.15 - klo:19.54
/etc/fstab tiedostossa määritellään levyliitokset. Grub kertoo systeemin juuren. Itselläni on parametrina iommu=soft root=/dev/sda1 ja initrd:tä ei käytetä. Jos Linux on asennettu useammalle levylle fstab on tarpeen. Samoin initrd image. jos esim. var tai usr kansiot eri levyllä tulee ongelmia... boot voi olla eri levyllä ja sitä ei tarvitse liittää. Linux on siitä kiva, että sen voi käynnistää vaikka muistikortilta ja loput systeemistä voi olla vähän siellä sun täällä. Vaikka verkkolevyllä ja/tai ram-levyllä. 
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 11.02.15 - klo:12.57
Missä se virhekoodilista nyt olikaan...?

Vaikka tässä kun ajaa päätteessä:

Koodia: [Valitse]
perl -le 'print $!+0, "\t", $!++ for 0..133'
Viite:
http://www.unixmantra.com/2014/04/linux-aix-os-return-codes.html (http://www.unixmantra.com/2014/04/linux-aix-os-return-codes.html)

Jos tarvitset lisäksi myös nimen virheelle, esimerkiksi 75 = EOVERFLOW niin voit kurkistaa vaikka tästä listasta:

http://www.homelinuxpc.com/download/linux_kernel_error_codes.txt (http://www.homelinuxpc.com/download/linux_kernel_error_codes.txt)

Edit
Korjasin lukualueen jatkumaan virheeseen 133 asti.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: raimo - 11.02.15 - klo:13.35
Kokeilin huvikseni isompaa lukua, ja tuommoisen antaa:
133     Memory page has hardware error
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 11.02.15 - klo:18.52
Kokeilin huvikseni isompaa lukua, ja tuommoisen antaa:
133     Memory page has hardware error
Itselläni ei ole käytössä nuo ylemmät numerot:
.
.
131   State not recoverable
132   Operation not possible due to RF-kill
133   Unknown error 133
134   Unknown error 134
135   Unknown error 135
Otsikko: Vs: Pikku kikkoja
Kirjoitti: nm - 11.02.15 - klo:19.31
Kokeilin huvikseni isompaa lukua, ja tuommoisen antaa:
133     Memory page has hardware error
Itselläni ei ole käytössä nuo ylemmät numerot:

Järjestelmäsi Glibc on vanhempi kuin 2.16: http://osxr.org/glibc/source/sysdeps/gnu/errlist.c?!v=glibc-2.16.0
Esimerkiksi Ubuntu 12.04:n Glibc 2.15:stä se puuttuu.

Kernelissä tuo virhe 133 = EHWPOISON on ollut määriteltynä kauemminkin (https://github.com/torvalds/linux/commit/69ebb83e13e514222b0ae4f8bd813a17679ed876).
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 11.02.15 - klo:21.50
No niinpä onkin. Olin sattumalta vanhahkolla Linuxilla kun kokeilin.  Korjasin tuonne ylemmäs (sekä webbisivulle) lukualueen jatkumaan virheeseen 133 asti.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 24.02.15 - klo:13.14
Missä vika kun "root" näyttää voimattomalta ?

mint .ssh # id
uid=0(root) gid=0(root) groups=0(root)

mint .ssh # ls -l
total 216
-rw------- 1 1000 1000   1719 Mar 28  2012 id_rsa
-rw------- 1 1000 1000 108454 Feb 23 10:10 known_hosts
-rw------- 1 1000 1000 103794 Oct 14 16:48 known_hosts.old
 
mint .ssh # rm known_hosts.old
rm: cannot remove ‘known_hosts.old’: Permission denied

mint .ssh # lsattr
-------------e-- ./known_hosts.old
-------------e-- ./id_rsa
-------------e-- ./known_hosts

Lisätietoja:
Mikään ei pidä poistettavaa tiedostoa auki, tilanne sama jos käynnistät koneen yhden käyttäjän tilaan tai vaikka live-tilaan muistitikulta.  AppArmor tai SELinux ei ole käytössä. 

Hyviä arvauksia miksi tiedoston poisto ei onnistu tuossa edes "root" käyttäjältä ?

Lisäys:  Levyn mount on r/w ja vaikka levyn vie kokonaan toiseen koneeseen niin sama jatkuu.

---------------


Onnittelut menevät "nm": lle joka samalla hetkellä antoi oikean vastauksen kun aloin kirjoitella sitä tänne !

lsattr -d .ssh
----i--------e-- .ssh

eli kansio jossa tiedostot sijaitsevat on suojattu "ikuisuuslipulla" eli tuo pieni i-kirjain. 

Ratkaisu asiaan siis oli katsoa myös kansion tila eikä vain siellä olevien tiedostojen tila.  Tiedostoa ei pysty poistamaan ellei kansion oikeudet salli sitä.  Tässä tapauksessa kansio oli joskus aiemmin tahallisesti erikseen suojattu i-lipulla jotta sitä ei voisi vahingossa poistaa.   Myös "append" lippu eli a-lippu kansiolle estää tiedostojen poiston kansiosta.
Samasta asiasta kerrotaan myös täällä:

http://unix.stackexchange.com/questions/29902/unable-to-delete-file-even-when-running-as-root (http://unix.stackexchange.com/questions/29902/unable-to-delete-file-even-when-running-as-root)

ja täällä on täydellisempi lista eri lipuista ja niiden merkityksistä:

http://en.wikipedia.org/wiki/Chattr (http://en.wikipedia.org/wiki/Chattr)

Vaikka tuolla puhutaan näiden lippujen käytöstä tiedostoille niin havaitsimme edellä niiden toimivan kansioille myös.   ::)
Otsikko: Vs: Pikku kikkoja
Kirjoitti: nm - 24.02.15 - klo:13.53
rm: cannot remove ‘known_hosts.old’: Permission denied
[...]
Hyviä arvauksia miksi tiedoston poisto ei onnistu tuossa edes "root" käyttäjältä ?

Onko tiedostojärjestelmä liitetty rw:nä mount-komennon listauksen mukaan?
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 24.02.15 - klo:13.57
rm: cannot remove ‘known_hosts.old’: Permission denied
[...]
Hyviä arvauksia miksi tiedoston poisto ei onnistu tuossa edes "root" käyttäjältä ?

Onko tiedostojärjestelmä liitetty rw:nä mount-komennon listauksen mukaan?

Tuota en huomannut mainita mutta kyllä, se on r/w.  Lisäsin maininnan tuonne ylös.  Tässä on jotain pientä muuta... jatkan tuonne ylös ;)
Otsikko: Vs: Pikku kikkoja
Kirjoitti: nm - 24.02.15 - klo:14.23
Entä .ssh-hakemiston oikeudet ja attribuutit:

Koodia: [Valitse]
ls -ld .ssh
lsattr -d .ssh

Jos hakemisto on append-only-tilassa, muuta se chattr:llä:

Koodia: [Valitse]
sudo chattr -a .ssh
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 24.02.15 - klo:14.24
Bingo, ratkaisit sen !  Siellä on nimittäin i-lippu on päällä kansiolla, ei tiedostoilla.
Otsikko: Vs: Pikku kikkoja
Kirjoitti: spark - 24.02.15 - klo:19.18
Varmaan kaikille tuttu ohjelma htop, johon itse vasta tänään törmäsin  :)

Kaikkihan tietää päätteen top komennon jolla voi käynnissä olevia ohjelmia tarkkailla ja lopettaa. htopissa on hieman grrafisuutta ja käyttäjäystävällisyyttä lisätty ja pystyy nuolinäppäimillä navigoimaan prosesseja ym.

sudo apt-get install htop

(http://s30.postimg.org/ayuebz8n5/Kuvakaappaus_Terminal_1.png)

Jostain hämmentävästä syystä tuo näyttää vakioasetteluna useita haamuja samasta ohjelmasta eri pid numerolla. Ne saa pois näkyvistä seuraavasti:  F2 > Setup > Display options  > hide userland threads
Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 16.03.15 - klo:13.42
Tähti on tehokas työkalu

Monille lienee tuttua että jos tekee tiedoston jonka nimi alkaa pisteellä siitä tulee piilotiedosto.  Itse tiedostona piilotiedostolla ei ole mitään eroa tavalliseen, nimi vain alkaa pisteellä jolloin työkalut joilla tiedostoja katsellaan jättävät ne väliin ellei erikseen käske näyttämään myös nämäkin.

Kotikansiosta näkee piilotiedostot ja -kansiot vaikkapa komennolla:

Koodia: [Valitse]
ls -ld  .*
Jos haluaa poistaa kaikki piilotiedostot jostain paikasta voi ensiajatus olla matkia tuota ja kirjoittaa "rm piste tähti" mutta siinä on yksi "pieni" vika:   
Piste-tähti on sama myös kuin piste-piste eli yritettäisiinkin poistaa alkuperäisen paikan _yläpuolelta_ sen lisäksi että poistetaan ne piilotiedostot !
Tilanne voisi olla hieman harmillinen jos noin oikeasti kävisi ja kaikki lähtisi yhtä tasoa ylempänä kuin ajattelit --- erityisesti jos annoit myös "-rf" eli poista kaikki kyselemättä, myös kansiot.

Oikea tapa ilmaista asia että haluamme poistaa ne piilotiedostot pelkästään nykyisestä kansiosta eikä sitä tuplapistevaihtoehtoa on erikseen kieltää tuplapiste komennossa.  Poistokomento näyttää silloin tältä:

Koodia: [Valitse]
rm  .[!.]*
jolloin piste-piste vaihtoehto on suljettu pois.

(Älä kuitenkaan poista kotikansiosi piilotiedostoja vaan testaa jossain muualla.)

Tästä samasta on kerrottu myös täällä:
http://superuser.com/questions/511959/bash-path-glob-matching-dotfiles-and-parent-in-pwd (http://superuser.com/questions/511959/bash-path-glob-matching-dotfiles-and-parent-in-pwd)

Otsikko: Vs: Pikku kikkoja
Kirjoitti: ajaaskel - 19.03.15 - klo:12.14
Omassa "laatikossaan" ?

Eikös olekin yksinkertainen juttu:

Koodia: [Valitse]
#!/bin/bash
cd  /mnt

Tuohan tekee vain "cd /mnt" kun sen ajaa ?  Tallennetaanpa tuo vaikka nimelle "vaihda" ja annetaan sille myös ajo-oikeus

Koodia: [Valitse]
chmod +x vaihda
Kaikki hyvin ja sitten vain ajoon

Koodia: [Valitse]
./vaihda
--- hetkinen, mitään ei näytä tapahtuvan ?  Mikäs on vikana ?

Pidennetäänpä hieman tuota.  "pwd" -komentohan näyttää missä ollaan, laitetaan se vielä tuonne

Koodia: [Valitse]
#!/bin/bash
cd  /mnt
pwd

No nyt se näyttää
/mnt

--- ja silti ollaan vanhassa paikassa eikä tuloksena ollut oletuskansion vaihtuminen. 

Arvaatko jo miksi ?

Kokeessamme huomasimme että skripti teki tehtävänsä, oletuskansiomme vaihtui siksi aikaa kuin skriptimme oli käynnissä mutta meidät tiputettiin takaisin sieltä samalla hetkellä kuin skriptimme ajo loppui.   Mikä tuossa sitten oikeastaan on syynä ?   

Aina kun käynnistät jonkin ajettavan asian sille varataan oma "laatikko" jossa ajo tehdään.  Mukaan heitetään nippu muuttujia kuten "USER=<käyttäjätunnuksesi>, PWD=<nykyinen_kansiosi>,...jne"  eli hienommin sanottuna mukaan laitetaan kopio kaikista ympäristömuuttujista.  Näet nuo ympäristömuuttujat "env" -komennolla.
Tämä "laatikko" eli ajoympäristömme on olemassa niin kauan kuin ohjelmamme/skriptimme on käynnissä ja se hävitetään kun ajo päättyy.  Samoin käy myös sille ympäristömuuttujien kopiolle jonka ohjelmamme sai "matkaeväiksi".  Jos muutat ohjelmasi/skriptisi aikana tuota ympäristön kopioa niin kaikki siihen tehdyt muutokset häviävät kun suoritus loppuu.
Tuo on aivan tahallisesti suunniteltu näin eli jos ohjelma/skripti sotkee syystä tai toisesta ympäristönsä niin sotku ei etene sinne mistä ohjelma käynnistettiin.
Kokeessamme muutimme oletuskansion toiseksi ja se muuttuikin mutta tuota muutosta ei välitetä tuon "laatikon" ulkopuolelle.

Arvaan kaksi vaihtoehtoista muotoa seuraavasta kysymyksestäsi eli "Eikö skriptillä voi muuttaa oletuskansiota muuksi ?" tai  "Voiko tuon ympäristön kopioinnin estää/välttää jotenkin ?".

Oletuksena kun käynnistät jonkin ajettavan asian se tapahtuu kuten on kuvattu yllä eli muodostuu kopio nykyisestä ympäristöstä ja ajo tapahtuu siellä.  Näin esimerkiksi jos käynnistät nykyisestä kansiosta jonkun ohjelman piste-kauttaviivan avulla

Koodia: [Valitse]
./<jokin_ohjelma>
Vähemmän tunnettua on että voit ajaa myös samassa ympäristössä (ilman että tehdään kopioympäristö) käskemällä erikseen niin.  Meille tuttu "bash" sisältää kaksi ohjelmoijille tuttua tapaa ilmaista se

Koodia: [Valitse]
source  ./<jokin_ohjelma>
.  ./<jokin_ohjelma>

Tuo jälkimmäinen on todellakin pelkkä piste ja välilyönti ennen ohjelman nimeä jolloin se tarkoittaa samaa kuin "source" komento = aja nykyisessä ympäristössä.

Myös esimerkkimme tuolla alussa tekee mitä odotimme jos ajamme sen nykyisessä ympäristössä. 

Skriptien kirjoituksessa tätä hyödynnetään niin että voit kirjoittaa jonkin skriptin osan erilliseksi tiedostoksi, olkoon tuo vaikka "lisuke".  Kun laitat varsinaiseen skriptiisi haluttuun kohtaan

Koodia: [Valitse]
.  ./lisuke
niin tuon tiedoston "lisuke" sisältö luetaan mukaan ajoaikana kyseiseen kohtaan aivan kuin se olisi suoraan kirjoitettu tuohon varsinaiseen skriptiisi.