- CS-A0100
- 3. Hakemistot ja tiedostot
- 3.5 Ylläpidosta
Ylläpidosta¶
Linuxissa tavallisella käyttäjällä ei ole pääsyä muuhun kuin niihin tiedostoihin, joiden oikeudet sen sallivat. Käytännössä voit lukea useimpia koneessasi olevia tiedostoja, mutta et voi muokata kuin kotihakemistossa olevia tiedostoja.
Linuxissa on erikseen ylläpitäjän tunnus, root. Tällä tunnuksella on pääsy kaikkeen ja oikeus tehdä mitä tahansa (mukaanlukien sotkea käyttöjärjestelmän asennus perusteellisesti, joten varovaisuus on paikallaan).
Aallon koneilla ja muilla vastaavilla yhteiskäyttöisillä koneilla et root-oikeuksiin pääse käsiksi, mutta jos seuraat tätä omalla koneellasi (esimerkiksi omassa Windows-koneessa olevassa WSL:ssä), voit sudo
-komennolla suorittaa komentoja root-oikeuksilla.
Voit kokeilla omalla koneellasi, mitä nämä kaksi komentoa tekevät:
cat /etc/shadow
sudo cat /etc/shadow
Ensimmäisen komennon pitäisi antaa virheilmoitus puuttuvista oikeuksista; kuten ls -l
-komennolla näet, tuohon tiedostoon ei ole lukuoikeuksia kaikilla käyttäjillä ja tiedosto on rootin omistuksessa (tiedostossa säilytetään käyttäjien salasanojen tietoja, joten se on syytäkin suojata hyvin). Jälkimmäisen komennon pitäisi kuitenkin toimia, jos satut olemaan sellaisella koneella, missä käyttäjätunnuksellasi on ylläpitäjän oikeudet. Huomaa, että sudo
-komento kysyy sinun omaa salasanaasi (ei siis esimerkiksi erillistä root-käyttäjän salasanaa).
Ohjelmien päivittämistä ja asentamista¶
Käytännössä root-oikeuksiin tulee tarvetta esimerkiksi ohjelmia asennettaessa ja päivitettäessä. Esimerkiksi WSL-ympäristöstä ei oletuksena löydy C++-kääntäjää (jota seuraavassa luvussa tarvitsemme). Kokeile tätä komentoa:
g++ --version
Jos komento toimii ja tulostaa versionumeron, kaikki on kunnossa. Mutta komento saattaa myös sanoa jotain tämän kaltaista:
Command 'g++' not found, but can be installed with:
sudo apt install g++
Tässä apt
on Ubuntu Linuxista löytyvät työkalu, jolla hallitaan koneeseen asennettuja ohjelmapaketteja. Käytännössä kannattaa aloittaa päivittämällä kaikki kirjanpitotiedot ja ohjelmapaketit tuoreimpiin versioihin ennen kuin yrittää asentaa mitään uutta; tämä onnistuu näillä komennoilla (voi kestää pitkään ja vaatia isojen tiedostojen lataamista verkosta):
sudo apt-get update
sudo apt-get upgrade
Ensimmäinen näistä hakee tuoreen tiedon siitä, mitä Ubuntu-paketteja yleensäkään on tarjolla tällä hetkellä, ja jälkimmäinen päivittää kaikki koneessasi olevat ohjelmapaketit tuoreimpiin tarjolla oleviin versioihin (vastaile myöntävästi kysymyksiin, joita tulee vastaan).
Tämän jälkeen voidaankin totella neuvoa; asennetaan C++-kääntäjä tähän tapaan (vastaile taas myöntävästi kysymyksiin, joita tulee vastaan):
sudo apt install g++
Jos kaikki meni hyvin, nyt pitäisikin koneestasi löytyä myös C++-kääntäjä; kokeile komentoa
g++ --version
Samaan tapaan voit asentaa useimpia muitakin tarvitsemiasi ohjelmia.
Ohjelmissa on eroja
On hyvä huomata, että nykyään osa ohjelmistoista on parempi asentaa omaan kotihakemistoon sen sijaan, että käyttää käyttöjärjestelmän pakettienhallintatyökaluja. Esimerkiksi Rust-ohjelmointikielen työkalut asennetaan yleensä omaan kotihakemistoon näitä ohjeita seuraamalla.
Jatketaanpa nyt kokeilemaan omien ohjelmien kirjoittamista ja ajamista…