Ero sivun ”Epäviralliset pakettivarastot” versioiden välillä

Siirry navigaatioon Siirry hakuun
2 050 merkkiä lisätty ,  20. helmikuuta 2008
laiteajurit; CTAN, CPAN
(vaihtoehdot)
(laiteajurit; CTAN, CPAN)
Rivi 45: Rivi 45:


Joissakin tapauksissa ohjelman tekijään ei luota kuin osittain: ohjelmaa ei haluta ajaa kuin rajoitetuin oikeuksin tai muuten valvotuissa oloissa. Tällöin ohjelma kannattaa ehdottomasti asentaa lähdekoodista kääntämällä, kolmannen tahon kautta tai vähintään niin että asennuskin tehdään rajoitetulla käyttäjätunnuksella (katso alla).
Joissakin tapauksissa ohjelman tekijään ei luota kuin osittain: ohjelmaa ei haluta ajaa kuin rajoitetuin oikeuksin tai muuten valvotuissa oloissa. Tällöin ohjelma kannattaa ehdottomasti asentaa lähdekoodista kääntämällä, kolmannen tahon kautta tai vähintään niin että asennuskin tehdään rajoitetulla käyttäjätunnuksella (katso alla).
Usein ajankohtainen eritystapaus on laiteajurit, lähinnä näyttökorteille ja [[WLAN|wlan]]-korteille. Näille on monessa tapauksessa vain laitetekijän tekemiä suljettuja ajureita. Katso Suljettu koodi alla.
<!-- esimerkkejä: opera, nvidia -->
<!-- esimerkkejä: opera, nvidia -->


Rivi 59: Rivi 61:
=== "contrib", "universe" ===
=== "contrib", "universe" ===


Monella jakelulla on siihen kiinteästi kuuluvien pakettien lisäksi laajempi pakettivarasto, jossa on vähemmän huolellisesti testattua ohjelmistoa, joita ei muodollisesti tueta, mahdollisesti myös pakettivarasto, joihin käyttäjät voivat lisätä itse tekemiään paketteja. Tätä pakettivarastoa asennuslähteisiin lisättäessä kannattaa selvittää sen asema ja miten pitkälle siihen kannattaa luottaa.
Monella jakelulla on siihen kiinteästi kuuluvien pakettien lisäksi laajempi pakettivarasto, jossa on vähemmän huolellisesti testattua ohjelmistoa, jota ei muodollisesti tueta, mahdollisesti myös pakettivarasto, joihin käyttäjät voivat lisätä itse tekemiään paketteja. Tätä pakettivarastoa asennuslähteisiin lisättäessä kannattaa selvittää sen asema ja miten pitkälle siihen kannattaa luottaa.


Debianissa ''contrib'' tarkoittaa, että paketit riippuvat ei-vapaista osista. Koska Debian on vapaa käyttöjärjestelmä, contrib-paketit eivät voi virallisesti olla sen osa, vaikka ne muuten käsitelläänkin samalla tavalla kuin virallisia paketteja. contrib-paketteja käytettäessä kannattaa pitää mielessä, että niiden asentaminen saattaa tuoda koneelle kolmannen osapuolen suljettua koodia (tämä selviää paketin riippuvuuksia ja asennusskriptejä tutkimalla, usein jo paketin kuvauksesta).
Debianissa ''contrib'' tarkoittaa, että paketit riippuvat ei-vapaista osista. Koska Debian on vapaa käyttöjärjestelmä, contrib-paketit eivät voi virallisesti olla sen osa, vaikka ne muuten käsitelläänkin samalla tavalla kuin virallisia paketteja. contrib-paketteja käytettäessä kannattaa pitää mielessä, että niiden asentaminen saattaa tuoda koneelle kolmannen osapuolen suljettua koodia (tämä selviää paketin riippuvuuksia ja asennusskriptejä tutkimalla, usein jo paketin kuvauksesta).
Rivi 65: Rivi 67:
=== Ulkopuoliset tahot ===
=== Ulkopuoliset tahot ===


Myös kokonaan ulkopuoliset saattavat tarjota pakettilähteitä, esimerkiksi niin, että niitä on tarvittu sisäiseen käyttöön ja myöhemmin keksitty tarjota myös yleiseen jakoon. Tällaisen pakettivlähteen luotettavuutta on arvioitava tapaus tapaukselta.
Myös kokonaan ulkopuoliset saattavat tarjota pakettilähteitä, esimerkiksi niin, että niitä on tarvittu sisäiseen käyttöön ja myöhemmin keksitty tarjota myös yleiseen jakoon. Tällaisen pakettilähteen luotettavuutta on arvioitava tapaus tapaukselta.


Joskus tällainen ulkopuolinen pakettilähde kehittyy uudeksi, ainakin alkuvaiheessa yhteensopivaksi, itsenäiseksi jakeluksi.
Joskus tällainen ulkopuolinen pakettilähde kehittyy uudeksi, ainakin alkuvaiheessa yhteensopivaksi, itsenäiseksi jakeluksi.
<!-- vrt Ximian, Redhat-kloonit -->
<!-- vrt Ximian, Redhat-kloonit -->
Jotkut tahot tarjoavat kokoelmia tietyntyyppisistä ohjelmista, esimerkiksi [[wikipedia:fi:CPAN|CPAN]] [[perl]]-moduuleista ja [[wikipedia:en:CTAN|CTAN]] [[TeX]]-moduuleista. Ohjelmien tarkistus saattaa, riippuen tahosta, olla hyvää tai olematonta. Jos oma asiantuntemus ei riitä tahon (tai itse ohjelmien) luotettavuuden arviointiin eikä sitä muullakaan tavalla saa varmistettua, näitä ohjelmia ei kannata käyttää missään, missä mahdollisia tietoturva-aukkoja päästään hyödyntämään. Netti on pullollaan esimerkiksi huonosti tehtyjä PHP-skriptejä.


=== Suljettu koodi ===
=== Suljettu koodi ===
Rivi 74: Rivi 78:
Mikäli jonkin ohjelmapaketin lähdekoodi ei ole saatavilla, ohjelman turvallisuutta vakaus- tai tietoturvamielessä on vaikea kenenkään muun kuin tekijän arvioida (paitsi sikäli kuin huomataan puutteita). Näin suljettua koodia asennettaessa on vielä tarkemmin otettava huomiota epävirallisia paketteja koskevat riskit.
Mikäli jonkin ohjelmapaketin lähdekoodi ei ole saatavilla, ohjelman turvallisuutta vakaus- tai tietoturvamielessä on vaikea kenenkään muun kuin tekijän arvioida (paitsi sikäli kuin huomataan puutteita). Näin suljettua koodia asennettaessa on vielä tarkemmin otettava huomiota epävirallisia paketteja koskevat riskit.


Epävapaita ohjelmia, joista osalla on suljettu lähdekoodi, on [[Ubuntu]]ssa osioissa ''restricted'' ja ''multiverse''. [[Debian]]issa niitä on osiossa ''non-free'' ja myös osion ''contrib'' asennusskriptit saattavat asentaa niitä. Joissakin jakeluissa myös osa jakelun itse kehittämistä ohjelmista ovat epävapaita.
Epävapaita ohjelmia, joista osalla on suljettu lähdekoodi, on [[Ubuntu]]ssa osioissa ''restricted'' ja ''multiverse''. [[Debian]]issa niitä on osiossa ''non-free'' ja myös osion ''contrib'' asennusskriptit saattavat asentaa niitä. Joissakin jakeluissa myös osa jakelun itse kehittämistä ohjelmista on epävapaata.
 
Tärkeä ryhmä suljetun koodin ohjelmia ovat erilaiset laiteajurit. Joillekin laitteille, varsinkin [[näytönohjaimet|näytönohjaimille]] ja [[WLAN|wlan]-korteille, on vain laitevalmistajan tekemä suljettu ajuri. Koska laiteajuri on osa [[kernel|Linux-ydintä]], sen toiminta on keskeistä koko järjestelmän toimivuudelle ja turvallisuudelle.
 
Suljetut laiteajurit toimitetaan useimmiten kahdessa osassa: varsinainen ajuri ja sovituskoodi ("wrapper"), jolla ajurin saa sopimaan kulloinkin käytettävään kerneliin. Näin ei tarvitse käyttää juuri samaa kernel-versiota kuin mille ajuri on käännetty. Kernelin muutokset saattavat kuitenkin rikkoa yhteensopivuuden.
 
Laitevalmistajan tekemä asennuspaketti on yleensä saatavissa suoraan laitevalmistajan www-sivuilta, mutta varsinkin jos käyttää jakelun paketoimaa ydintä, kannattaa ajuritkin asentaa jakelun paketista tai jakelun virallisia ohjeita noudattaen, jotta hyötyisi jakelun mahdollisesti tekemästä sovitustyöstä.


== Vaihtoehdot ==
== Vaihtoehdot ==
Rivi 99: Rivi 109:
Hyvinkäyttäytyvä ohjelma asentuu oletuksena hakemiston /usr/local (tai mahdollisesti /opt), jossa se ei häiritse paketinhallinnan piirissä olevia ohjelmia. Ohjelmasta voi myös kohtuullisen helposti tehdä oman distron paketin (mahdollisesti jopa pelkällä make-käskyn valitsimella) tai sen voi asentaa [[CheckInstall]]-työkalulla tai vastaavalla, jolloin sen poistaminen myöhemmin on helppoa.
Hyvinkäyttäytyvä ohjelma asentuu oletuksena hakemiston /usr/local (tai mahdollisesti /opt), jossa se ei häiritse paketinhallinnan piirissä olevia ohjelmia. Ohjelmasta voi myös kohtuullisen helposti tehdä oman distron paketin (mahdollisesti jopa pelkällä make-käskyn valitsimella) tai sen voi asentaa [[CheckInstall]]-työkalulla tai vastaavalla, jolloin sen poistaminen myöhemmin on helppoa.


Lähdekoodista käännettäessä yhteensopivuusongelmat ovat vähäisempiä kuin valmiiksi käänettyä ohjelmaa asennettaessa, mutta niitä voi esiintyä. Samaten tietoturvaongelmat ovat yleensä pienemmät, mutta julkisestikin esillä olevaan koodiin voi piilottaa troijanhevosia ja koodi voi olla huonolaatuista.
Lähdekoodista käännettäessä yhteensopivuusongelmat ovat vähäisempiä kuin valmiiksi käännettyä ohjelmaa asennettaessa, mutta niitä voi esiintyä. Samaten tietoturvaongelmat ovat yleensä pienemmät, mutta julkisestikin esillä olevaan koodiin voi piilottaa troijanhevosia ja koodi voi olla huonolaatuista. On myös huomattava, että esimerkiksi suljettuihin laiteajureihin saattaa sisältyä itse ajuri valmiiksi käännettynä suljettuna koodina (katso yllä) ja se, mitä käännetään, onkin vain sovituskoodia.


Ongelmien arviointi vaatii osaamista, mutta ainakin www-käyttöön tarkoitettuja pieniä skriptikielisiä ohjelmia tai ohjelmanpätkiä tulee varoa: niitä on helppo kirjoittaa ymmärtämättä käytettyä kieltä kovin syvällisesti ja niistä löytyy usein tietoturva-aukkoja.
Ongelmien arviointi vaatii osaamista, mutta ainakin www-käyttöön tarkoitettuja pieniä [[wikipedia:fi:Komentosarjakieli#Uudet "komentosarjakielet"|skriptikielisiä]] ohjelmia tai ohjelmanpätkiä tulee varoa: niitä on helppo kirjoittaa ymmärtämättä käytettyä kieltä kovin syvällisesti ja niistä löytyy usein tietoturva-aukkoja.


Tietoturva-aukot itsekäännetyissä ohjelmissa korjataan kääntämällä ohjelma uudestaan korjatusta lähdekoodista ja asentamalla tämä uusi versio vanhan tilalle. Tietoturvapääivityksen tarve on huomattava itse seuraamalla sopivia sähköpostilistoja tms.
Tietoturva-aukot itsekäännetyissä ohjelmissa korjataan kääntämällä ohjelma uudestaan korjatusta lähdekoodista ja asentamalla tämä uusi versio vanhan tilalle. Tietoturvapääivityksen tarve on huomattava itse seuraamalla sopivia sähköpostilistoja tms.
785

muokkausta

Navigointivalikko