ICT beheerder leerjaar 1 p4

Project de Campagne:

Voor de melkrijder hebben jullie een Linux machine ingericht. Deze machine beschikt over een mail cliënt, internet, een programma waarmee platte tekst kan worden bewerkt en een office suite. Daarnaast hebben jullie een handleiding gemaakt en een mail verstuurd aan de melkrijder met een aantal antwoorden op support vragen.

Bij een oplevering van de realisatie-fase van het project voor Linux moet je:
- De documentatie laten zien.
- De Linux machine laten zien.
- Zelf uit kunnen leggen wat je hebt gedaan.

Opleveren kan op woensdag 1 juni tijdens de linux les.

Periode 4


Deze periode leren we paragraaf 6.5,  6.10 en hoofdstuk 7 van dit boek van Jarko Huijs

Dit gaat over de GNU tools. Commando's op de prompt dus. De periode wordt afgesloten met een multple choice toets over deze paragrafen en dit hoofdstuk in het boek en de stof die extra in de lessen besproken wordt.

Verhaal van Richard Stallman http://www.youtube.com/watch?v=-mUhTwmUQt4

Lees voor meer details het volgende boek, in het engels. Dit is geen verplichte stof voor de toests:
http://sourceforge.net/projects/linuxcommand/files/TLCL/09.12/TLCL-09.12.pdf/download

Les 1: Directorystruktuur (FHS), input output en error stream

Les 1 gaat over de directorystructuur van Linux, paragraaf 6.10 van Jarko Huijs, en de input, output en error stream en hoe je deze kunt besturen in bash. Kijk hier voor een beschrijving van de FHS http://dhavalv.wordpress.com/2007/10/17/quick-introduction-to-linux-filesystem-fhs/


Commando's:
mkdir mijndir
cd mijndir
ls -als > bestand
cat bestand > bestand2
cat bestand >> bestand2
rm bestand
mv bestand2 bestand

Les 2: Bestand systemen

In linux hebben alle "bestand" systemen een plaats in 1 directory hierarchie. Verschillende "bestand" systemen zijn:

- Partities, op een hardeschijf, een usb device of een cd / dvd
- Netwerkshares, windows shares, NFS exports, bluetooth devices, ...
- Pseudo bestandssystemen zoals geheugen, services en devicenodes
- loopback devices zoals iso-bestanden en versleutelde directories

Het gaat dus niet alleen om bestanden.

1 van deze bestandsystemen vormt de wortel van de boomstruktuur en deze heet / (spreek uit roet, schrijf root).
Dit is meestal het systeem dat als eerste genoemd wordt in het bestand /etc/fstab 

bekijk de inhoud van dit bestand met:

cat /etc/fstab

Vraag: Hoe weet Linux /etc/fstab te vinden als het nog niet weet welk bestandssysteem / is?

Je kunt dus op een Linux systeem een heel bestandsysteem op een willekeurige plaats toevoegen aan de hierarchie, de boomstruktuur. 

Maak een nieuwe directorie
mkdir data

Koppel een partitie aan
sudo mount /dev/sdb1 data
 
Als je wilt dat dit automatisch gebeurd bij het opstarten. of je wilt een bepaalde locatie reserveren voor een bepaald bestandsysteem dan kun je /etc/fstab aanpassen.

Opdracht: Pas je fstab aan zodat de tweede schijf die jullie vorige periode hebben gemaakt automatisch aangekopeld wordt bij het opstarten. de locatie wordt /home/data

Les 3: Het Skelet

In Linux is het skelet (/etc/skel/ ) een directorie die als standaard geld voor alle home directories die aangemaakt worden.
Vandaag gaan jullie nieuwe gebruikers aanmaken en daarbij uitzoeken welke rol /etc/skel hierbij speelt.

type op prompt:
man adduser
 
Je leest hier onder andere een synopsis:

adduser  [options] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] [--gecos GECOS] [--add_extra_groups] [--encrypt-home] user

Alle mogelijkheden die tussen [] blokhaken staan mag je gebruiken maar het hoeft niet. om een gebruiker aan te maken die piet heet volstaat:
sudo adduser piet

Een gebruiker verwijderen kan met userdel, daarvan is ook een manual page. Gebruikers verwijderen en met namen gebruikersbestanden verwijderen is iets dat alleen in zeer uitzonderlijke gevallen gebeurd. Dit voert te ver voor deze les.

sudo uiteraard omdat alleen de superuser gebruikers mag aanmaken. Om meerdere commando's achterelkaar te kunnen uitvoeren zonder telkens sudo te moeten toevoegen kun je het volgende commando invoeren:
sudo su

Je prompt veranderd nu als het goed is. type 
whoami
om te controleren of je inderdaad root bent geworden.

Opdracht 1

- Sla het instruktie document uit periode 1 op in je eigen "home folder" 
- open een terminal en log in als root.
- Maak de directory /etc/skel/Desktop.
- copieer je handleiding naar deze nieuwe directory.
- Maak een nieuwe gebruiker
- meld je, via de aan/uit knop rechtsboven in je scherm, aan als deze nieuwe gebruiker.

- Beschrijf voor je zelf in een korte e-mail aan jezelf hoe je een gebruiker aanmaakt in Ubuntu en hoe je een bestand automatisch bij elke nieuwe gebruiker op zijn desktop kan zetten. Stuur een cc naar t (punt) boose (at) rocleiden (punt) nl.

Opdracht 2:

Zoek nu eens uit hoe je:
- De achtergrond van iedere nieuwe gebruiker aanpast.
- Een programma toe kan voegen aan het applicatie menu van alle nieuwe gebruikers
- Een verwijzing naar de map data op fileserver (places, connect to server). toevoegd voor alle nieuwe gebruikers.

- Beschrijf ook deze onderwerpen in een korte e-mail aan jezelf met mij als cc.

Les 4: De prompt

Vandaag gaan we commando's aan elkaar knopen door middel van | (Pipes) en > (redirects). Daarnaast gaan jullie een aantal commando's gebruiken die je voor de toets moet kennen.

Opdracht 1:

Maak een index bestand met links naar alle plaatjes op onze computer. 

Het Index bestand komt er als volgt uit te zien:
<A HREF="file:/usr/share/backgrounds/cosmos/sombrero.jpg">/usr/share/backgrounds/cosmos/sombrero.jpg</A><BR>

Maar dan met 1 regel voor ieder jpg bestand op deze computer dat groter is dan 1 MB.


Het eerste commando dat je nodig hebt is:
du -ax

Dit commando voer je uit vanaf de / directory van je systeem, bedenk zelf hoe je hier naartoe kunt gaan.

Vraag 1a:

Zoek uit met:
man du
Waarom de switchen -a en -x gebruikt moeten worden?

De output van du moet de input worden van het commando grep jpg . Maar de foutmeldingen, over directories waar we geen toegang toe hebben willen we niet zien.
Output --> input kunnen we regelen met het | (pipe) teken. De error-stream kunnen we naar de prullenbak (/dev/null) sturen d.m.v. output redirecting met het 2> teken.

output redirecting:
 >Alles 
 1>Output-stream 
 2>Error-stream 

druk 1 keer op pijltje omhoog om het commando aan te vullen.

Het commando wordt dus:
du -ax 2> /dev/null | grep jpg$

Vraag 1b:

Zoek op in de reader waarom er een $ staat na jpg?


Om alle regels te filteren waarbij de eerste kolom een getal bevat dat groter is dan 1024 kun je awk gebruiken. Dat doe je zo:
awk '{if ($1>=1024) print $0}'
Bedenk zelf hoe je de output van het du | grep commando als invoer voor dit awk commando kunt gebruiken. Denk daarbij ook aan het pijltje omhoog.

Lees in de manual page (man cut) wat het commando:
cut -d . -f 2-10
doet.

Als je ook dit commando aan het totaal toegevoegd hebt heb je een lijst met bestandsnamen die we in de index willen opnemen.
We hebben awk al eerder gebruikt om output te formatteren. Dat kun je nog een keer doen maar nu zonder het "if ()" gedeelte en het print statement wordt:
print "<A HREF=\"" $0 "\">" $0 "</A><BR>"

Tot slot zullen we de output van het complete commando in een bestand moeten plaatsen. Dit doen we door
> ~/plaatjes.html
toe te voegen.

Opdracht 2:

Zet het complete commando uit opdracht 1 in een nieuw te maken bestand: ~/bin/maakplaatjes
voeg het execute recht toe d.m.v: chmod +x  ~/bin/maakplaatjes

type voortaan:
maakplaatjes
om het index bestand opnieuw te vullen.



Subpagina''s (1): Input output redirection
Comments