Vast.
Linux: rpm -qa
Sun: pkginfo
HP-UX: swlist
2. Mitä prosesseja koneessa pyörii?
Mitä prosesseja pyörii omalla käyttäjätunnuksellasi ?
Vast.
ps -ef
ps -fu user_name
3. Laske koneessa vapaana/käytössä olevan levytilan määrä.
Vihje: df komento ja awk, perl tai shell.
Esim. (Linux RH 6.1) vapaa levytila.
df -l | awk '/^\// {s+=$4} END {print s}'
Esim. tarzan & jane (HP-UX):
bdf -l | awk '/^\// {s+=$4} END {print s}'
tukki:
df -kl | nawk '/^\// {s+=$4} END {print s}'
4. Kirjoita edellinen tehtävä komentojonoksi ja ajasta komentojonon
suoritus viiden minuutin päähän käyttäen at-komentoa.
Ohjaa kaikki tulostukset tiedostoon.
Esim. (Linux)
#!/bin/sh
# laske.sh
# tulostetaan vapaa levytila tiedostoon.
exec >> laske.tulos 2>&1
df -l | awk '/^\// {s+=$4} END {print s}'
ja at komento.
5. Tee komentojono (shell script), joka tekee
kotihakemistostasi 0-tason varmuuskopion käyttäen tar
ohjelmaa. Lisätietoa tar(1)
Älä tee varmuuskopiota omaan kotihakemistoosi (quota rajoitus), vaan käytä työhakemistona esim. /tmp hakemistoa. Muista tehdä myös lokitiedosto siitä mitä on varmuuskopioitu.
Esim. (Linux GNU tar)
#!/bin/sh
LOG=/tmp/${LOGNAME}_`date '+%d%m%y'`.log
FILE=/tmp/${LOGNAME}_`date '+%d%m%y'`.tar
tar -cvf $FILE $HOME >> $LOG 2>&1
6. HUOM! ALKUPERAISESSÄ TEHTÄVÄPAPERISSA ON VIRHE.
Muuta tehtävässä kaksi tehtyä komentojonoa niin, että
ensimmäisellä kerralla tehdään 0-tason varmuuskopio seuraavalla
kerralla 1-taso jne. Käytä optiota -g tai --listed-incremental F.
(Toimii vain GNUtarissa.) Katso man tar.
7. Miten määrität kaikille käyttäjille (#>1000) saman quotan tietylle
partitiolle (ks. luentomateriaali)?
Vast: (Linux)
#!/bin/sh
# Laitetaan sama quota kaikille kayttajille.
# Oletetaan etta yhdelle (p_user) on laitettu
# quota, joka "monistetaan" muille kayttajille
p_user=mjev; pw_file=passwd
IFS=":"
while read user pw uid rest
do
if [ "$uid" -gt 100 -a "$user" != "$p_user" ]
then
echo "Adding quota to $user..."
/usr/sbin/edquota -p $p_user $user
fi
done < $pw_file