Tag Archive | sudo

Komentokehotteen käyttö asennuksessa ja ylläpidossa

Aiemmin olen asentanut ohjelmia linuxille käyttäen mm. Ubuntu Software Centerin pakkauksenhallintaa. Ohjelmien asennuksen voi kuitenkin ajaa myös terminaalin avulla bsd-komennoilla, mikä antaa käyttäjälle vapaammat kädet ohjelman asennukseen.  Sain tällä kertaa tehtäväksi asentaa 3 vapaavalintaista ohjelmaa käyttäen komentokehotetta niiden etsimiseen ja asentamiseen. Sen lisäksi tutkin Auth.logia, johon kirjataan istunnon aikana suoritetut sudo-käyttökerrat, eli milloin on tarvittu järjestelmänvalvojan oikeuksia. Lopuksi tehtävääni kuului asentaa myös päivitykset kaikkiin ohjelmiini, ajureihin, tietoturvaan sekä käyttöjärjestelmän jakelupäivitykseen — tietysti komentokehotteella.

Ohjelman asennus komentokehotteella

1.9.2012

22:36  Pakettilistan päivitys
Aloitin avaamalla terminaalin ja päivittämällä pakettihallinnan (jotta kaikki viimeisimmät ohjelmat löytyisivät haulla) käyttäen komentoa $ sudo apt-get update. Admin-salasanan syöttämisen jälkeen apt hakee saatavilla olevat paketit ja ilmoittaa haun suoritetuksi.

22:39 Ohjelmapaketin etsiminen
Seuraavaksi halusin etsiä asennettavan ohjelman pakkauslistalta, joten kirjoitan terminaaliin komennon $ apt-cache search <avainsana>, jolla terminaali listaa annetulla hakutermillä löytyvät ohjelmat ja pelit. (Huom! Sudoa ei tarvitse käyttää tässä, sillä nyt suoritettiin vain pakettinimietsintä “cachesta” eli varastosta) Kokeilin hakea minulle aiemmin tuttua fantasiastrategiapeli Wesnothia, eli syötän komennon $ apt-cache search wesnoth. Terminaali luetteli minulle pakkaukset ja niihin liittyvät kuvaukset, joiden perusteella oli helppo etsiä oikea paketti. Halusin pelin kokonaisena, joten valitsin pakettirivin “wesnoth-all – fantasy turn-based strategy game – complete suite (transitional package)”.

22:45 Asennus
Asensin pelin komennolla $ sudo apt-get install wesnoth-all. Salasanan syöttämisen jälkeen terminaali ilmoitti minulle

“After this operation, 436 MB of additional disk space will be used.
Do you want to continue [Y/n]?”

eli asennus vaatii 436 MB kovalevytilaa. Kovalevylläni oli tarpeeksi vapaata tilaa, joten kirjoitin “Y” (ilman sulkuja). Seuraavaksi paketinhallinta aloitti paketin lataamisen koneelle ja ilmoitti prosentteina asennuksen edistymisen jokaisen yksittäisen ladatun tiedoston kohdalla. Näin käyttäjän on helpompi ongelmatilanteista tarkistaa, minkä tiedoston lataamisessa on ollut ongelmia. Latauksen jälkeen pakkaushallinta raportoi jokaisen yksittäisen paketin purkamisesta koneelle.
23:00  Testaamaan!
Kun peli on vihdoin asennettu koneelle, sitä on tietysti testattava, jotta voidaan luottaa asennuksen onnistumiseen. Pelin avaus terminaalista onnistuu yksinkertaisesti komennolla $ wesnoth, jolloin terminaali hakee automaattisesti pelin /home/krister/.cache/wesnoth -hakemistosta. Mikäli ei tiedä millä komennolla pelin/ohjelman saa auki, terminaaliin voi kirjoittaa komennon $ dpkg –listfiles <hakusana>, esimerkiksi $ dpkg –listfiles wesnoth, jolloin terminaali ilmoittaa paketin löytyvän hakemistosta /usr/share/doc/wesnoth, näinollen peli aukeaa komennolla $ wesnoth.
Minulla peli käynnistyi oikein oletusresoluutiolla 1024×720, eikä pelin luomisessa ilmennyt ongelmia.

23:15 Kertaus on opintojen äiti
Halusin asentaa kokeiluksi myös kaksi hyötyohjelmaa. Valitsinkin ohjelman joka ilmoittaa koneen sensorien lämpötilan ja ohjelman, jolla voin kääntää ja kirjoittaa java-ohjelmointikieltä.
23:17 Haku lämpötilaohjelmalle
Hakukomennolla $ apt-cache search temperature löytyi kiinnostava pakkausrivi “fancontrol – utilities to read temperature/voltage/fan sensors”, kokeilin siis asentaa kyseisen ohjelman.
23:20  Haku java-tulkille
Olen jo pitkään käyttänyt java-tulkkina ohjelmaa nimeltä netbeans, joten yritin hakea sitä suoraan hakukomennolla $ apt-cache search netbeans. Oikea paketti vaikutti löytyneen riviltä “netbeans – Extensible Java IDE”, joten ryhdyin asentamaan myös kyseistä ohjelmaa.
23:23 Fancontrol-asennus
Aloitan fancontrol-ohjelman asennuksen tutulla sudo-komennolla $ sudo apt-get install fancontrol. Asennuksen jälkeen terminaali antoi seuraavan ilmoituksen
“ureadahead will be reprofiled on next reboot
Setting up fancontrol (1:3.3.1-2ubuntu1) …”
ilmeisesti minun kuului käynnistää kone uudestaan, jotta mittausprofiili voidaan luoda. Testasin tätä netbeans-asennuksen jälkeen.
23:30 Netbeans-asennus
Suoritan netbeans-asennuksen komennolla $ sudo apt-get install netbeans. Jo ensimmäisen asennetun ohjelman tapaan terminaali kysyi että haluanko asentaa ohjelman koneelleni [Y/no], johon vastaan kirjoittamalla “Y” (ilman lainausmerkkejä). Jälleen pakkaushallinta luetteli ladatut paketit ja tiedostot, sekä niiden purkamisen suorittamisen.

23:35 Netbeans-testaus
Testasin netbeansin toimivuutta kirjoittamalla komennon $ netbeans. Netbeans avautui normaaliin desktop-näkymäänsä ja kokeilin ajaa hello world -ohjelman (ohjelma tulostaa “hello world!” -tekstin). Kääntö onnistui hyvin, värimerkitseminen toimii ja debuggaus-ominaisuus on käytössä. Versioksi asentui kaikkein viimeisin, eli Netbeans 7.1.2
23:40  Reboot (harvinaista kyllä)
käynnistin koneen uudestaan, jotta voin testata fancontrol-ohjelman toimivuutta.
23:45 Fancontrol-testaus
kokeilin ajaa $ fancontrol -komennon, jotta saan ohjelman auki, terminaali ilmoittaa seuraavaa: “Loading configuration from /etc/fancontrol …
Error: Can’t read configuration file”
todennäköisesti järjestelmällä ei ole tarvittavia oikeuksia ohjelman suorittamiseen, joten ajoin ohjelman adminina sudo-komennolla, eli $ sudo fancontrol.
Terminaali antaa edelleen saman virheilmoituksen, joten seuraavaksi kokeilin hakea oikeaa command line -termiä komennolla $ dpkg –listfiles fancontrol. Termi oli oikein, joten en itse keksi enempää syitä miksi ohjelma ei toimi

Auth.log avaaminen, tutkiminen ja tulkitseminen

Sain tehtäväksi tutkia kansiossa /var/log/ olevaa auth.logia, johon kirjataan kaikki sudo-komennon käytöt.

3.9.2012

00:20 Lokin etsiminen
liikuin komennolla $ cd /var/log/ oikeaan kansioon ja avasin lokin käyttäen gedit-tekstieditoria, eli komento on $ gedit auth.log.

Seuraavaksi minun tuli etsiä yksi onnistunut ja yksi epäonnistunut yritys käyttää sudoa sekä hieman analysoida taustoja.

00:38 Onnistunut sudon käyttö
Auth.logia silmäilemällä löydän kohdan, jossa sudoa on käytetty onnistuneesti:

“Sep 2 23:17:42 krister-Aspire-5738 sudo: krister : TTY=pts/2 ; PWD=/home/krister ; USER=root ; COMMAND=/usr/bin/apt-get install wesnoth-all
Sep 2 23:17:42 krister-Aspire-5738 sudo: pam_unix(sudo:session): session opened for user root by (uid=1000)
Sep 2 23:21:56 krister-Aspire-5738 sudo: pam_unix(sudo:session): session closed for user root”

ensimmäisessä merkinnässä ilmoitettiin, että käyttäjätunnus ja salasana on annettu, käyttäjäistunnon arvo on root eli järjestelmänvalvoja ja suoritettava komento on wesnoth-all -paketin asennus.
Seuraavassa merkinnässä ilmoitettiin että root-istunto on nyt avattu komentorivitulkin toimesta, jotta asennus voidaan koneelle suorittaa. Viimeisessä merkinnässä ilmoitettiin root-istunnon sulkeutuneen, kun komento on saatu suoritettua.

Annettuun tehtävääni liittyen katsoin samalla myös ensimmäisen onnistuneen sudo-komennon käytön lokista, joka näyttäisi olevan päivitetyn pakkauslistan hakeminen, eli:

Sep 2 22:38:29 krister-Aspire-5738 sudo: krister : TTY=pts/2 ; PWD=/home/krister ; USER=root ; COMMAND=/usr/bin/apt-get update
Sep 2 22:38:29 krister-Aspire-5738 sudo: pam_unix(sudo:session): session opened for user root by (uid=1000)
Sep 2 22:38:35 krister-Aspire-5738 sudo: pam_unix(sudo:session): session closed for user root
00:45 Epäonnistunut sudo-komennon käyttö
“Sep 3 00:23:30 krister-Aspire-5738 sudo: krister : TTY=pts/3 ; PWD=/home/krister ; USER=root ; COMMAND=/usr/sbin/fancontrol
Sep 3 00:23:30 krister-Aspire-5738 sudo: pam_unix(sudo:session): session opened for user root by (uid=1000)
Sep 3 00:23:30 krister-Aspire-5738 sudo: pam_unix(sudo:session): session closed for user root”

tunnus ja salasana on annettu normaalisti, kuten myös komento, tässä tapauksessa komento on ollut avata ohjelma fancontrol. Root-istunto oli avautunut normaalisti, mutta kellonajoista huomaa että se myös sulkeutui samalla sekunnilla, mikä tarkoittaa, että istuntoa ei ollut käytetty mihinkään eikä komento ollut toiminut oikein, jolloin istunto suljettiin turhana.

Päivitys

Tehtävänäni oli päivittää xubuntu Linuxissa olevat ohjelmani, tietoturvapäivitykset sekä jakeluversion päivitys.

3.9.2012

1:00 Aloitetaan
helpointa on päivittää kaikki ohjelmat kerralla, joten haetaan aluksi päivitettävä tietokanta komennolla $ sudo apt-get update

1:01 Asennus
seuraavaksi asensin löytyneet päivitykset komennolla $ sudo apt-get upgrade, jolloin pakkaustenhallinta aloitti päivitysten purkamisen ohjelmisojen kansioihin. Samalla myös tietoturvapäivitykset asentuivat normaalien ohjelmapäivitysten rinnalla.

1:03 Jakeluversion tarkistus
komennolla $ sudo do-release-upgrade, pakkaustenhallinta tarkistaa onko käyttöjärjestelmästä saatavilla uudempaa jakeluversiota ja asentaa sen. Sain ilmoituksen että uutta julkaisua ei löytynyt, jolloin nyt käytössä oleva Xubuntu linux 12.04 on uusin ajan tasalla oleva jakelujulkaisu.

Yhteenveto

Komentokehotteen käyttö asennuksessa on käytännössä yhtä vaivatonta kuin desktop-version käyttö. Suurimpana erona lienee mahdollisuus ongelmatilanteissa tarkastella virheilmoituksia suoraan komentohistoriasta, johon pakkauksenhallinta raportoi pakettien haun ja asennuksen yksi kerrallaan.

Tällä kertaa testissä ollut peli Wesnoth ja java-tulkki Netbeans 7.1.2 asentuivat virheettömästi, mutta Fancontrol-ohjelman käynnistämisen kanssa näytti olevan ongelma, johon on etsittävä ratkaisu.

Päivitysten asennus onnistui vaivattomasti komennoilla $ sudo apt-get update ja $ sudo apt-get upgrade, sekä jakeluversion haku komennolla $ sudo do-release upgrade.

lähteet:
http://linux.fi/wiki/Ubuntun_päivittäminen

http://terokarvinen.com/2008/commands-for-admin-4

 

 

GNU Free Documentation License

Version 1.3, 3 November 2008

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.