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.
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
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??
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
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
/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
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
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
configuratie in /etc/network/interfaces
ip a toont netwerk verbindingen
ssh remote login
ssh-keygen ?
ssh-copy-id ?
user data op een aparte partitie
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