Two Debian tips
Astazi o sa va povestesc doua din scamatoriile care m-au ajutat sa convertesc la Debian de la distanta niste sisteme existente:
Intrebarea 1: ce te faci daca vrei sa refaci (sau sa duplici) lista de pachete a unui sistem Debian?
Raspuns: Mai intai
dpkg --get-selections > selections.save
iar mai tarziu
dpkg --set-selections
Caveat1: dpkg nu povesteste decat de pachetele pe care le stie, asa ca pe sistemul final, este riscul sa ajunga mai multe decat se dorea. Asa ca 2...
dpkg-query --show --showformat='${Package}\n' > packages.orig
...
dpkg-query --show --showformat='${Package}\n' > packages.new
diff packages.orig packages.new | grep '^>' | cut -c3- | xargs dpkg --purge
Intrebarea 2: cum se rezolva in Debian vestita problema a placilor de retea care isi schimba ordinea la un upgrade de kernel?
Newbie note: interfetele ethN sunt botezate in functie de cum sunt incercate driverele de retea din kernel. E drept ca in ultima vreme s-au mai standardizat lucrurile, dar in continuare driverele built-in sunt incercate primele, iar modulele mai tarziu, intr-o ordine configurabila. Problema e evidenta atunci cand te gandesti ca nu iti muta nimeni firul de la mediaconvertor in cealalta placa, ca sa repari nazbatia.
Raspuns: Uluitor de simplu! Se trece in /etc/network/interfaces un descantec similar cu acesta:
auto lo
iface lo inet loopback
auto eth0 eth1
mapping eth0 eth1
script /etc/network/get-mac-address.sh
map 01:23:45:67:89:AB lan
map AA:BB:CC:DD:EE:FF internet
iface internet inet static
address 123.45.67.89
netmask 255.255.255.128
gateway 123.45.67.1
iface lan inet static
address 172.24.60.254
netmask 255.255.255.0
Evident se adapteaza, pe ici, pe colo, prin partile esentiale. Minunatul get-mac-address.sh arata cam asa:
#!/bin/sh
set -e
export LANG=C
iface="$1"
mac=$(/sbin/ifconfig "$iface" |\
sed -n -e '/^.*HWaddr \([:[:xdigit:]]*\).*/{s//\1/;y/ABCDEF/abcdef/;p;q;}'\
)
which=""
while read testmac scheme; do
if [ "$which" ]; then continue; fi
if [ "$mac" = "$(echo "$testmac" | sed -e 'y/ABCDEF/abcdef/')" ]
then which="$scheme"
fi
done
if [ "$which" ]; then echo $which; exit 0; fi
exit 1
A nu se uita sa se aseze in calea corecta si sa fie executabil. Daca blogul meu formateaza aiurea textul, acest exemplu se poate gasi in documentatia pachetului ifupdown3 (localizata, evident, in /usr/share/doc/ifupdown).
Note explicative:
- Cuvantul e in latina si se pronunta ca atare
- Tehnica inspirata din Debian System: Concepts and Techniques de Martin F. Krafft aka. madduck, o carte fenomenala despre Debian si Linux.
- Mentinut de actualul DPL, Anthony Towns
3 Responses to “Two Debian tips”
May 14th, 2007 at 11:18 pm
Buna seara!
Am si eu o rugaminte: am trecut la fiberlink si ip-ul este dinamic. La reinstalare mi-a spus ca a configurat reteaua, dar ca trebuie sa setez manual o cale, sau cam asa ceva…
Cum fac sa am internet si pe Debian? Unde bag user-ul si parola de la rds ca sa porneasca automat netul la deschiderea calculatorului?
Va multumesc!
May 17th, 2007 at 7:40 pm
Cred ca e vorba de o legatura pppoe, caz in care va trebuie programul pppoeconfig (aflat in pachetul cu acelasi nume). O sa va intrebe programul respectiv toate informatiile necesare (mie unul mi-a fost suficient).
May 30th, 2007 at 11:58 am
Buna ziua!
Va multumesc! Ma puteti ajuta sa-l fac si sa ruleze automat la deschiderea calculatorului?
Ca sa ma intrebe trebuie sa tastez mereu pppoeconfig in consola. In plus, Etch nu-l instaleaza default si a durat un pic pana am inteles de ce primeam mesajul de eroare cand tastam pppoeconfig ca root!