Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Aiheet - petteriIII

Sivuja: 1 2 [3] 4
41
Ubuntu tietokoneissa / Ubuntun pika-käynnistin
« : 30.07.11 - klo:06.01 »
Ubuntussa on pika-käynnistin sovelluksille. Onhan se muutenkin mukava mutta ainakin minun mielestäni se lisäksi korvaa työtilat. Ubuntu 11.04:ssä sen muokkaaminen toimii kuin unelma mutta 11.10:ssä ei edes lupaa. Näin se toimi läppärissä jossa on 11.04:

Käynnistin on se vasemmassa laidassa oleva palkki jossa on päällekkäin kymmenkunta kuvaketta. Kun painaa näppiksen 'windows'-nappia niin käynnistin  avautuu näytön vasempaan laitaan jos se ei siellä jo ole. Siinä on määriteltyjä sovelluksia varten oma pieni neliönsä. Neliön keskellä on numero tai kirjain. Kun painaa tuota numeroa tai kirjainta niin vastaava sovellus aukeaa. Käynnistimen muokkaaminen:

Koska tilaa käynnistimessä on vähän niin määriteltynä voi olla vain kymmenkunta pika-avausta - ja jos ei ole mitään määrittelyjä itse tehnyt ne määritellyt ovat todennäköisesti sellaisia joita et edes kuvittele käyttäväsi. Mutta siitä saadaan poistettua sellaisia joita ei tarvita ja laitettua tilalle sellaisia joita tarvitaan:

Sammuta kaikki sovellukset. Käynnistin  aukeaa nyt ilmanmuuta.

1. Kun siinä on jotakin jota et tarvitse: Vie hiiriosoitin kyseisen neliön päälle ja raahaa kuvake käynnistin-palkin alareunassa olevaan roskakoriin ja päästä hiirinappi vapaaksi.

2. Ubuntun oman sovelluksen lisääminen:
    10.04: Paina kahta nappia: 'windows-nappi' ja kirjain a      . Etsi sovellus ja raahaa sen kuvake käynnistimen palkkiin.
    10.10: hae sovellus vaikka DASH:illa. Kun sovellus on toiminnassa ota launcher näyttöön ja paina hiiren oikealla sovelluksen kuvaketta ja näpäytä 'keep in launcher'. Myös skriptin pika.käynnistin tehdään näin.

3. Itsetehdyn sovelluksen (esimerkiksi skriptin) lisääminen 10.04:ssä:
   - tee työpöydälle skriptin kuvake: näpäytä hiiren oikealla tyhjää työpöytää ja valitse 'luo käynnistin' ...
   - saatuasi kuvakkeen työpöydälle raahaa kuvake käynnistimen palkkiin. Alkuperäinen kuvake jää työpöydälle.


- työtilanvaihdinta ei saa pois.
- muuten käynnistin  häiriköi sangen pahasti enkä minä ole löytänyt siihen hyvää lääkettä. Mutta eiköhän päivitykset tuo gconf-editoriin jotakin.  Avain tulee luultavasti arvoksi paikassa: /apps/compiz-1/plugins/unityshell/screen0/options/launcher_reveal_edge. Tällähetkellä arvo: Right tuntuu pelaavan pikkuisen paremmin kuin Left.
- 11.10:ssä pika-asetusten määrittäminen onnistuu vain mikäli 11.10:llä on yhteinen koti 11.04:n kanssa (yhteinen asetustiedosto?) ja tekee asetukset 11.04:ssä.
- myös hiiren kanssa voi toimia. Toisaalta mikäli hiirtä ei ole niin pelkällä näppäimistölläkin voi toimia; näppiksen saa päälle näppäimillä ALT-f1; valitun siirtäminen tapahtuu nuolinäppäimillä.

42
Skriptiajuri on tarkoitettu skriptien tekemiseen ja tehdyistä huolehtimiseen. Skriptiajuri on silkkaa versionhallintaa: kaikki skripti-versiot, kaikki skriptien dokumentti-versiot ja skriptien kaikki tulosteet talletetaan ja ylläpidetään niistä ristiinviittauksia.

Skriptien nimillä ei ole muotovaatimuksia vaan kaikkea voi käyttää mitä näppäimistä irti saa - merkki / on kylläkin ongelmallinen sillä bash tajuaa sen tiedostonimeksi. Skriptejä ylläpidetään koti-kansion kansiossa nimeltään OMATSKRIPTIT.

Skriptiajuria on helpointa ajaa omalta kovalevyltä kun sille on ensin bootattu. Ajamiseen voi käyttää Skriptiajurille tehtyä käynnistintä joka on paras sijoittaa työpöydälle ja vielä parempi on ctrl-raahata se käynnistyspalkkiin. Skriptiajuria voi ajaa myös päätteessä käskyllä: . ~/OMATSKRIPTIT/Skriptiajuri. Skriptiajuria voi ajaa myös nautiluksella mistä hyvänsä. Yksi tapas on bootata live-CD:llä ja ajaa live-CD:n nautiluksella Skriptiajuria siitä koneesta johon on bootattu tai sitten USB-muistitikulta. Ja skriptiajurilla taas voi ajaa MidnightCommanderia jolloin on pääsy lähes kaikkialle mikä on liitetty siihen koneeseen jolta on bootattu.

Skriptiajurin paras ominaisuus on se ettei mitään tekemistään tarvitse harkita eikä mitään tarvitse muistaa, sillä pahin seuraus paniikki-kohelluksestakin on se että äskettäin tekemänsä joutuu tekemään osittain uudelleen. Sillä teetpä mitä hyvänsä: painat ctrl-c vahingossa tai tahallasi, boottaat, potkit konettasi ympäri kämppää ... niin aloitettaessa skriptiajuri uudelleen se aloittaa siitä paikasta joka viimeksi toimi. Kannattaa kuitenkin tallettaa työnsä vähänväliä ettei joutuisi kirjoittamaan pitkää litaniaa uudelleen.
- skriptaamisen merkittävin asia on puhua kaikista asioista niin pitkillä ja kuvaavilla nimillä että ne muistaa kuolemansa jälkeenkin. BASH itse puhuu arvoituksin mutta älä sinä puhu.
- nimissä kannattaa välttää erikoismerkkejä, ääkkösia ja välilyöntejä. Kuitenkin jos selvyys vaatii niin niitä täytyy käyttää mikäli BASH:in saa ne hyväksymään; vaikeuksia ei saa vältellä.
- tietysti skriptien tekeminen on nopeampaa jos muisti pelaa eikä koskaan kohella. Mutta jos ei muista edes perusasioita ja koheltaa vähänväliä tulee työskentelystä vain hirveän hidasta mutta eteneminen on kuitenkin varmaa.

Skriptiajurin backup:ista ei tarvitse huolehtia sillä skriptiajuri kirjoittaa välittömästi kaikki muutoksensa USB-muistitikulle jos muistitikulla on kansio OMATSKRIPTIT. Muistitikun OMATSKRIPTIT kansio voi olla tyhjäkin jolloin sille kirjoitetaan koko kansio OMATSKRIPTIT.
- ominaisuuden saa toimimaan myös SSH:n yli.
- backupin tekeminen kestää skriptiajurin kannalta 2ms.
- backup tehdään jokaiselle muistitikulle joka on liitetty johonkin USB-porttiin mikäli siinä on kansio OMATSKRIPTIT. USB-porteissa voi olla muistitikku tai ei ja niillä voi olla kansio OMATSKRIPTIT tai ei. Backup toimii kaikille käyttäjille, eikä backupin toiminta ei riipu muistitikun nimestä, uuid:stä tai mistään. Tiedostomuodosta ei välitetä kunhan koneessta löytyy ajurit.
- niin pientä muistitikkua ei olekaan ettei se riittäisi, eikä sillä ole väliä minkätyypin USB se on. Siis on mahdollista käyttää monimutkaistakin backup-menetelmää usealle muistitikulle.
- muistitikulla olevasta OMATSKRIPTIT-kansiosta ei koskaan poisteta mitään vaan ainoastaan lisätään. Tällätavoin menetellen siellä on enemmän myös roskaa, mutta toisaalta sellaista vikaa ei voi tulla että jotain katoaa edes melkoisen hölmöilyn seurauksena. Muistitikulla olevan  OMATSKRIPTIT-kansion koon kasvaminen ei aiheuta ongelmia.

Skriptejä tehtäessä ei riitä, että skriptien tekeminen on helppoa ja siihen kelpaakin moni viritelmä. Mutta ongelma ei olekaan skriptien teko sinänsä, vaan se että jokainen ongelma voidaan ratkaista ziljoonalla erilaisella tavalla ja jokaisella on omat vahvuutensa ja heikkoutensa - ja tilanteeseen sopivan menetelmän valintaan tarvitaan opastusta. Tarkoitan että melkein kaikki skriptit ovat väkisin tehtyja ja huomattavasti liian isoja ja hitaita, sillä BASH:in logiikka ei sovi normaalilla tavoilla ajatteleville.   

Skriptiajuri on tehty BASH:illa sen osoittamiseksi että BASH ei ole rajoittunut pieniin skripteihin. Jo kauan on kaiken voinut tehdä käytettävyyden kannalta mielekkäimmällä tavalla sillä skriptiajurin toiminta-nopeus on usein jo turhankin suuri.

Monet järjestelmät kehuvat, että niiden koodi on editoitavissa niillä itsellään, mutta käytännössä niitä ei voi editoida millään tavalla. Sensijaan kehitettäessä skriptiajuriin uusia ominaisuuksia sitä editoidaan poikkeuksetta itsellään.

Skriptit ovat ohjelmia parempia ennenkaikkea järjestelmän hoitamisessa sillä ne ovat lyhyitä ja niissä BASH toimii vain mitättömän ajan sillä pääosa aikaa kuluu ulkoisissa ohjelmissa. Mutta skriptausta kannattaa käyttää myös silloin kun tulevasta ohjelmasta täytyy nopeasti saada mielikuva. Syy skriptien käyttämiseen on se, että skriptit kykenevät kaikkeen samaan kuin expertitkin ja ne toimivat nopeammin ja virheettömämmin. Mutta yksi skripti kykenee vain erittäin rajoitettuun toimintaan joten skriptejä tulee olla tuhansia jo vaatimattomassakin tehtävässä. Mutta suuresta skriptijoukosta valinta on hidasta, ja valinta jo tuhannesta skriptistä on tavanomaisin keinoin hankalaa mutta skriptiajurille tuommoiset mitättömät määrät eivät tunnu mitenkään.

Skriptiajuri hallitseekin skriptejään tiedostopuussa, jossa nimien pituutta tai merkkivalikoimaa ei ole rajoitettu: mikä hyvänsä merkki kelpaa lukuunottamatta merkkiä: /
 
Skriptiajuri pitää kokoajan kirjaa siitä missä se on, joten voi rauhassa painaa ctrl-c tai peräti bootata kun tehtävä skripti villiintyy tai muuttuu hiljaiseksi.

vaikka yleensä onkin yhdentekevää millaisessa koneessa skripti toimii niin usein olisi mukavaa saada se helposti selville - ja joillain harvoilla skripteillä se on "pakko". Skriptiajuri hoitaa  ottaa aina selville koneen piirteitä mutta tulostaa ne sellaiseen paikkaan joka normaalisti on näkymättömissä. Nämä koneesta kertovat viestit saat esiin kun heti skriptiajuri alkaessa toimimaan pyörittää hiiren rullaa. Näyttö palaa normaaliksi heti kun teet jotakin muuta, esimerkiksi painat nuoli-näppäintä.
- skriptiajurin näyttöä voi aina selailla oltaessa pääte-tilassa. Siellä on muunmuassa kaikki ne viestit mitä skriptisi on tehnyt: enää ei tarvitse pähkäillä että mikä viesti siellä näytössä vilahti vaan voi mennä katsomaan. Näitä viestejä voi olla kymmeniä sivuja.
 
- kaiki mitä on joskus tehty löytyy arkistosta. Editoitaessa koodeja tai dokumentteja haetaan arkistosta editoriin myös muutamia viimeisimmistä versioista ja editoitaessa koodeja haetaan editoriin myös käytetyt kirjastot.
- editoitava tiedosto tarkistetaan mentäessä ajamaan skriptiä tai editoimaan skriptiä ja mikäli koodaus-virheitä löytyy mennään editointiin ja viedään lista käännösvirheestä omalle sivulle.
- vastaus jokaiseen skriptiajurin kysymykseen talletetaan historiatietoihin. Jokaiselle kysymykselle on oma historia joten tarvittava löytyy nopeasti. Historiatietoja voi selata nuolinäppäimillä niinkuin normaalistikin tai käyttää etsintää.
- hakuja on monia erilaisia; ja nimenomaan sellaisia hakuja jotka pystyvät löytämään skripteissä olevaa kapulakieltä - internetin hakukoneet eivät muuten pysty.
- kaikki ohjelmointi perustuu kopiointiin vaikkakaan sitä ei tajuta koska kirjastot ovat kopiointi-automaatteja.
- muutokset skriptiajuriin tai sen kirjastoihin tehdään yleensä skriptiajurissa itsessään. Ulkoisia ohjelmilla voi lisätä skriptiajuriin mitä vaan mutta poistamisessa on paljon ehtoja.
- mitään ei koskaan tuhota ellei erikseen pyydetä tuhoamaan. Jokainen tehty versio talletetaan arkistoon omalla numerollaan. Numero on kasvava. Editoitaessa esitetään muutama viimeinen versio.
- arkistoon voi myös mennä kokeilemaan mikä siellä olevista versioista toimii ajettuna parhaiten ja kopioida sen koodi tehtävän skriptin paikalle.
- myös näppäin-versiossa hiirellä on suuri merkitys: sillä valitaan editorissa näytettävä lehti ja hiiren rullalla saa esimerkiksi selattua päätettä; esimerkiksi aloitusviestit saa sillä näkyviin.

 


 

43
Yleistä keskustelua / Versioiden suuri määrä
« : 17.12.10 - klo:05.56 »
Kauan se kesti ennenkuin tajusin kuinka paha asia on että Ubuntulla on niin monia versioita. Sen vielä kestää, että 32- ja 64-bittisille on omat versionsa mutta kaikki muu on haitallista.

Täällä foorumilla huomaa kuinka hölmöä on asentaa mitään muuta kuin tavallinen Ubuntu - sitten kun tarvitsee apua eivät neuvot usein toimi. Lisäksi siinä turhautuu neuvojakin.

Samoin eri työpöydät - en ollenkaan sano mikä on paras, mutta se että on erilaisia on ihan hanurista. Se olisi ollut kehittäjien tehtävä tehdä vain yksi mahdolliseksi. Tietysti useat virtuoosit tykkää nykytilanteesta sillä eihän se heille mikään haitta ole vaan usein todella hieno asia.

Muuten Microsoft tykkää myös Ubuntun versiohelvetistä; Ubuntusta ei ole uhkaa kun se on niin hajautunut.  

Viimeinen niitti oli kun otin käyttöön yhden tarpeellisen ohjelman. Pintapuolisesti kaikki oli kunnossa, ohjelma toimi kuin unelma. Mutta ohjelmakoodia tarkemmin katsoessa ohjelmassa oli paljon sellaista mikä ei itseasiassa toiminut, esimerkiksi monien käskyjen kirjoitusmuoto oli väärä eikä käsky toiminut; ilmeisesti ohjelma oli tehty jollain erikoisemmalla versiolla. Mutta ohjelma oli iso ja pystyi kätkemään vikansa. Luotettavuutta ei kyllä ole; käyttökelvoton ohjelma. Ja tuo sama epäluotettavuus taitaa vaivata monia muitakin ohjelmia.

Valitettavasti muuten Suomennettu käyttöjärjestelmä on myös oma versionsa. Käytän itsekin Suomenkielistä Ubuntua enkä edes harkitse Englanninkielisen käyttämistä. Mutta oma versio se on silti ja sillä on omat haittansakin.


otsikosta voimasanan napsaisin pois - Storck

44
Koneeni meni taas kerran tilaan jossa boottaamisen sijaan näyttöön tuli: grub>

aloinpa miettiä kuinka siitä saisi bootattua. Näin se kävi:

- boottasin siihen tilaan: grub>
- muistini virkistämiseksi annoin ensin käskyn: ls   jonka tulostuksesta pähkäilin että ubuntuni löytyy osoitteesta: (hd0,msdos2)
- sitten käskyksi: configfile (hd0,msdos2)/boot/grub/grub.cfg    ja boottasihan se.
- sitten poltin boottauskäskyn kiinni käskyllä: sudo grub-install /dev/sda

javascript:void(0);viola ! sitä en tiedä toimiiko se näin vain minun koneessani, mutta luulisin sen toimivan kaikissa.

45
Yksi ongelma näyttää vaivaavan Ubuntua usein: 'grub hävisi', 'lakkasi boottaamasta', 'aloitus-sektori tais kadota', 'päivitys sotki' .... kaikissa näissä on usein syynä se että kovalevyn boottaavaa osiota osoittava aloitus-sektori osoittaa väärää osiota. Aloitus-sektorin voi kirjoittaa oikeaksi ohjelmallisesti käyttäen samoja käskyjä kuin tässä hommassa aina käytetään.
 
- useimmilla käyttäjillä on käytössä vain yksi Ubuntu joten aloitus-sektorin palautusohjelma toimii heille automaattisesti; mikäli Ubuntuja on useampia niin käyttö hieman vaikeutuu mutta käyttö-kykyjäkin on silloin enemmän.
- mikäli ohjelman suorittamiseksi tekee boottaavan USB-muistitikun niin itse ohjelma kannattaa sijoittaa kansioon /home/ubuntu/Desktop. Tällainen muistitikku on todella helppokäyttöinen mikäli koneen saa boottaamaan USB:ltä yksinkertaisesti. 
- jos valmista muistitikkua ei ole kannattaa se tehdä toimivassa koneessa gpartedilla tiedostomuotona ext4. Heti lähdettyäsi gpartedista anna käsky: sudo chown -R `whoami`:`whoami` /media. (muuten kopioi-liimaa käsky tästä sillä merkki ` ei ole sama kuin ' eikä sitä näppäimistöiltä aina löydä.)   
- ohjelmakoodi ladataan muistitikulle missähyvänsä toimivassa koneessa. Helppo tapa on kopioida-liimata internetistä.
- ohjelman voit tallettaa millä nimellä haluat, mutta eikö NäpäytäMinuaNiinAsetanBoottauksen ole kuvaava kun sitä kerran on tarkoitus näpäyttää?
- ohjelmalle täytyy antaa suoritusoikeus. Suoritusoikeuden antaakseesi käske: sudo chmod uga+x /media/*/ohjelmalle_antamasi_nimi
- ohjelma on skripti. Koskan skriptausta ei asetella ei skriptiä voi kutsua nimellä vaan sitä käytetään nautiluksella. Muuten se on nautilus mikä avautuu kun USB-tikun työntää liittimeen.
- ohjelma toimii vain kun on bootattu live-CD:llä tai "Käynnistyslevyn luonti"-toiminteella tehdyllä boottavalla USB-tikulla. Ohjelman toiminta on estetty mikäli on bootattu kiintolevyltä sillä se on riskialtista. Sensijaan ohjelmakoodin voi kyllä hakea/suorittaa kovalevyltä nautiluksella.
- toistaiseksi ohjelma toimii vain gnome:ssa.
- teen kokoajan tarkistamista ja korjaan tähän alkuperäiseen viestiin mitä tarvitsee; ainahan niitä salahautoja löytyy.

Ohjelman käyttö-ohje:
Boottaa sekaisin oleva kone live-CD:llä siten että muistitikku on irti, ja laita tikku liittimeen kun boottaus on selvä. Tuplanäpäytä ohjelman kuvaketta ja avautuvasta ikkunasta näpäytä: Suorita päätteessä (Run in Terminal). Tai boottaa USB-muistitikulla ja tuplanäpäytä ohjelman kuvaketta.

Koodia: [Valitse]
#!/bin/bash
# mikäli Ubuntuja on vain yksi suunnataan boottaus sille automaattisesti, vain mikäli Ubuntuja on useampia kysytään mille niistä boottaus suunnataan. Windowseja ja muita käyttöjärjestelmiä ei lasketa.   7.12.2010 petteriIII

function tulostamahdolliset {
clear
jarjestelmia=0
echo -e 'Seuraavilla osioilla on Linux ja grub.cfg ja jotka siten ovat mahdollisia:\n'
for osio in `sudo fdisk -l | grep /dev/ | grep Linux | grep -v sivutus | grep -v swap | grep -v tavua | grep -v bytes | awk '{print $1}'`
do
  sudo mount $osio /mnt && test -f /mnt/boot/grub/grub.cfg && echo ${osio:5} && sudo umount /mnt && ekanUbuntunOsio=${osio:5} && let jarjestelmia++
done
# jarjestelmia=1 # sen testaamiseksi toimiiko yhden Ubuntun valinta automaattisesti
test $jarjestelmia -eq 0 &&  echo 'eipä näköpiirissä ole yhtään kelvollista Ubuntua' && sleep 10 && exit
echo ''
}
 
function unmountmnt {
cd / # umount ei onnistu, jos umountattavaan on cd
sudo echo ""
for mountattu in `sudo mount | grep /mnt | awk '{print $3}'`
do
    test -d $mountattu && sudo umount -l $mountattu
done 
# echo '/mnt:n mountit on poistettu'
}

# Pääohjelma
test ! `env | grep USERNAME=ubuntu` && echo 'tätä ohjelmaa voi ajaa ainoastaan Ubuntun live-CD:ltä tai "Käynnistyslevyn luonti"-kohdassa tehdyltä USB-muistitikulta' && sleep 10 && exit
sudo clear
unmountmnt
tulostamahdolliset
test $jarjestelmia -ne 1 && read -p "mille osiolle haluat suunnata boottaamisen: " ekanUbuntunOsio 
if [ -b /dev/$ekanUbuntunOsio ]; then
  echo 'asetan boottauksen tapahtumaan osiolta: '$ekanUbuntunOsio
  sudo mount /dev/$ekanUbuntunOsio /mnt
  sudo mount -t sysfs none /mnt/sys
  sudo mount -t proc none /mnt/proc
  sudo mount --bind /dev/ /mnt/dev
  sudo mount --bind /dev/pts /mnt/dev/pts
  test ! -d /lib64 && test ! -d /mnt/lib64 && sudo chroot /mnt update-grub2
  test -d /lib64 && test -d /mnt/lib64 && sudo chroot /mnt update-grub2
  sudo grub-install --root-directory=/mnt /dev/${ekanUbuntunOsio:0:3}
  echo 'jos hommat onnistuivat niin tulostui: Installation finished. No error reported.'
  else
  echo 'sellaista laitetta ei ole'
fi
unmountmnt
read -p 'paina enter jatkaakseesi' apu

46
Yleistä keskustelua / Kernelin päivitys on mählitty?
« : 01.12.10 - klo:14.57 »
Olen kaheli grub.cfg:n editoija; aikoinaan siinä oli yhtenä kompastuskivenä kernelin päivitys; kun versionumero vaihtui niin ongelmia tuli. Nykyään kernelin päivitys harvoin muuttaa versionumeroa, joten ongelmia ei siitä tule.
Kiva? Katinkontit, kun uusi kernel ei toimi kunnolla ei ole mitään keinoa palata siihen vanhaan  koska sitä ei missään ole. Vai enkö vain ole ratkaisua löytänyt?

47
Komentorivikäskyjä annettaessa on viisainta ensitöikseen laajentaa pääte koko sivun kattavaksi.
Maverickissa sen voi muuttaa niin että se avautuu suureen ikkunaan näpyttelemällä: Sovellukset - Apuohjelmat - Pääte - Muokkaa - Profiilin asetukset - laita ruksi kohtaan: Use custom default terminal size - muuta oletuskoko esimerkiksi arvoon 240 saraketta 80 riviä. Pääte on sammutettava ennenkuin asetus tulee voimaan.

48
Oppaiden kehittäminen / Grub2:n salasanasuojaukset
« : 19.08.10 - klo:15.33 »
Jokaisen koneen jonka kovalevyllä on toimiva grub voi bootata USB:ltä. Tämä on korjaajalle melko välttämätön toiminto ja minulla jatkuvassa käytössä. USB:ltä bootataan editoimalla boottaamisen alussa näytölle tulostuvaa valikkoa. Grub.cfg *tiedoston* editoiminen ei ole suotavaa mutta bootatessa voi editoida ihan niinkuin ennenkin. Teoriassa editointi-mahdollisuuden olemassaolo on turvariski. Riski on hyvin pieni, mutta teoriassa senverran mahdollinen että Ubuntun kehittäjät ovat tehneet konstin suojata grub2:n.

Joskus olisi myös asiallista rajoittaa jonkun koneessolevan käyttöjärjestelmän käyttäminen vain joihinkin käyttäjiin. Salasanasuojaukset tehdään lisäämällä grub.cfg:hen seuraavankaltaiset lauseet:

# vain Superuser petteri saa editoida alkuvalikkoa antamalla tässä määrätyn salasanan, ei sudo-salasanaa
# antamalla tässä määritellyn salasanansa ville saa ajaa Ubuntun jonka 'menuentry' rivin lopussa on: --users ville  . Muut käyttäjät eivät saa sitä ajaa mutta superuser saa antamalla oman tässä määritellyn salasanansa.
# kun halutaan editoida valikkoa käynnistettäessä siirretään valintakenttä editoitavan rivin päälle ja painetaan kirjainta: e . Silloin kysyttävä
# käyttäjänimi on petteri ja salasana 1234
set superusers="petteri"
password petteri 1234  
password osmo 4321
password ville 0987

- oikea paikka lisäyksille on tiedosto /etc/grub.d/40_custom ja kun antaa käskyn update-grub niin muutokset ilmestyvät grub.cfg:hen.
- # merkillä alkavat lauseet ovat muistilappuja käyttäjälle, muokkaa ne itsellesi sopiviksi

Muoks: korjattu näppäilyvirheitä ja selostuksia.

 

49
Valitettavasti lontooksi. Mutta pääasiattain: sata softavalmistajaa tekee Ubuntulle jotakin. Ja Canonical arvioi että meitä on 10miljoonaa ja kasvaa 10% kuukaudessa - no jokatapauksessa kasvaa kovaa vaikka tuo 10% ihmetyttääkin.

http://www.theregister.co.uk/2010/04/28/canonical_ubuntu_isv_support/

50
Olen painiskellut .ICEauthority ongelmien kanssa: yksi virhetyyppi tulee siitä, että kansion /var/lib/gdm omistusoikeuksien täytyy olla gdm:gdm. Mutta sepä ei aina riitä: jostain syystä sen käyttöoikeuksiksi tulee joskus: 'listaa, luo/poista, ei pääsy' - liekö bugi kun en ole ennen moista nähnyt eikä tuommoisissa oikeuksissa tunnu järkeä olevankaan. Jokatapauksessa kun käyttöoikeuksiksi laittaa: ' luo ja poista tiedostoja' alkaa kaikki toimia. Mutta senjälkeen käyttöikeutta:  'listaa, luo/poista, ei pääsy' ei enää edes tunneta. Tietäiskö joku missä mennään ?
- käyttöoikeuden 'suomennos' voi tietty sekin olla poskellaan.  
- alla on 32-bittinen Karmic.

MUOKS: google sanoi että muunmuassa tuommoisia kummallisuuksia tulee kun strippaa kansiolta suoritusoikeuden ja kannattaisi lukea man-sivut.

51
Koneessani on aina vähintään kaksi Ubuntua: viimeinen virallinen- ja kokeiluversio. Kun koneen Ubuntuista joku päivittää itsensä boottaamattomaksi niin tämä skripti ajetaan kun on bootattu samassa koneessa joltain muulta: kovalevyltä tai live-tikulta/live-CD:ltä. Päivittäminen onnistuu mikäli boottausvälineen verkkoyhteydet toimivat. Live-tikun/Live-CD:n verkkoasetukset tehdään samallatavoin kun kovalevylläkin. Päivitys-skripti on paras sijoittaa kovalevyn koti-kansioon ja ajaa sieltä nautiluksella. Päivitys-skripti päivittää kaiken minkä löytää - jos olet unohtanut USB:lle jonkun Ubuntu-version niin sekin päivitetään.

Skriptiin on liitetty paljon muutakin mikä poistaa turhaa sälää ja pitää Ubuntut hyvässä kunnossa. Btrfs:llä tämä ei toimi ilman virittämistä mutta muut tiedostojärjestelmät kyllä toimii. Ja on tässä sekin kiva piirre että kaikki päivittyy kerralla.

- kyllä tämä Mintilläkin toimii ja varmaan monella muullakin. Mutta perus-Ubuntulle ja ext4:lle tämä on tarkoitettu.

- ei tämäkään poista backup:pien tarvetta.

Päivitysskriptin koodi:

Koodia: [Valitse]
#!/bin/bash
# 10.8.2015 petteriIII.
# Tämä päivitys-skripti paivittää kovalevyltä sen kaikki Ubuntut (ja monet muutkin Linuxit).
# bootata voidaan mistä halutaan, eikä merkitse mitään jos jommassakummassa on EFI tai vaikka molemmissa.
# päivitys-skripti voi myös sijaita joko päivitettävässä tai päivittävässä. Päivitys-skripti kannattaa ajaa boottaus-välineen nautiluksella käyttäjätilassa.
# Jos salasanaa kysytään on se boottaus-välineen salasana; jos on bootattu live-versioon ei salasanaa kysytä ollenkaan.
# Btrfs-tiedostomuoto vaatii päivitys-skriptiin muutoksia.
# Kun on bootattu live-versiolta täytyy verkkoyhteys luoda ensin; live-versiossa verkkoyhteys luodaan samallatavoin kuin kovalevyllä olevassa.
# Kun on bootattu live-versiolta korjataan kovalevyn kaikkien liittämättömien osioiden levyvirheet ennen päivitystä.
# Ennen päivitystä yritetään poistaa kaikki päivityksen esteet ja turhista roskista pyritään eroon.
# Jos koneessa on lukemattomia turhia imageja saattaa kestää pitkäänkin poistaa ne, mutta muuten päivitys toimii yhtä nopeasti kuin tavallinenkin päivitys.
 

function KirjoitaOhje { echo '- ennen päivittämistä kannaattaa sulkea muut ohjelmat.
- aluksi kysytään salasanaa ettei sitä kysyttäisi sitten toiminnan aikana keskenkaiken. Salasana on kovalevyllä toimittaessa oma
  salasanasi ja muistitikulla toimittaessa se on ubuntu jos sitä edes kysytään.
- toimiva internet-yhteys on välttämätön; live-versioiden verkkoyhteys asennetaan aivan samoin kuin normaalistikin - muistitikun asetukset säilyvät mutta cd:n ei.
- kovalevyosiot tarkistetaan ja yritetään korjata lukuunottamatta sitä osiota jolla on bootattu. Windows on kylläkin kantona kaskessa.
- roskikset tyhjennetään, vain viimeinen image jätetään ja päivityksen esteitä poistetaan.'; }

function tarkistaKovalevyjenKaikkiOsiot () {
read -t 5 -n 1 -p 'jos haluat tarkistaa kovalevyn perusteellisesti paina jotain kirjainta; silloin tarkistus kestää jonkinverran kauemmin mutta tarkistaa paremmin.' apu
echo
for osio in $(sudo blkid | grep -v swap | awk '{print $1}' | sed 's/\://g'); do
  [[ $(echo $osio | grep loop) ]] && continue
  sudo fsck -MVCaf $osio ||   sudo fsck -MVCac $osio
  echo ""
done
# live-tikku saattaa aiheuttaa virheviestin:There are differences between boot sector and its backup.
}

function unmountmnt { # if grep -qs '/mnt/foo' /proc/mounts; then
cd / # umount ei onnistu, jos joku umountattavan kansio on valittuna
sudo echo ""
for mountattu in $(sudo mount | grep /mnt | awk '{print $3}')
do
  if grep -qs $mountattu /proc/mounts; then sudo umount -l $mountattu; fi
done 
echo '/mnt:n mountit on poistettu'
}

function Levy { echo -n $(ls -l /dev/disk/by-id | grep -m 1 '/'${Chrootosio##*/} | awk '{print $9}' | sed "s/-part*//g");}

function paivitaKaikkiOsiot () { # itseensä chroottaus onnistuu ihan kivasti joten tällätavoin voi ihan hyvin päivittää itsensä

unmountmnt
for Chrootosio in $(sudo blkid | grep -v swap | grep -v vfat | awk '{print $1}' | sed 's/\://g'); do
  osiontyyppi=$(sudo blkid -o value -s TYPE $Chrootosio)
  sudo mount -t $osiontyyppi $Chrootosio /mnt
  [[ -d /mnt/boot/grub ]] && [[ $(cat /mnt/boot/grub/grub.cfg | grep menuentry.*Ubuntu ) ]] &&  {
  sudo mount -t sysfs none /mnt/sys && sudo mount -t proc none /mnt/proc && sudo mount --bind /dev/ /mnt/dev &&  sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount -o bind /etc/resolv.conf /mnt/etc/resolv.conf && sudo mount -o bind /dev/shm /mnt/dev/shm
  echo; echo -n '********** päivitetään: '$Chrootosio '   levyllä: '; Levy; echo '     tiedostomuoto: '$osiontyyppi; echo
  [[ -d /mnt/home/$(env | grep USER)/.local/share/Trash ]] && sudo rm -rf /mnt/home/$(env | grep USER)/.local/share/Trash # poistaa roskikset kaikilta osioilta joiden käyttäjä on sama kuin se jonka tililtä päivitä-skriptiä ajetaan eikä eriliskodin roskisia tyhjennetä koskaan

  # Kohdekoneen muistin vapauttaminen ei helpota tätä ohjelmaa. Kohdekoneen siistimisen syy onkin se, että kohdekone pärjäisi tulevaisuudessa itsekseen.
  sudo chroot /mnt tune2fs -m 1 $Chrootosio # rajoittaa pääkäyttäjälle varattua kovalevytilaa yhteen prosenttiin.

  # varmistetaan että käyttäjä kuuluu kaikkiin niihin ryhmiin joihin liitetään asennettaessa Ubuntu . Huomaa ettei tämä poista mitään. Käyttäjän tulee liittyä omalla nimellä olevaan ryhmään
  for apu in adm cdrom sudo dip plugdev lpadmin sambashare $(echo ${0%} | tr "/" " " | awk '{print $(NF-2)}'); do
    [[ ! $(groups | grep $apu) ]] && sudo addgroup $(echo ${0%} | tr "/" " " | awk '{print $(NF-2)}') $apu
  #    [[ ! $(groups | grep $apu) ]] && sudo chroot /mnt addgroup $(echo ${0%} | tr "/" " " | awk '{print $(NF-2)}') $apu
  done

  # poistetaan kaikki muut imaget paitsi se jolla toimitaan. Siis mikäli on tullut uusi image jos se toimii niin seuraavassa päivityksessä se poistuu.
  for n in $(ls /mnt/boot | grep config | grep -v $(ls /mnt/boot | grep config | sort | tail -1) | sed 's/config-//g'); do
    sudo chroot /mnt apt-get --yes  purge 'linux-image-'$n # 84:forcet pistettu
    sudo chroot /mnt apt-get --yes  purge 'linux-image-extra-'$n # turha lause, mutta muistutuksena siitä mitä tapahtuu.
    sudo chroot /mnt apt-get --yes  purge 'linux-headers-'$n
  done # Mikäli et halua poistaa imageja kommentoi nämä 5 riviä

  # seuraavia kommentointeja poistetaan kun haetaan vikaa jos päivitys-skripti toimisi joskus virheellisesti; ei toistaiseksi ole tarvittu 
  #sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock   
  #sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
  sudo chroot /mnt rm -f /var/cache/apt/archives/lock /var/lib/aptitude/lock /var/lib/dpkg/lock /var/lib/apt/lists/lock
  #sudo chroot /mnt rm /var/lib/apt/lists/*$; sudo rm /var/lib/dpkg/lock$; sudo rm /var/cache/apt/archives/lock # pitäiskö siirtää alkuun?

  sudo chroot /mnt apt-get check # korjaa pakettivaraston riippuvuudet
  sudo chroot /mnt dpkg --force-confnew --configure -a
  sudo chroot /mnt apt-get --yes  --fix-broken install
  sudo chroot /mnt apt-get --yes  autoclean
  #sudo chroot /mnt apt-get --yes  clean # poistaa myös osittaiset_ja_vahingoittuneet paketit ja tekee toiminnan varmemmaksi, mutta hidastaa ellei verkkoyhteys ole tosinopea.
  sudo chroot /mnt apt-get --yes  autoremove
  # jos jossain vaiheessa kun vahingoittueen paketin nimi selviää saa sen poistettua: sudo dpkg --remove -force --force-remove-reinstreq paketin_nimi
  sudo chroot /mnt rm -f /var/crash/* # poistaa tehdyt raportit etteivät ne jatkuvasti kiusaisi. Jos ne kiusaa sittenkin: sudo gedit /etc/default/apport ja kirjoitta 0
  sudo chroot /mnt apt-get update
  [[ $(env | grep USER.*=ubuntu) ]] && sudo chroot /mnt apt-get -y upgrade || sudo chroot /mnt apt-get -y dist-upgrade
  sudo update-grub $Chrootosio && echo -n 'grub.cfg sijoitettiin levylle: '; Levy
} # vastaava avaava sulkumerkki on rivillä 38
unmountmnt
done
}

# Pääohjelma
# echo ${0%} | tr "/" " " | awk '{print $(NF-2)}';read
KirjoitaOhje
echo ''; sudo echo
#apu=$(echo ${0%} | tr "/" " " | awk '{print $(NF-2)}'); sudo -i addgroup $apu sudo
hommaalkoi="$(date +%s)"
tarkistaKovalevyjenKaikkiOsiot # sitä osiota jolta on bootattu ei tarkisteta.
paivitaKaikkiOsiot
echo -e 'päivitetty: '$(date +"%d-%m-%y %k:%M")'\t ja päivittäminen kesti: '$(date -d@$(echo $(date +%s)-$hommaalkoi-7200 | bc) | awk '{print $3}')

53
Koneessa voi olla useampi käyttöjärjestelmä useammastakin syystä:
- halu kokeilla erilaisia käyttöjärjestelmiä, sillä useinkin on niin että jollain käyttöjärjeselmällä voi tehdä sellaista mitä ei toisella voi.
- silkka väline-urheilu
- halu piilotella jotakin
- tietoturva syyt: esimerkiksi pankkiasiointia on syytä välttää sellaisella selaimella jolla selataan nettiä ja varsinkin sen likaisia sivuja.
- mikäli koneessa on monta käyttöjerjestelmää niin kun joku käyttöjärjestelmistä lakkaa boottamasta esimerkiksi päivityksen surauksena niin sen saa palautettua boottaavaksi toisilla käyttöjärjestelmillä.

Samassa järjestelmässä voi olla vaikka kuinkamonta käyttöjärjestelmää ja kaikkien niiden kutsut voi sijoittaa boottaavan levyn grub.cfg:hen. Käyttöjärjestelmiä ei ole rajoitettu muuten kuin että käyttöjätjestelmiem tulee tuntea grub2, mutta eri levyjen grubit osaavat ketjuttaa toisiaan. EFI on kylläkin asettaa omia rajoituksiaan sillä jokaisella boottausvälineellä tulee olla oma EFI-osio johon kaikki sillä boottausvälineellä olevat käyttöjärjestelmät viittaavat.

Mutta tämä tekee tarpeen staattiseen valikkoon sillä muuten kun joku käyttöjärjestelmistä päivitetään niin mikäli sen kernel kuuluu päivitettäviin muodostetaan uusi grub.cfg jossa tuo käyttöjärjestelmä olisi ensimmäisenä. Käyttäjä voi kylläkin ottaa pienellä vaivalla ottaa tämän homioon, mutta sitä ei voi huomioida että osioiden otsikot tulisivat arvoituksellisiksi.

Ubuntun kehittäjät ovat kyllä mahdollistaneet staattisen valikon tekemisen - haepa editoriin grub.cfg ja lue kohta 40_custom. Mutta nimi 40_custom on huono, sillä vaikka sillä nimellä muodostettu staattinen valikko toimisi kyllä oikein hyvin niin sen perusteella tehdyssä grub.cfg:ssä olisi ensin sama grub kuin ennenkin ja perässä tämä uusi ilman väliä joten tulos on entistä pahempi sotku. Mutta linux toimii siten, etta vaikka kaikki kansiossa xyz.d olevat tiedostot suoritetaan niin ensiksi suoritetaan ne tiedostot joiden nimessä tuo numero on pienempi - ja tämä toiminta on ubuntu kehittäjiä arvovaltaisemman sakin määräämä ja sen rikkominen olisi kauhea moka. Ainoa muutos mitä skriptini tekee on nimen 40_custom muuttaminen 07_customiksi jolloin staattinen valikko on ensimmäisenä - ja GrubEdit antaa mahdollisuuden lisätä välieroitin staattisen ja dynaamisen valikko-osan väliin.

Vaikka staattinen valikko on kirjaimellisesti staattinen niin oikein määriteltynä se kykenee ottamaan dynaamisesti huomioon kerneli-version muuttumisen päivitettäessä. Ja pienellä lisähommalla staattinen valikko selviää myös uudelleenasennuksesta ja levynvaihdosta.

GrubEdit kuten Skriptiajurikin on tarkoitettu otettavaksi käyttöön silloin, kun internetin tietoturva laskee olemattomaksi,  sillä niiden avulla saa järjestelmäänsä muunneltua todella nopeasti ja täydellisesti.

Mikäli järjestelmän levyn koko on yli 2T täytyy siirtyä käyttämään gpt-osiointia ja vaihta BIOS EFI:iin. GrubEdit hallitsee nekin.

15.04/btrfs:n kanssa Ubuntun update-grub ei toimi kunnolla vaan jättää pois samalla levyllä olevia Ubuntuja ainakin vielä 6.12.2014. GrubEdit sensijaan osaa.

Koodia: [Valitse]
#!/bin/bash
#petteriIII 31.7.2014   grubin editointi täytyy suorittaa boottaus-järjestyksessä ensimmäisessä Ubuntussa.
function koodinpalasia () {
echo '
set default=number                      # mikä menuentry on valittuna kun grub aukeaa.
set timeout=number                      # montako sekuntia odotetaan ennenkuin bootataan automaattisesti
set locale_dir=($root)/boot/grub/locale # mikäli grubissa haluaa käyttää kansallisia merkkejä
set lang=fi                             # aseta Suomi näppäimistökieleksi grubissa

käyttöjärjestelmä-kutsuja ei kokonaisuudessaan tehdä itse, vaan ne kopioidaan sivulta grub.cfg ja senjälkeen editoidaan ainoastaan rivillä: menuentry heitto-merkkien välissä olevaa tekstiä. Kun editointi on toimivaksi havaittu niin voi alkaa varovasti esimerkiksi poistamaan "quiet splash" ja semmoista. Myös kernel-parametreja voi myöhemmin lisäillä, esimerkiksi: video=1280x1024-24@75
 
menuentry "Boottaus USB:ltä (BIOS:ia ei saa asetella)" {
configfile (hd1,1)/boot/grub/grub.cfg
}

menuentry " " { # editoitu grub on näytön alussa ja koneen itsensä tekemä grub perässä. Niiden väliin voi laittaa tyhjän rivin.
set root="(hd1,1)"
}

- koneen itsensä tekemä grub on ihan muuttamaton ja se toimii aina. Jos siis onnistut jotenkin sössimään editoinnin, niin senkun vain käytät koneen tekemää - vaikka se onkin epäselvä niin se toimii varmasti.
 

saat tehtyä grub.cfg:stä salasana-suojatun seuraavasti:
- vain superuser petteri saa editoida alkuvalikkoa antamalla tässä määrätyn salasanan, ei sudo-salasanaa
- antamalla tässä määritellyn salasanansa ville saa ajaa Ubuntun jonka "menuentry" rivin lopussa on: --users ville  . Muut käyttäjät eivät saa sitä   ajaa mutta superuser saa antamalla oman tässä määritellyn salasanan.
- kun halutaan editoida valikkoa käynnistettäessä siirretään valintakenttä editoitavan rivin päälle ja painetaan kirjainta: e . Silloin kysyttävä
- käyttäjänimi on petteri ja salasana 1234.
- äsköisten ohjeiden mukaisen suojauksen saat päälle kun lisäät editointiin seuraavan kaltaiset käskyt:
set superusers="petteri"
password petteri 1234 
password osmo 4321
password ville 0987' > hae_täältä_koodinpalasia
}

function teorianteko () {
echo 'Editoiminen ei voi johtaa siihen ettei kone enää boottaisi vaan joudut vain käyttämään vanhaa grubia kunnes editoit oman osasi kuntoon.

Jos editointisi ei toimi niin yleensä syyn näkee välittömästi kun menee editoriin uudestaan, mutta naurettaviakin syitä löytyy: esimerkiksi joskus ihmisen mielestä samanlaiset tekstit eivät olekaan koneen mielestä samanlaisia.

Mikäli USB-tikut bottaavat koneessasi kannattaa GrubEdit sijoittaa sellaiselle. Tee boottaava USB-tikku uusimmasta "ei-alfa-tai-beta" Ubuntusta ja boottattuasi sille kopioi tikun omalla nautiluksella ohjelma kovalevyltä tikun kansioon: /home/ubuntu/Desktop. Tällöin Grubeditin saa ajettua kun boottamisen jälkeen tupla-näpäyttää hiirellä GrubEditin kuvaketta näytöllä ja näpäyttämällä avautuvassa ikkunassa: suorita päätteessä. Samalla kun editoidaan palautuu todennäköisesti myös kovalevyn boottauskyky.   

GrubEdit voi olla talletettuna millä medialla hyvänsä jolta saa nautiluksen avulla sen kuvakkeen näytölle; ajaakseesi GrubEditin kaksoisnäpäytä sen kuvaketta ja näpäytä aukeavasta valikosta "Aja päätteessä".   

GrubEdit toimii kaikille sudo-oikeuksisille, se ei vaadi asentamista eikä asetuksien tekemistä, se toimii yhtähyvin yksittäiselle Ubuntulle kuin silloin kun Ubuntuja ja muita käyttöjärjestelmiä on lukemattomia jakautuneena eri levyille. Editoitavat voivat käyttää mitähyvänsä tiedostojärjestelmää tai levytyyppiä tahansa, Ubuntu-versiolla ei ole väliä ja se voi ollaa 32- tai 64 bittinen kunhan editoiva Ubuntu ymmärtää niitä (=paketteja saattaa joutua lisäämään ja jos ajaa ohjelmaa live-CD:ltä täytyy sen olla samanbittinen kuin korjattavakin). Editoitavilla voi olla yhteiset tai erilliset kodit.

Voit editoida levollisin mielin: jos editoit alkuvalikon siihen kuntoon ettei kone enää boottaa niin voit palauttaa boottauskyvyn boottaamalla live-CD:llä ja tehdä GrubEditissä sellaisen alkuvalikon joka varmasti toimii boottaamalla live-CD:llä ja kopioimalla 07_custom sivulta grub.cfg tai historia.

Voit laittaa 07_custom:iin kutsurivit melkein milletahansa käyttöjärjestelmälle; ehkä joudut kirjoittamaan ne itse, kopioimaan sivulta grub.cfg tai hakemaan internetistä. Mutta parasta olisi pysyä niissä käyttöjärjestelmissä joissa on grub2 ja kutsua niitä käskyllä: configfile (hdx,y)/boot/grub/grub.cfg ; tämä tosin johtaa kaksiulotteiseen alkuvalikkoon ja hieman hitaanpaan boottaukseen, mutta tällatavoin kutsutut päivittävät itse oman alkuvalikkonsa etkä joudu tekemään sitä käsin.

Jos BIOS:issa muutetaan boottaava levy tai kovalevyn johdot vaihdetaan toisiin paikkoihin niin grubedit kehoittaa palauttamaan alkuperäisen tilanteen.

Toimintansa aluksi grubedit testaa kaikkien kovalevyjen kaikki Linux-osiot miksili ollaan bootattu live-CD:llä. Tarkistuksen kunkin osion kohdalla voi lopettaa painamalla ESC.

Tapahtumia kannattaa ajamisen jälkeen tutkia pääte-ikkunasta, sillä kukaan ei kerkiä käynnin aikana tajuta viestien merkitystä.

Mikäli boottaus päätyy pimeään ruutuun saattaa että näytön arvot on auto-detektoitu väärin. Kirjoita tällöin kernel-riville esimerkiksi:
video=1280x1024-24@75 . Tietoa vbe-mahdollisuuksista saat grub-editorissa käskyllä: vbeinfo.
 ' > teoria
}

function ohjeidenteko () {
echo 'Editointi tulee aina lopettaa: tiedosto - sulje (file -close) ja senjälkeen pitää odottaa kunnes näyttö rauhoittuu.

Sivujen merkitys:

- 07_custom: tähän kirjoitetaan se koodi, joka luo alkuvalikon eteen ne halutut rivit. Tänne kirjoitettava teksti pääasiattain kopioidaan sivuilta grub.cfg ja hae_täältä_koodinpalasia. Tietoa kannattaa hakea myös internetistä ja kirjoittaa senmukaan, mutta alkuun sitä kannattaa välttää.

- historia: kun editointisi ei toimi löydät sen toimivan 07_custom:in sivulta historia
 
- grub.cfg: se alkuperäinen grub.cfg. Esimerkiksi jos olet asentanut uuden Ubuntun niin sivulla 07_custom ei edes ole kutsua uudelle Ubuntulle. grub.cfg:stä se löytyy: kopioi kutsu 07_custom-lehdelle.

- grub: määreet siitä mitenkä grub.cfg muodostetaan seuraavalla kerralla. Tämän editointi vaikuttaa vanhaan grub.cfg:hen.

- teoria: millä perusteilla toimitaan.

- hae_täältä_ koodinpalasia: -

- fstab: sieltä näkee esimerkiksi mitä järjestelmään on liitetty.
 

Huomautuksia 

- kun haluat liittää Ubuntuusi uuden käyttöjärjestelmän kutsun: asenna se uusi käyttöjärjestelmä minnekkä haluat ja irroita siksiaikaa vanha kovalevy jos tarvitsee. Asennettuasi sen uuden käyttöjärjestelmän kytke järjestelmään kaikki siihen kuuluvat käyttöjärjestelmiä sisältävät levyt. Boottaa ja käynnistä skripti GrubEdit. Täytä sivu 07_custom kopioiden sivuilta grub.cfg ja hae_täältä_koodinpalasia. Editointi osio ja -levy eivät saa muuttua tai koko sivu 07_custom täytyy kirjoittaa uudelleen.

- muuten boottaus on melkoinen ongelma; koeta jos onnistaa mutta jos ei ala boottaamaan kovalevyltä tai boottaa jonnekin muualle kuin Ubuntuun niin boottaa live-CD:llä ja aja skripti ChroottaaJaKorjaa.
test
- näyttöongelmin saattaa auttaa käsky: sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.broken sillä vaikka sitä ei nykyään tarvitakaan niin väärin kasattua xorg.conf:iakin kunnioitetaan ja boottaus saattaa loppua siihen.

- yksi syy siihen ettei boottaa tai että toiminta on ihmeellistä voi olla se että viitataan olemattomiin UUID:eihin. Tarkista ne sivuilta 07_custom ja fstab; sivulta grub.cfg näet mitä niiden pitäisi olla.

- tällä ohjelmalla on sivuvaikutuksena se, että se luo kotihakemistoon kansion nimeltään GrubEdit. Sen voi editoituaan poistaakin, mutta koska historia alkaa silloin uudestaan kannattaa harkita poistaako sen ja milloin poistaa.' > käyttöohje
}

function Osiojollaollaan { apuu=$(sudo df | grep -m 1 /dev/ | awk '{print $1}'); osiojollaollaan=${apuu##*/dev/}; } # boottausosion looginen nimi tyypiltään sdx

function Levyjollaollaan { levyjollaollaan=$(ls -l /dev/disk/by-id | grep '/'$osiojollaollaan | awk '{print $9}' | sed "s/-part*//g");} # boottausvälineen fyysinen nimi

Osiojollaollaan; Levyjollaollaan; echo 'Nyt ollaan osiolla:'$osiojollaollaan' ja se on tämän nimisellä levyllä:'$levyjollaollaan
[[ ! -d /var/lib/os-prober/mount ]] && sudo mkdir /var/lib/os-prober/mount # lisäys 14.04; mikä on tämän lauseen tehtävä ? Paikata kehittäjien koodia ?
sudo apt-get install btrfs-tools
sudo os-prober
sudo update-grub2
[[ ! -d ~/.GrubEdit ]] && mkdir ~/.GrubEdit
cd ~/.GrubEdit
[[ ! -f /etc/grub.d/07_custom ]] && sudo cp /etc/grub.d/40_custom /etc/grub.d/07_custom
[[ ! -f käyttöohje ]] && ohjeidenteko
[[ ! -f teoria ]] && teorianteko
[[ ! -f hae_täältä_koodinpalasia ]] && koodinpalasia
[[ ! -f historia ]] && touch historia
sudo blkid > UUID
sudo gedit /etc/grub.d/07_custom käyttöohje teoria hae_täältä_koodinpalasia historia UUID /boot/grub/grub.cfg /etc/default/grub /etc/fstab # /boot/grub/device.map
echo -e '\n##############  07_custom   päivänä:'`date`'      #####################' >> historia
echo -e '### Nyt ollaan osiolla:'$osiojollaollaan' ja se on levyllä:'$levyjollaollaan'\n' >> historia
sudo cat  /etc/grub.d/07_custom >> historia
sudo update-grub2
cd ~
 

GrubEdit toimii myös EFI:n kanssa, mutta toimittaessa useammalla kovalevyllä olevien käyttöjärjestelmien kanssa toiminnan virittämiessä on paljon työtä.
- kaikilla saman levyn käyttöjärjestelmillä on yhteinen EFI-osio. Jokaisella kovalevyllä on oma EFI-osionsa.
- osiointimuoto gpt ja tiedostomuoto btrfs onnistuvat myös.

valikkoni tällähetkellä:
Koodia: [Valitse]
15.04 sda6 btrfs
15.04 sda1 ext4
15.04 sda3 btrfs . Varattu pankkipalveluille: muu selainkäyttö on kielletty ja koti on oma -> esim. ikuisia pipareita ei kerry

boottaus USB:ltä (tai joltain toiselta järjestelmään liitetyltä kovalevyltä)
tässä perässä on normaali grub.cfg. Näitä rivejä ei saa poistaa, sillä ne toimivat aina - niin itsetekemiesikin pitäisi toimia mutta niiden suhteen voit hölmöillä niin paljon etteivät ne toimi.

jos ensisijaista boottausvälinettä ei löydy on ilmaantuvassa grub:issa vai toissijaisten levyjen valikko. Jos sensijan toissijaista levyä ei löydy pysyy valikko täydellisenä. Kuitenkin on viisainta jättää silloin toissijainen levy valitsematta. Mutta kumpikan tilanne ei siis ole virhe.

54
Onko keinoa 'tehdä uusi GRUB2 live-CD:llä', niinkuin 'legacy Grub:lla' oli ?

(Muistatko: boottaa live-CD:llä ja anna käskyt: sudo su   ja:grub    ja:find /boot/grub/menu.lst    ja:...)
- olen tehnyt uuden Grub2:n chrootilla jo monta kertaa, itseasiassa chroot-skriptillä. Eipä nuo omat viritykset kovin luotettavilta tunnu, mutta kun se on ainoa konsti.

55
Ubuntu tietokoneissa / Sudo-oikeus ja surffaaminen.
« : 28.05.08 - klo:11.14 »
Olen sudo-oikeudellinen. Olisiko syytä tehdä itsellekin käyttö-oikeudeton tili jolla surffaa; eihän surffaaminen sudo-oikeudellisella tilillä kai ole ihan järkevää varsinkaan suuressa verkossa ?

56
Ubuntu tietokoneissa / Kovalevy toimii 'itsekseen'
« : 17.05.08 - klo:04.47 »
Yhä useammin koneen kovalevy alkaa toimimaan ilman selvää syytä; esimerkiksi joskus kun on istunut koneen ääressä jonkin aikaa tekemättä mitään. Ilmeisesti aina jostain selvästä syystä; esimerkiksi hakuohjelma alkaa indeksoimaan. Mutta näin virusten jyllätessä se kuitenkin aiheuttaa aina pienen paniikin.
Tietääkö joku jotain ohjelmaa jolta voisi kysyä: mitä toi kovalevy nyt tekee ?

57
Ubuntu tietokoneissa / Päivitykset
« : 02.05.08 - klo:04.43 »
En taas malta olla hölmöilemättä, mutta minua on painostanut Hardyn julkaisusta asti se, ettei päivityksiä tule, ei edes tärkeitä turvalisuuspäivityksiä. Nyt Ubuntu-forumin kautta sain selville, että päivityksen asetukset ovat joskus poskellaan. Mene Synapticiin ja näpyttele: Asetukset / ohjelmalähteet / Päivitykset ja ruksaile siellä Ubuntu-päivityksessä neliöitä (itse ruksasin kaikki neljä) / Päivitä / Merkitse kaikki päivitykset / Toteuta. Alkoipa toimia, päivitti heti 59 pakettia.
Voihan tähän tietysti syykin olla; esimerkiksi Hardyssä on niin paljon uutta, että ehkä ne pelkää epä-vakautta. Mutta ainakin minulla toimii moitteetta.

58
Seuraavat ovat lainauksia; tietoa ei ole mutta eiköhän joku toinen tiedä paremmin ja se olisi hyvä kuulla koska eivätköhän nämä sanele Ubuntun tulevaisuutta hyvinkin paljon:

Nyt siis tähän tietoturvasoppaan tulee mukaan PolicyKit. Siinä missä SELinux (=AppArmor?) ottaa kantaa asioihin lähinnä tiedosto-, laite- ja verkkoyhteyspohjaisesti, on PolicyKitillä mahdollista sukeltaa entistä syvemmälle oikeuksien sallimisessa. PolicyKitillä yletytään sovellustason suojauksiin asti - eli vaikkapa osoitekirjan sisällöstä tai ohjelman toiminnoista (vaikkapa kellossa kellonajan asettaminen) vain osa on käyttäjälle sallittu.

PolicyKit on nimenomaisesti ylläpitoa mahdollistava työkalu, peruskäyttäjän (=sudon käyttäjä?) toiminta voi jopa vaikeutua.

Sudo on näin yksittäiselle käyttäjälle turvallisempi kuin PolicyKit, mutta PolicyKit:tiin siirrytään kuitenkin koska se mahdollistaa paremman käyttäjienhallinnan suurissa yhteisöissä. Ja tarkoitushan kaiketi on luopua sudo:sta jonkin aja kuluttua kokonaan.

AppArmor on ladattu Hardy:n perusasetuksessa. Kuitenkaan Apprmor ei tee mitään konfiguroimattomana, ja AppArmor-profiles:ia ei ladata perusasetuksessa.

Ja kuinkahan sitä ConsoleKit:tiä käytetään ?

59
Laitealue / TV:n katselu leveäkaistalla
« : 10.04.08 - klo:18.44 »
Aikaisemmin katsoin TV:tä USB-mokkulalla, mutta nyttemmin Elisan 8M leveäkaistalla firefoxilla osoitteesta: 195.197.55.188:8000 ; portit 8000-8010.

PC:nä on toiminut 'asus p5b-vm' jossa prosessorina 'Core2 duo' ja toisena PC:nä 'Via Epia-en-12000'. Ubuntu on Gutsyn perusversio jossa on paketit vlc ja mozilla-vlc-plugin; myös live-CD toimii kun nuo paketit asentaa. Kuva ja ääni ovat hyviä, mutta pätkiihän se internet välillä joka kuuluu napsahduksina muttei näy missään.
Pari ongelmaa siinä kuitenkin on ja niihin apua kaipaisin:
1. TV1 ja TV2 tekstit puuttuvat.
2. Talletukseen en ole keksinyt mitään, mutta eihän tämä olekaan toiminut kuin hetken.

60
Valittavien käyttöjärjestelmien joukon voi koota miten haluaa; esimerkiksi seuraavalla tavalla:
Edgy i686, SATA-kovalevyllä, AMD:n emolevylle, kernel 2.6.17-10-generic
Edgy i686, 230G-usb levyllä, AMD:n emolevylle, kernel 2.6.17-10-generic
Edgy i686, IDE-levyllä, INTEL:in Core2Duo-emolevylle, kernel 2.6.17-10-generic
Dapper64, SATA-kovalevyllä, AMD:n emolevylle ,kernel 2.6.15-27-amd64-generic
Eggy386, SATA-kovalevyllä, AMD:n emolevylle,  kernel 2.6.17-10-generic
Dapper386, SATA-kovalevyllä, AMD:n emolevylle, kernel 2.6.15-27-386
Feisty64, SATA-kovalevyllä, AMD:n emolevylle, kernel 2.6.20-1-generic
Muut käyttöjärjestelmät:
WindowsXP_p1. Ei saa vahingossakaan ladata muualle kuin AMD:n emolevylle

- Vaikka tässä onkin viittaukset kolmeen eri kovalevyyn ei niistä täydy olla paikalla kuin se jolta loppujenlopuksi käyttöjärjestelmä haetaan; ja sama kovalevy toimii kummallakin emolevyllä; ja USB-kovalevyn voi liittää järjestelmään senjälkeenkin kun boottaus siltä on jo teoriassa alkanut.
- BIOS huolehtii boottaamisesta vain GRUB:in osoittaman käyttöjärjestelmän /boot/grub/menu.lst:iin saakka ja siitä eteenpäin boottaamisesta huolehtii Ubuntu; boottaaminen mihin hyvänsä käyttöjärjestelmään joka sijaitsee millähyvänsä laitteella vaatii vain että käyttöjärjestelmän kutsu on /boot/grub/menu.lst:issä. Siis BIOS:ia ei tarvitse asetella koskaan.
- kaikissa käyttöjärjestelmissä on syytä käyttää UUID-osion osoitusta; sillä esimerkiksi lisättäessä USB- tai eSATA-kovalevy käynninaikana saattavat 'jo myönnetyt' osiotunnukset muuttua (esimerkiksi /dev/sda:sta tulee /dev/sdb) mutta kun osioon viitataan UUID:llä niin Ubuntu etsii millä levyllä kysytyn UUID:n omaava osio on.
- osion UUID:n saa tietää käskyllä: blkid
- Kenties olisi kiva hommata suuri kovalevy; USB-tyyppinen olisi ehkä paras.
- Useimmilla muillakin käyttöjärjestelmillä on oma /boot/grub/menu.lst:insä mutta tässä työssä niitä ei tarvita.
- käyttöjärjestelmän oikea asennustapa on asentaa se ensin omalle levylleen ja jos asiallisena pitää niin kopioida se sitten käyttölevylle. Mutta jos olet asentanut uuden käyttöjärjestelmän väärällä tavalla ei tapahdu muuta vahinkoa kuin että GRUB pitää luultavasti kirjoittaa uudestaan koska asennus-ohjelma on kirjoittanut sinne omia juttujaan.
- Uutta käyttöjärjestelmää asentaessasi joudut luultavasti asettelemaan BIOS:ia.
- Päivittäessään jonkun käyttöjärjestelmän kerneliä päivitys-automaatti kirjoittaa sen kutsun päivitettävän käyttöjärjestelmän /boot/grub/menu.lst:iin joten jos haluaa käyttää oikeaa kernelin tyyppiä on se kopioitava sieltä.
- Muuten käyttöjärjestelmät voi sijoittaa kovalevylle vapaasti, mutta Windows:in täytyy olla ensimmäisellä osiolla; ja IDE levyllä MASTER:ina.
- On melko samantekevää asentaako Windowsin ensiksi vai viimeiseksi kunhan kutsurivit löytyvät tiedostosta: /boot/grub/menu.lst: ja kunhan levylle on kirjoitettu GRUB.
- Swap:peja ei tarvitse olla kuin yksi, tarkista vain että tiedostossa /etc/fstab on viittaus siihen.
- Myös /home olisi kiva olla yhteinen.
- Kyllä muitakin käyttöjärjestelmiä voidaan kutsua.
- Jokaisen uuden käyttöjärjestelmän kutsu (boottaus-parametrit) on samankaltainen kuin /boot/grub/menu.lst:issä ennestäänkin on, esimerkiksi: <kutsu on 6-7 riviä kohdan: '## ## End Default Options ##'   jälkeen>

#linux on /dev/sda6.
title Edgy i686, AMD:n emolevylle, kernel 2.6.17-10-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.17-10-generic root=UUID=62f0f641-711c-4337-9e40-f303b7e82388 ro splash
initrd /boot/initrd.img-2.6.17-10-generic
savedefault
boot
...
 
# Windows vaatii omanlaisensa kutsun (tämän-muotoista kutsua käytetään monille muillekin):
title      WindowsXP_p1. Ei saa ladata muihin kuin AMD:n PC:hen.
root      (hd0,0)
savedefault
makeactive
chainloader   +1

- sanan chainloader jälkeen on <tab> eikä välilyöntejä.
- title-riville voi kirjoittaa mitähyvänsä kuvaavaa tekstiä.
- viittauksessa: root= voidaan käyttää laitetunnusta, UUID:tä, LABEL:ia, laite-ID:tä ... mutta UUID on suositeltavin.
- siitä rivistä missä tässä lukee: root  (hd0,0) pyritään eroon sillä se kertoo vain asioita jotka on esitetty muuallakin. Muutos ei kuitenkaan sen kummemmin vaikuta tähän: joskus lausetta vain ei ole.


Sivuja: 1 2 [3] 4