Aloittelian kysymyksiä

niin olen linux aloittelia ja olisi kysymyksiä:
-miksi tuota kääntämistä ei suositella aloittelioille? mitä taitoja siinä tarvitsee?
-miten linuxin voi asentaa cd/dvd levylle / usb-muistille niin että se käynnistyy heti kun käynnistää tietokoneen
-ja mitä ohjelmointi kieliä linuxin eri osissa käytetään tai yleensäkkin koko linuxissa?

[quote=“MHFN, post:1, topic:811”]niin olen linux aloittelia ja olisi kysymyksiä:
-miksi tuota kääntämistä ei suositella aloittelioille? mitä taitoja siinä tarvitsee?
-miten linuxin voi asentaa cd/dvd levylle / usb-muistille niin että se käynnistyy heti kun käynnistää tietokoneen
-ja mitä ohjelmointi kieliä linuxin eri osissa käytetään tai yleensäkkin koko linuxissa?[/quote]

Ohjelmien kääntäminen on riippuvuuksien takia hankalaa ja samalla ohjelma tippuu pakettienhallinnan parista pois. (mm. tietoturvapätchit).

Suurinosa Linux (kernelistä on koodattu c:llä ja joukossa on hieman assembleriakin).

UBuntun saa suoraan käynnistettyä dvd:ltä.


Eero

[quote=“MHFN, post:1, topic:811”]-miksi tuota kääntämistä ei suositella aloittelioille? mitä taitoja siinä tarvitsee?[/quote]Tämä taitaa olla yleinen linjaus, henkilökohtaisesti olen eri mieltä. Jos omaa kohtalaisen englannin kielen taidot, osaa käyttää hakukoneita (virhetilanteissa) ja ajattelee rationaalisesti niin pitäisi onnistua. Parhaissa tapauksissa ei edes edellä mainittuja tarvita: ./configure && make && make installriittänee. Eihän siinä mitään softaa olla kehittämässä; käännetään se vain lähdekoodeista, ihan normaali prosessi siis. Tuo yleinen linjaus on tainnut tulla siitä, että usein aloittelijat ryntäävät heti kääntämään ohjelmia (ilman aiempaa kokemusta tai edes käsitystä koko asiasta), eivätkä lue esim. README:tä ennen sitä (joskus eivät myöskään ennen kääntämistä tai kääntämisessä tulleita virheilmoituksia) ja kyselevät itsestään selvistä asioista foorumeilla.

[quote=“MHFN, post:1, topic:811”]-miten linuxin voi asentaa cd/dvd levylle / usb-muistille niin että se käynnistyy heti kun käynnistää tietokoneen[/quote]Kopioit tarvittavat tiedostot kohdemediaan ja asennat käynnistyslataimen. CD tai DVD -levyille paras käynnistyslatain lienee isolinux. USB -muistin voit osioida kuten oikean kiintolevyn ja luoda sinne myös oikean MBR:n ja täten myös asentaa minkä tahansa käynnistyslataimen (tosin kaikki BIOS:it eivät osaa bootata tältä).

[quote=“MHFN, post:1, topic:811”]-ja mitä ohjelmointi kieliä linuxin eri osissa käytetään tai yleensäkkin koko linuxissa?[/quote]Koko Linux on aika laaja käsite, oletan kuitenkin sen käsittävän itse Linuxia eli kerneliä. Kerneli on ohjelmoitu pääsääntöisesti C:llä, mutta myös Assemblyä on käytetty. Ylemmällä tasolla on käytetty C++:saa edellisten lisäksi ja esim. UI:ssa eri skriptikielet ovat yleistyneet, kuten Python. Näin karkeasti yleistettynä, tarkempaa tietoa saat tutkimalla ohjelmien lähdekoodeja.

nyt selvisi. kiitos hyvistä vastauksista.

Tuo ongelmallinen komento on ‘make install’, joka useimmiten siis vaatii root-oikeudet. Järkevämpää on paketoida ohjelma jakeluversion paketinhallinnan ymmärtämäksi paketiksi. Näin ohjelman päivittäminen ja poistaminen helpottuu oleellisesti. Aivan erityisesti, jos tuo lähdekoodi ei sisällä minkään maailman unistall -välinettä. Tuo paketointi voidaan tehdä monella
tavalla. Mutta esim. checkinstall tekee paketteja automaattisesti. http://linux.fi/wiki/CheckInstall

Nykyään melkein kaikilla jakeluilla on tarjolla live-levyjä (cd tai dvd), joilta Linuxin voi käynnistää suoraan ilman että kiintolevyyn tarvitsee koskea. Myös usb-muistille siirto/asennus onnistuu, joko niin, että järjestelmä cd/dvd-livelevyn tapaan nollautuu aina käynnistettäessä tai sitten niin, että tehdyt muutokset tallentuvat muistitikulle.

[quote=“juyli, post:5, topic:811”][quote author=trilog link=topic=830.msg4320#msg4320 date=1252608006]

Tuo ongelmallinen komento on ‘make install’, joka useimmiten siis vaatii root-oikeudet. Järkevämpää on paketoida ohjelma jakeluversion paketinhallinnan ymmärtämäksi paketiksi. Näin ohjelman päivittäminen ja poistaminen helpottuu oleellisesti. Aivan erityisesti, jos tuo lähdekoodi ei sisällä minkään maailman unistall -välinettä. Tuo paketointi voidaan tehdä monella
tavalla. Mutta esim. checkinstall tekee paketteja automaattisesti. http://linux.fi/wiki/CheckInstall[/quote]

Tuo checkinstallikin taitaa yleensä vaatia make installin ajamista roottina, mitä kannattaa aina mahdollisuuksien mukaan välttää.

Noille configure-skriptin avulla käännettäville ohjelmille voi toisaalta yleensä tehdä esim. näin:

./configure --prefix=$(HOME)/Ohjelmat/ohjelma-versio-juoksevanumero && make && make install

Eli asennetaan ohjelma jonnekin kotihakemiston alle sopivaan paikkaan, jolloin root-oikeuksia ei tarvita lainkaan.

Tällöinkin toki oikein pahasti rikkinäinen Makefile voisi esim. pyyhkäistä kotihakemiston tyhjäksi, mutta käytännössä kuitenkin riski on paljon vähäisempi kuin roottina makea ajettaessa.

Samantyyliseen temppuun perustuu myös yleensä se, miten ohjelmat käännetään niitä paketoitaessa. Eli käännetään ohjelma ensin jonnekin normaalikäyttäjän käsiteltävissä olevaan paikaan, ja kopioidaan se sieltä sitten pakettienhallintajärjestelmän käyttämään arkistoformaattiin. Tässä vain pitää lisäksi ottaa huomioon se, että tuo --prefix asetetaan yleensä /usr:n alle, ja silti hoidetaan ne tiedostot ensin jonnekin väliaikaiseen paikkaan eikä suoraan sinne /usriin make installilla.