Linux palvelimena, tehtävä 4 – Metapaketit

Tehtävänanto:

– Tee metapaketti, joka asentaa suosikkiohjelmasi. Katso, että se menee läpi lintianista.

Harjoituksessa käytetty laitteisto mainittu alla:

HP Pavilion dv6 Notebook PC

Prosessori: AMD Athlon II P340 Dual-Core

RAM: 4GB DDR2 800Mz

Näytönohjain: AMD M880G with ATI Mobility Radeon HD 4250

Metapaketin tekeminen

Aloitin harjoituksen tekemällä peruskomennot

sudo apt-get update ja sudo apt-get upgrade

Seuraavaksi asensin equivsin

sudo apt-get install equivs

Sitten loin metapakettia varten oman hakemiston

mkdir meta-jussi

Hakemistoon loin metapaketin asennustiedoston komennolla

equivs-control meta-jussi.cfg

Ja seuraavaksi siirryin muokkaamaan kyseistä tiedostoa

nano meta-jussi.cfg

meta1

kuvassa avautunut tiedosto

Tein tiedostoon seuraavat muutokset:

Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: meta-jussi
Version: 0.1
Depends: geoip-bin, gparted, gimp
Description:
 long description and info
 .
 second paragraph

Sitten loin paketin, joka onnistui hyvin

equivs-build meta-jussi.cfg

Asensin linitianin

sudo apt-get install lintian (tuli ilmoitus että uusin versio jo asennettu)

Testasin paketin linitianilla

lintian meta-jussi_0.1_all.dep

Ja hyvin pelitti ilman herjoja.

Seuraavaksi asensin gdebin ja testasin paketin toimivuuden

sudo apt-get install gdeb

sudo gdebi -n meta-jussi_0.1_all.deb

meta3

kuvassa paketin asentuminen käynnissä.

Ohjelmat asentuivat hyvin, eikä ylimääräisiä herjoja tullut!

meta4

Kuvasta näkyy asentunut kuvankäsittelyohjelma GIMP.

 Pakettivaraston tekeminen reprerpo:lla

Apache ja web-palvelin olivat jo valmiiksi minulla asennettuna, ohjett näiden tekemiseen löytyvät tarvittaessa http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4

aluksi asensin reprepro:n

sudo apt-get install reprepro

Seuraavaksi tein oman hakemiston repositorylle public_html hakemistoon

mkdir -p  ~/public_html/repository/conf

Sen jälkeen tehdään conf-hakemistoon distributions-asetustiedosto

nano repository/conf/distributions

Codename: precise
Components: main
Suite: precise
Architectures: i386 amd64 source

kuvassa distributions-tiedostoon tullut sisältö

Sitten koitin lisätä repositoryyn luomani metapaketin

/public_html$ reprepro -VVVV -b repository/ includedeb precise/jussi/meta-jussi/meta-jussi_0.1_all.deb

Tämä ei onnistunutkaan ja vaikka yritin vaihtaa tiedostopolkua, sain aina virheilmoituksen:

Syntax: reprepro [–delete] includedeb <distribution> <.deb-file>                                      There have been errors!

Melko pitkään koitin ongelmaa fixailla ja eri ohjeita ja lähteitä tutkiskella, mutta en saanut ongelmaa itse ratkaistua..Päätin jättää asian toistaiseksi ja odottamaan seuraavia tunteja, jotta voin kysyä ratkaisua ja viisastua itse samalla!

 

Lähteet:

http://terokarvinen.com/2011/update-all-your-computers-with-a-deb-repository

http://juhani-hynynen-linux.blogspot.fi/2014/02/h4-metapaketin-luominen-pakettivarasto.html

https://lauripuurula.wordpress.com/2015/09/23/metapakettien-tekemista-linuxilla/

https://mangust1.fi/blog/2015/09/26/linux-palvelimena-harjoitus-4-metapakettien-ja-repositoryn-teko/

http://www.linux-admins.net/2012/08/creating-apt-repository-with-reprepro.html

Advertisements

Linux palvelimena, harjoitus 2 – Kuormitus ja tulosten analysointi

Tehtävänanto:

– Kerää kuormitustietoja munin -ohjelmalla
– Kuormita konetta stress:llä
– Käytä tunnilla käytyjä työkaluja arvioidaksesi kuormitusta: cpu, mem, io…
– Lopuksi analysoi munin keräämiä käyriä
– Aiheuta valitsemaasi lokiin muutamia rivejä ja analysoi niistä 2-3 riviä perusteellisesti

Testit suoritin kotona ja käytetty laitteisto mainittu alla:

HP Pavilion dv6 Notebook PC

Prosessori: AMD Athlon II P340 Dual-Core

RAM: 4GB DDR2 800Mz

Näytönohjain: AMD M880G with ATI Mobility Radeon HD 4250

 

Munin-ohjelman asennus

sudo apt-get update

sudo apt-get install munin

Muninin sain näkyviin ja testattua kirjoittamalla firefoxin osoiteriville: /var/cache/munin/www/index.html

Munin-Overview sivu avautui ja kuormituksta kuvaavat käyrät eivät näyttäneet vielä mitään.

Munin1

Muninista löytyy kategoriat eri valvontakohteille mm. apache, disk, network…

Stress

Stressin asennus:

sudo apt-get install stress

Stressin ajoin koneelle terminaalissa seuraavalla komennolla:

$ stress -c 6 -i 4 -m 2 –vm-bytes 128M -t 60s

Tulkitseminen: -c 6 käynnistää 6 prosessia prosessorin kuormittamiseen, -i 4 kuormittaa io-väylää, –vm-bytes kuormittaa muistia 128M prosessilla ja –t 60s aikakatkaisee testin minutin kohdalla.

Prosessien kuormituksen tarkkailua varten asensin htop-ohjelman komennolla:

sudo apt-get install htop

Avasin htop:n toiseen terminaaliin ja toisessa ajoin stress:in.

 htop2

 Htop tulkinta

Testaamisen aikan Stress kuormitti prosessoria vaihteluvälillä 20-24% ja muistia 2,6-4%.

Munin analyysia

Munin_cpu

Ensimmäisestä kaaviosta näkyy prosessorin kuormittuminen. Stressin aiheuttaman piikin voi selvästi havaita ja parhaimmillaan se on yltänyt reilu 100% asti.

 Munin_memory.png

 Muistia analysoidessa selviää että suurimpia muistin viejiä olivat committed (ohjelmistot) ja cache (välimuisti). Käyttämättömänä olevaa muistia oli kyseisellä hetkellä 2,39Gb. Päätelmiä kaaviosta voisi olla että muistia saisi vapautettua esimerkiksi cache-tiedostoja poistamalla.

 Munin_network

Yllä oleva kaavio kuvaa verkkoliikennettä. Kaavion grafiikasta voi päätellä että esimerkiksi päivitysten lataaminen ja päivittäminen ovat aiheuttaneet piikkejä käyrässä.

 free –m

Muistin tilaa pääsin tutkimaan komennolla: free –m.

Helpommin luettavan muodon sain näkyviin kun lisäsis komentoon –h, eli free –m –h.

Alla kuva komentojen tuloksista.

freem

 Lokimerkinnän aiheuttaminen ja tulkinta

loki

Aluksi siirryin lokitiedostoihin jotka sijaitseca /var/log/ alta. Sen jälkeen siirryin kansioon auth.log, jonne halusin aiheuttaa lokimerkinnän.

Avasin toisen terminaalin lokin seuraamista varten, johon kirjoitin komennon: tail -f /var/log/auth.log

Toisessa terminaalissa ajoin komennon sudo adduser testi. Komento ohjasi syöttämään testi-käyttäjälle salasanan ja perustiedot. Samalla toisessa terminaalissa pystyin seuraamaan auth.login tapahtumia.

Lokista näkee, että jokainen merkinnän aiheuttanut tapahtuma alkaa aikamerkinnällä, josta selviää tapahtuman ajankohta.

Ensimmäinen rivi kertoo, että käyttäjä jussi ajaa sudo komennon ja lisää uuden käyttäjän nimeltä testi adduser-komennolla.

Toisella rivillä on ilmoitus ‘session opened for user root by jussi’, josta voi päätellä että käyttäjä jussi on syöttänyt oikean salasana sudo-komennon ajamiseen.

Seuraavat rivit kertovat adduser-komennon vaiheista käyttäjän luonnissa. Näistä riveistä selviää mm. mihin ryhmään luotu käyttäjä kuuluu sekä missä kotihakemisto sijaitsee.

Viimeinen rivi ilmoittaa session päättyneen ‘session closed for user root’, josta päätelmänä voi pitää että adduser-komento on suorittanut käyttäjän luonnin loppuun.

 

Lähteet                              http://tuukkamerilainen.com/linux-palvelimena-2/

                                            https://merimiettinen.wordpress.com/tag/xubuntu/

                                            https://meandmylittlepi.wordpress.com/2016/04/10/h2-linux-palvelimena-ict4tn003-19/

                                            https://jvaris.wordpress.com/2014/02/01/linux-server-task-2-stress-testing-and-logs/

http://munin-monitoring.org/wiki/Documentation

Xubuntu live-usb tikun tekeminen ja linux harjoituskoe

Haaga-helia Linux palvelimena ICT4TN003-22
H1. Tehtävänanto:

– Ratkaise valitsemasi Työasemat ja tietoverkot koe. Raportoi.

– Tee Live-USB tikku (suositus: Xubuntu 16.04 LTS amd64 desktop). Pidä tikku mukana tunnilla.

Live USB-tikun luonti

Tämän harjoituksen laitteistona käytin omaa Asus läppäriäni, jonka perustiedot:

Intel Core i5-3337U
8Gt RAM
Windows 10
USB-tikku: Transcend USB 3.1/3.0, 8Gt

Tässä ensimmäisessä kotiharjoituksessa tein tehtävänannon mukaisesti live-USB tikun, johon asensin Xubuntun.
Ensimmäiseksi latasin unetbootin Windows-version, jolla live-USB saatiin luotua (https://unetbootin.github.io/).
Unetbootin lataamisen jälkeen latasin Xubuntun version “xubuntu-16.04.1-desktop-amd64.iso”, jonka koko oli 1,2GT
(http://se.archive.ubuntu.com/mirror/cdimage.ubuntu.com/xubuntu/releases/16.04/release/).

Alla vaiheittain tapahtunut työjärjestys:

1. USB-tikun alustus ennen Xubuntun latausta siihen.
2. Unetbootin Windows-version lataus, linnki yllä olevassa tektsissä.
3. Xubuntun levykuvan lataus, linnki ja ladattu versio yläpuolella.
4. Unetbootin käynnistys. Levykuvaksi määritin oman aikasemmin lataamani Xubuntu.ISO tiedoston ja tallennuspaikaksi USB-tikun, johon kyseinen tiedosto asennettiin. Asennus alkoi.

unetboot
5. Käynnistin latauksen Unetbootilla, tikulle lataamiseen meni aikaa melko tarkalleen 5 minuuttia, jonka jälkeen Unetboot ilmoitti latauksen olevan valmis.

unetboot_valmis
6. Testasin tikun toimivuutta työasemallani. Käynnistin Xubuntun bootin jälkeen tikulta ilman asennusta (try Xubuntu without installing).
7. Totesin tikun toimivaksi ja suoritin Xubuntussa muutaman peruskomennon kuten: sudo apt-get update, sudo apt get-upgrade,
sudo apt-get install ssh, mkdir testi, rmdir testi. Totesin kyseisten komentojen toimivuuden ja lopetin testauksen.

Kokonaisuudessaan Live-USB tikun tekemiseen ja testaamiseen, sekä raportin kirjoittamiseen kulutin aikaa noin 60 minuuttia. Samalla tutkin kurssin materiaaleja mm. raportin kirjoittamisesta ja
edellisessä toteutuksessa olleen opiskelijan raporttia harjoituksesta (lähteet mainittu alla).
Lähteet: https://merimiettinen.wordpress.com/tag/live-tikku/
http://terokarvinen.com/2006/raportin-kirjoittaminen-4
https://help.ubuntu.com/community/Installation/FromUSBStick

Seuraavaksi suoritin valinnaisen harjoituskokeen:

H1. Linux-koe, työasemat ja tietoverkot 25

Haaga-helia Linux palvelimena ICT4TN003-22

Ensimmäisen harjoituksen toisena osana oli ratkaista jokin aikaisemman työasemat ja tietoverkot-kurssin koe. Omalla kohdalla valitsin työasemat ja tietoverkot 25 Linux kokeen.

Kokeen suoritin kotona olevalla vanhemmalla HP-läppärillä, jonka oleellisimmat speksit alla:

HP Pavilion dv6 Notebook PC

Prosessori: AMD Athlon II P340 Dual-Core

RAM: 4GB DDR2 800Mz

Näytönohjain: AMD M880G with ATI Mobility Radeon HD 4250

 

Linuxin asennus

  1. Aloitin harjoituksen Linuxin asennuksella, johon käytin aikaisemmin tekemääni Live-USB tikkua.

Liitin tikun USB-porttiin, jonka jälkeen uudelleenkäynnistin koneen.

  1. Kun kone käynnistyi uudelleen, painoin ensin ESC-näppäintä ja sen jälkeen F9, jotta pääsin bootti-menuun. Sieltä valitsin syöttämäni tikun ja Install Xubuntu.
  2. Xubuntun asennusvalikosta valitsin asennustyypiksi kovalevyn pyyhkimisen ja Xubuntun asennuksen. Asennusvalikosta en valinnut käyttöönotettavaksi automaattisia päivityksiä.

Seuraavista valikoista valitsin sijainniksi Helsinki ja Suomi, joita valikko oletuksena tarjosi.

Koneen nimeksi annoin oman nimeni.

  1. Asennus kesti noin 10 minuuttia, jonka jälkeen Xubuntu pyysi kirjautumaan sisään aiemmin luodulla käyttäjätunnuksella.
  2. Kirjautumisen jälkeen ensimmäisenä avasin terminaalin ja hain tarvittavat päivitykset järjestelmään komennoilla: sudo apt-get update ja sudo apt-get upgrade. Päivitysten lataamiseen kului aikaa noin 7 minuuttia, koska päivitettävää oli puhtaan asennuksen vuoksi melko paljon.
  3. Tämän jälkeen testasin tehtävänannossa olleiden ja oletuksena asentuneiden web-selaimen (firefox) ja tekstinkäsittelyohjelman (LibreOffice Writer) toiminnan. Molemmat toimivat normaalisti.

 

Käyttäjien lisääminen

 

  1. Seuraavaksi lisäsin käyttäjät komennolla: sudo adduser <käyttäjänimi>. Asetin tässä tehtävässä käyttäjänimeksi käyttäjän etunimen. Käyttäjän Åke Andersson kohdalla jouduin syöttämään käyttäjänimessä Å:n tilalle A:n, koska Å ei ollut hyväksytty merkki käyttäjänimeen. Seuraavaksi määritin käyttäjän koko nimen ja salasanan sekä vahvistin salasanan sen syöttämällä uudestaan.

 

OpenSSH ja Apache2

 

  1. Tämän jälkeen asensin OpenSSH serverin sekä Apache2:n käyttämällä komentoja: sudo apt-get install openssh-server ja sudo apt-get install apache2.
  2. sudo a2enmod userdir- komennolla enabloin kaikille käyttäjille userdirin käytön. Lisäksi boottasin apachen komennolla: sudo service apache2 restart.
  3. Testasin Apachen toimivuuden avaamalla komentoriviltä firefoxin ja kirjoittamalla osoiteriville ”http://localhost”. Apache2:n sivu avautui ja kaikki toimi normaalisti.
  4. Loin omaan kotihakemistooni kansion public_html (mkdir public_html) ja sen sisälle tiedoston index.html, johon kirjoitin testiksi oman nimeni (nano index.html). Testasin toimivuuden avaamalla firefoxin ja kirjoittamalla osoitteeksi: ”http://localhost/~jussi/. Tämä toimi ja selaimeen avautui sivu jossa näkyi index.html tiedostoon kirjoittama oma nimeni.
  5. Tämän jälkeen kirjauduin jokaisen käyttäjän tunnuksella esim: ssh einari@localhost ja loin käyttäjille samalla tavalla public_html hakemiston ja index.html tiedoston kuten edellisessä kohdassa. Testasin sivujen toimivuuden firefoxissa.

 

PHP

 

  1. Seuraavaksi vuorossa oli asentaa PHP. Syötin komennot: sudo apt-get install php ja sudo apt-get install php-mysql. Komennot asensivat PHP 7.0 sekä mysql kirjastot.
  2. Testasin PHP:n toimivuuden poistamalla public_html hakemistosta index.html tiedoston ja luomalla sen tilalle index.php tiedoston. Kyseiseen tiedostoon kirjoitin seuraavan sisällön jonka löysin eräästä lähteestä (mainittu lähteissä):

 

”<?php

print <<< EOT

<!doctype html>

<html lang=”en”>

<head>

<meta charset=”UTF-8″>

<title>Test successful</title>

</head>

<body>

<h1>Test successful</h1>

<p>Congratulations.</p>

<p>Your webserver and PHP are working.</p>

</body>

</html>

EOT;

?>”

  1. Testasin toimivuuden firefoxissa: http://localhost/~jussi/index.php. Tämä toimi kuten pitikin eli asennus oli onnistunut.

 

Shell Script

 

  1. Tehtävässä oli annettu suorittaa vielä shell script nimeltä ”mystatus”, joka olisi näyttänyt vapaan levytilan sekä koneen ip-osoitteen. En saanut scriptiä toimimaan, vaan monen kokeilun jälkeen sain saman virheilmoituksen: -bash: ./mystatus: Permission denied. Tähän toivon löytäväni ratkaisun koulussa saatavien vinkkien avulla.

 

Lähteet                                http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4

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

https://merimiettinen.wordpress.com/tag/live-tikku/

http://tuukkamerilainen.com/linux-palvelimena-1/

http://www.penguintutor.com/linux/installing-lamp

http://www.linfo.org/create_shell_1.html