open knowledge community

#20 – Linux

At May 16th there will be an OpenToko about the Linux operating system with a focus on using it in art installations. This workshop will be interesting for both newbies and people with some level of experience already. First a general overview will be given by Leen Smit followed by a hands-on session trying different Linux distributions on different computers.

Topics:

- How is the operating system organized?
- What are the tasks of the kernel and what do the deamons?
- How to perform some system management from the shell: users, processes, devices, scheduler etc?
- How the the different package managers work and how to find the right repositories?
- How to install drivers for your hardware?
- What about networking tools like rlogin, ssh, vnc etc.?
- How to do a system upgrade without loosing your data and settings?
- How to run Linux efficiently on cheap hardware (netbooks, mini-itx etc).

The day starts with a session by Leen Smit focussing on the questions above. In the afternoon we will try several Linux distributions (slax, ubuntu, debian, sidux and more) on different computers: netbook, netbook running from a live-cd, mini-itx computer, mini-itx computer booting from usb-drive, MacBook. If you have a computer on which you would like to install or optimize Linux please bring it.

Date: May 16th, 2010 @ 10:00

Location: Kleine Koppel 40, 3812 PH Amersfoort

If you have never visited a Toko before, please read the about page. If you want to join, please fill out the registration form.

Aantekeningen van Rick

Aanwezigen:
  • Harmen Zijp
  • Diana Wildschut
  • Leen Smit
  • Rick Companje
  • Jeroen Kornegoor (moest aan linux van Leen, kan goed fietsen repareren. Hoe maak je een banaan of een andere ligfiets). Weet ook alles van webdevelopment (php, apache, mysql etc.). Vindt zichzelf een “jaren 90 browser” niet zo’n fan van al die sociale netwerken.
  • Marjon Wiendels via mailinglijst van genderchangers. Vindt inmiddels dat ‘een beetje van alles’ weten toch ook wel leuk is. Wil graag overstappen op linux gebruiken.
  • Reinder de Haan uit de embedded hoek. “Als je werkt met grafische displays, filesystems of IP-netwerken dan Linux anders heb je zeer waarschijnlijk geen OS nodig voor een apparaat”.
  • Bas de Lange ooit via slashdot geinteresseerd geraakt in open source. Zo’n 5 jaar actief met Syllable. Organiseert bijeenkomsten zoals document freedomday en openstreetmaps bijeenkomsten.
  • Kaj de Vos ‘uitvinder’ al 10 jaar bezig met zoveel mogelijk opensource. Zou wel graag een linux vervanging voor Lotus Notes willen maken. Vindt dat Linux inmiddels bijna net zo log is geworden als Windows. 8 jaar geleden begonnen met Syllable. Er is een enorme druk om te doen wat anderen doen. Je moet eigenlijk een visie hebben die over 5 jaar pas echt bruikbaar wordt.
  • Margriet van Eekelen wil graag een OpenToko geven over de methode “stomme vragen stellen”
Aankondigingen:
12 juni in Baarn http://geofreedomday.nl
Walkthrough met Leen
(gebruikt Statler: http://crunchbanglinux.org/downloads/statler)
  • Booten: wat gebeurt er precies?
  • Bios (info over hardware, doet eigenlijk niet meer dan de ID’s beschikbaar stellen)
  • MBR (info over besturingssysteem)
  • Kernel is het kloppend hard (bevat alle drivers voor je hardware). De kernel wordt gekozen door de MBR.
  • initrd is een extra pak drivers. rd staat voor ramdisk
  • (/boot/)
  • Je kunt kiezen of je een driver meecompiled met de kernel of dat je ‘m als module houdt.
  • De kernel wordt in principe helemaal in je geheugen geladen
  • dmesg zijn je kernel messages
  • als je kernel helemaal geladen is hoef je daarna alleen nog maar met textfiles je systeem te gaan configureren.
  • Als je kernel klaar is gaan de logs verder in /var/log  (syslog en deamon log). Je ziet weer soortgelijke meldingen langskomen alleen nu gaat je systeem er echt iets mee doen en kan ie specifiekere meldingen gegeven.
  • deamon is een proces wat op de achtergrond loopt. Meer niet. In windows heten dit services of processes. wikipedia:  een proces aan te duiden dat niets doet dan reageren op inkomende verzoeken om diensten (of wachten op het binnenkomen van een dergelijk verzoek).
  • er is bijvoorbeeld een script ‘bluetooth’ in de map /etc/init.d/. Die start (of is?) de deamon en zorgt dat bluetooth gaat werken.
  • udev zorgt ervoor dat alle devices een naampje krijgen. Hier kun je ook kiezen
  • tail -f /var/log/messages
  • vendorID en ProductID (VID en PID op Windows). Er schijnt een ‘pci vendor database’ te zijn.
  • halt is een deamon die zorgt dat je systeem wordt afgesloten.
  • runlevels in /etc/rc. Op welk level runt een proces. In het mapje rc0.d staan alle scripts die uitgevoerd moeten worden wanneer dit runlevel bereikt wordt. Hoe lager het cijfer hoe eerder het script wordt uitgevoerd.
  • “ls -la” laat verwijzing bij symlinks zien
  • je hoeft niet met de hand in je rc’s zitten voeten. Daar zijn tools voor.
  • init.d staan je opstart en shutdown scripts.
  • data op een andere partitie is ook onder linux een goede gewoonte. Bij sommige distro’s wordt er bij de installatie om gevraagd.
  • gobolinux heeft een soort extra laag over linux waardoor de mappenstructuur op MacOSX lijkt.
  • /home al je instellingen van jezelf (desktop, font voor je terminal etc)
  • /dev (devices). als udev hardware vindt gaat ie een nieuw device aanmaken onder /dev. Wordt bij booten opnieuw aangemaakt door udev.
  • /proc (handig voor info. bijv: cat cpuinfo) of heel handig: cat partitions.
  • touch file.txt (maakt ‘m aan als ie nog niet bestaat en als ie al wel bestaat raakt ie m aan)
  • basisgedachte van unix: everything is file
  • ls -l: b=blockdevice, l=link, d=directory, c=characterdevice (bijv. terminal)
  • hexdump -C /dev/urandom gaat random hexvalues uitspuigen
  • file test.txt (geeft aan of het ASCII text is of bin, of nog iets anders?)
  • tab tab commando completion
  • /root is homedirectory van de root user
  • /mnt is achterhaald
  • /media is de plek waar tegenwoordig je harddisks en verwisselbare schijven in worden gemount.
  • /var is alles wat je wilt bewaren uit je /tmp
  • /usr hierin komen de executables van alles wat een user installeerd.
  • /lib hierin komen de libs die een user installeerd.
  • /usr/share/doc documentatie van de geinstalleerde tools
  • /opt optional. bijv. picasa maakt daar een mapje met de windows versie van picasa en wine. Vervolgens verziekt picasa niet de rest van je systeem maar draait ie daar netjes afgeschermd.
  • man (manual)
  • man -k (zoeken door alle man pages) zelfde als apropos
  • which en whereis (geeft alleen binaries terug)
  • locate (updatedb maakt een database aan, locatie zoekt in die database)
  • find (doet zelfde als updatedb en locate maar is zwaarder dan updatedb)
  • rwxr-xr-x user-group-others (UGO)
  • chown change ownership sudo chmod go+x root (go staat voor group & others) +x execute rechten toevoegen
  • /etc/passwd: username
  • /etc/groups: groupname:x:1000:
  • je kunt op verschillende manieren users rechten geven op bijv een file: via chmod, via chown, via passwd en via groups
  • hoe maak je van een textfile een executeerbaal script:  chmod a+x test.sh (a=all dus users+groups+others)
  • #!/bin/bash
  • met ‘groups’ kun je opvragen in welke group jij zit
  • apt-cache search build-essential
  • adduser leen (is veel handiger dan useradd)
  • in visudo: rick ALL=NOPASSWD: ALL
  • %sudo ALL:(ALL) ALL  (% om aan te geven dat het gaat om de groep sudo)
  • lsof list open files
  • lspci
  • lsusb
  • lsmod
  • netstat
  • !! is het hele vorige commando
  • !$ is het tweede deel van het vorige commando
  • repositories
  • apt / aptitude maken allebei gebruik van dpkg
  • dpkg –get-selections > package.list  (maakt een kopie van je geinstalleerde packages)
  • dpkg –set-selections < package.list (terugzetten)
  • apt-get –dselect upgrade
  • debootstrap (debian bootstrap)

Aantekeningen van Marjon

Xubuntu = ubuntu-light

Statler

Open knowledge foundation

Open streetmap

http://wiki.openstreetmap.org/wiki/Josm

Anja: 12 juni Baarn http://www.geofreedomday.nl ‘geonerds’

Topics:

- How is the operating system organized?
- What are the tasks of the kernel and what do the deamons?
- How to perform some system management from the shell: users, processes, devices, scheduler etc?
- How the the different package managers work and how to find the right repositories?
- How to install drivers for your hardware?
- What about networking tools like rlogin, ssh, vnc etc.?
- How to do a system upgrade without loosing your data and settings?
- How to run Linux efficiently on cheap hardware (netbooks, mini-itx etc).

The day starts with a session by Leen Smit focussing on the questions above. In the afternoon we will try several Linux distributions (slax, ubuntu, debian, sidux and more) on different computers: netbook, netbook running from a live-cd, mini-itx computer, mini-itx computer booting from usb-drive, MacBook. If you have a computer on which you would like to install or optimize Linux please bring it.

Bios=hardwareherkenning

Boot loader= startupprogramma (bv grub) master boot record: zoeken naar kernel

Cd boot

Ls –ltr

Initrd -> daar kan het in zitten of het kan erbuiten zitten. Soms wil je alles in je kernel hebben.

Rd=ram disk

Dmsg: geeft de output van je kernel

Als alle drivers geladen zijn gaat-ie naar je file servers

Je kunt je kernel compilen of een andere kernel pakken

Dmsg = je kernel msg

Je hebt nu je /boot niet meer nodig:

Cd/var/log

Alle data van users staan in /var (een soort QTEMP)

Vi syslog

Daemons = ongeveer de services onder windows

Cd /etc/init.d/

ls

dit zijn al je init-scripts

bv udev, die zorgt voor toewijzing van device-IDs. Vgl windows pci vendordb (beheren, device, of instellingen-configuratiescherm-hardware)

bv halt is de daemon voor shutdown

run levels = het systeem kijkt: bij welk run level moet ik wat aftrappen (maw moet ik welke daemons opstarten)

hoe lager het cijfer hoe eerder het uitgevoerd moet worden.

K = kill, s = start.

Bv de rc3 moet allemaal s-jes bevatten.

Cd rc3.d/

Ls -la

Ja inderdaad, dat is zo.

/etc: als je iets wil wijzigen in je systeem doe je dat hier. Etc=etcetera. (“je config”)

Usr = unix system resources

Debian = ?

een aparte home-partitie is fijn.

Cd /

ls -ltr

tip: de mappen waarin programma’s hun instellingen opslaan zijn niet standaard zichtbaar

bv .mozilla, dergelijke mappen beginnen met een puntje

de harde schijven heten sda of hda, deze worden ook gepresenteerd als files, zoals alles in linux

ls –la sda*

d = directory, b = block device

l=link (“shortcut”)

tab tab = autocompletion

/proc en /dev woroden elke keer opnieuw aangemaakt. Kun je straffeloos weggooien, worden gegenereerd door udev

/proc bevat oa de cpuinfo

cat partitions

cat=concatenate, maw toon bestand(en)

more=per pagina

less =verbeterde versie van less

touch test.file

is een manier om een nieuwe file te maken

file test.file

geeft je terug wat voor type file het is (bv als je een file krijgt zonder extensie)

echo “data” >test.file

maw zet het woordje echo in de testfile

file /bin/ls

bin=binary, je systeem-binarys. Bijna alles wat je gebruikt als commando, zoals echo, is een binary

sbin = wat het systeem gebruikt, staat niet in je pad

mk*=make, bv mkfs

mnt=mount, oud, is nu /media

cd /var/

ls

var = alles wat het systeem wil bewaren van je temp, bv een printje wat nog uitgeprint moet worden. Als je systeem crasht is dit er nog.

deze moet je zelf opschonen!

/lib

-> usr/share/doc: hier staat alle documentatie van de tools

opt=optional

wine = “windows emulator”, of zo

sys=oud. Een block device, een stuk van het geheugen waar het is staat

srv staat niet voor server maar voor serv. “de bestanden worden uitgeserveerd”

tip: commando man

man=manual

bv man man geeft uitleg over het commando man

syntax: tussen blokhaken is optionel

tip: apropos commando, bv apropos touch

tip: man –k

zoek in de man, k is de afkorting voor zoeken

let op: het resultaat wordt gepresenteerd in hoofdstukken, let op dat je de goede bekijkt

tip: which ls: deze geeft je alleen bestanden tegen die je kunt opstarten (programma’s maw)

ook: locate (zoek in database), find =zoek file

tip: where is

(vi=een text editor (obsolete), vim is de nieuwe versie)

ls –la

drwxr-xr-x 21 root root 4096 2010-04-25 22:51

1e karakter geeft aan wat voor soort file het is

bv d=directory

1e 3 voor user, 2e 3 zijn voor de groep , 3e groepje van 3 is voor de other

- = niks

- rwx = read write execute

chmod –x root/

hiermee haal je de execurerechten weg van root

het root root geeft aan gebruiker resp map

user-IDs: alles boven de 1000 zijn de “echte” (niet-systeem)gebruikers

de users staan in de password-file

hoe kun je iemand rechten geven?

De 3 letters aanpassen van de user

De letters van de groep aanpassen

Chmod (“change modus”)

Als user kun je lid zijn van meerdere groepen

Shadow file: daar staan de passwords in.

Het laatste teken is – of x, x = executable

Om van text file naar executebla om te zetten:

chmod a+x test.sh

a betekent all (group, user en others tegelijk)

id

who

w

groups

deze laat zien van welke groepen je lid bent

bash in een Shell waarin vrijwel iedereen zit te werken

#!bin/bash

voor beginners is fish een goede Shell

sudo su -

adduser

met useradd kun/moet je meteen al van alles specificeren

sudo = super user do

per commando kun je aangeven of iemand dat mag

sudo visudo (of visudo als je als root bent aangelogd…of in ubuntu)

bitje ALL=NOPASSWD ALL

%sudo ALL=(ALL) ALL

dwz iedereen die lid is van de group sudo mag het commando sudo uitvoerden. % betekent commando

lsof = list open files

lspci = list van wat er op de pci-bus staat

lsusb= list van wat er op de usb staat

lsmod=alle modules

bv lsmod lgrep

snd=sound

lscpu

netstat geeft je verbindingen voor je network weer en of er listeners zijn

netstat listen

bv je webpagina laadt niet, poort 80 zou dat moeten inlezen, je ziet hiermee dat er een spelfout in je inrichting is

cd NetworkManager

cd network

dit is per systeem anders ingericht

ip

ip route

ip address ofwel ip a

ifconfig = net zoiets als ip

cd = home

cd – is terug naar vorige directory

cd ~ is ook iets

$!

!! = cd /etc/

!$ = pad+filename van de vorige regel

$ betekent tot het eind van de regel

package management

voor beginners: gebruik de grafische tools

(in ubuntu: software source centre)

main contrib. non-free

de kern resp. gebruikersbijdragen resp. bv een HP driver (betaald).

Je kunt bv ubuntu-spul op je debian-machine installeren. In principe. Niet aan te bevelen.

Hou hoe dan ook de volgorde unstable-test-stable aan.

Tip: hoe kun je je huidige installatie opslaan: dpkg (depackage)

dpkg –-get-selections > package.list bewaar je geïnstalleerde software

dpkg –-set-selections < package.list zet je geïnstalleerde software terug

Met ssh naar een andere server

Ssh leen@justleen.ath.cx

Gebruikersnaam resp de host waar je naartoe wilt

Ipv de servernaam kun je ook het ip-adres nemen, is synoniem

Ssh-

Ssh-copy-id

Je kopieert je public key

Ssh-keygen hiermee genereer je de sleutels

Programma’s afsluiten

Kill

Concy ~ wrksyssts? Of wrkactjob??

LINUX TOKO NOTES HARMEN

man manual pages
apropos shortcut voor man -k
dmesg geeft output van de kernel
cat plakt bestanden aan elkaar en stuurt het restultaat naar de console, kan ook met 1 file
echo genereert output
more kort voor ‘cat |more’, formatteert output per pagina
mount het beschikbaar maken van een device

netstat geeft lijst met netwerk verbindingen
lsof geeft lijst met open bestanden
lspci geeft lijst met pci devices
lsusb geeft lijst met usb devices
lsmod geeft lijst met kernel modules
lscpu geeft lijst met processors
history geeft lijst met eerder gegeven shell commando’s

CTRL-R zoek & autocomplete in de shell history
CTRL-ALT-F1..6 geeft terminal
ALT-F7..10 geeft grafische schil
SysReq+RSPEIUB soft reboot

/usr/share/doc documentatie bij alle installaties

BOOT SEQUENCE

1. bios
laadt master boot record (MBR)

2. MBR
grub: laadt kernel

3. kernel
één executable met basis systeem functies als filesystem, geheugenmanagement enz
er kunnen extra modules voor hardware ondersteuning worden meegecompileerd, dat maakt het systeem iets sneller, maar het kan ook dynamisch worden gedaan in de volgende stap (wat handig kan zijn bij bv een netwerk boot)

4. initrd drivers (init ramdisk)
e.g. hardware ondersteuning etc

5. deamons
e.g. print spooler, grafische schil, etc
udev maakt devices aan

6. login

DIRECTORY STRUCTUUR FILE SYSTEEM

/boot kernel

/etc systeem configuratie

/dev devices, worden bij elke boor aangemaakt door udev
/proc alle processes die draaien op de cpu
/media mount directories

/bin systeem binaries voor iedereen
/sbin systeem binaries voor de systeem administrator
/lib libraries
/opt self contained software
/usr user related resources, executables, libs, documentation etc

/home user data
/root home dir voor root user

/tmp temporary dir
/var semi-tmp: wordt niet leeggegooid e.g. spool, mail etc

/mnt legacy/deprecated (oude mount directories)
/sys legacy/deprecated
/srv legacy/deprecated

commando’s:
cd
change directory
cd - ga naar laatste directory
ls list directory
ls -l toont volledige info
la -a toont ook hidden files
file toont het soort bestand
touch update datum van een bestand, als bestand niet bestaat maakt ie leeg bestand aan
which geeft locatie van een executable
whereis zelfde als which maar met ook de locatie van de man file
find geeft alle files waar de zoekterm in voorkomt (live gezocht)
locate geeft alle files waar de zoekterm in voorkomt (uit database)
updatedb update database met file locaties
cp kopieert bestand

!! vorige commando
!$ is laatste argument van je vorige commando
. is prefix voor hidden files

RECHTEN

elk bestand heeft een owner, een groep, en rechten per owner, group en overigen

/etc/passwd bestand met users
/etc/group bestand met groepen

commando’s:
chmod verander rechten bij een bestand, e.g. iedereen exec rechten geven over bestand ‘chmod a+x filename’: a)ll, u)ser, g)roup, o)thers, r)ead, w)rite, x)ecutable
chown verander owner van een bestand
chgrp verander groep van een bestand
id geeft username en lijst van groepen waar user lid van is
who geeft ingelogde users op het systeem
adduser maakt nieuwe user aan (uitgebreide manier via ‘useradd’)
userdel verwijdert user
sudo superuser do

PROCESSES

commando’s
ps -ef statische lijst processes
top of htop dynamische lijst processes wa)it i/o id)le
kill afsluiten, e.g. kill -9 PID: hard afsluiten
nice prioriteit van een proces
free geheugengebruik (free -m geeft gebruik in megabytes)

taak (script.sh) bij opstarten uitvoeren:
cp script.sh /etc/init.d/
update-rc.d script.sh default

regelmatig een taak (script.sh) uitvoeren:
cp script.h /etc/cron.XXX/
crontab -e    edit crontab file, e.g.:
# m h  dom mon dow   command
0 3 * * * /etc/cron.XXX/script.sh 2>&1 > /dev/null

NETWERK

configuratie in /etc/network/interfaces

ip a toont netwerk verbindingen
ssh remote login
ssh-keygen ?
ssh-copy-id ?

INSTALLATIE

user data op een aparte partitie

ONDERHOUD & TESTEN

su login als root
sudo voer iets uit als root
edit /etc/sudoers om een user sodu rechten te geven

apt-get update haalt de meest recente lijsten met beschikbare packages van de repository server
apt-get safe-upgrade brengt alle packages naar nieuwste versie binnen release met dependency check
apt-get upgrade brengt alle packages naar nieuwste versie binnen release
apt-get dist-upgrade brengt alle packages naar nieuwste versie binnen nieuwste release (testing)

dpkg -l geeft lijst met de status van alle geinstalleerde packages
dpkg –get-selections > file geeft lijst met alle huidige packages
dpkg –set-selections < file schrijft lijst weer terug in apt
apt-get –dselect upgrade brengt systeem naar de staat zoals in de lijst beschreven

debootstrap /jail maak testomgeving
chroot /jail verander root filesysteem naar testomgeving
mount -t proc /proc /jail/proc geef testomgeving toegang tot gewone processes

No Response

© opentoko.org Proudly Powered by WordPress. Theme Untitled I Designed by Ruby Entries (RSS) and Comments (RSS).