Έκδοση 0.6 Συγγραφέας : Vagelis Koutsomitros © 2006
Για να ξεκινήσεις/σταματήσεις/επανεκκινήσεις/φορτώσεις μια υπηρεσία οποτεδήποτε στο Debian
/etc/init.d/<name of service> start/stop/restart/reload
π.χ. Για να επανεκκινήσεις την υπηρεσία εκτύπωσης
/etc/init.d/cups restart
Όταν το σύστημα εκκινείται, η διαδικασία init διαβάζει το αρχείο ρυθμίσεων /etc/inittab. Ανά πάσα στιγμή μπορούμε να την αναγκάσουμε να το ξαναδιαβάσει εάν της δόσουμε το HUP σήμα από το ksysguard ή από την κονσόλα ως root
kill -l HUP 1
Έτσι μας δίνεται η δυνατότητα να κάνουμε αλλαγές στην διαδικασία εκκίνησης και να τις δούμε χωρίς να επανεκκινήσουμε το σύστημα.
Οι υπηρεσίες που μπορούν να εκτελεστούν κατά την εκκίνηση βρίσκονται στο φάκελο /etc/init.d/
Στο Linux υπάρχουν επίπεδα εκκίνησης. Όταν η διαδικασία εκκίνησης βρίσκεται στο επίπεδο X όλοι οι σύνδεσμοι σε υπηρεσίες που βρίσκονται στον φάκελο /etc/rcX.d/ θα εκτελεστούν με αλφαβητική σειρά. 7 είναι τα συνήθη επίπεδα, δες /etc/inittab για λεπτομέρειες. Για να αλλάξεις επίπεδο ανά πάσα στιγμή τρέξε την telinit
telinit 1
θα πάει το σύστημα στο επίπεδο 1
Όλοι οι σύνδεσμοι που το όνομά τους ξεκινά με Syyname εκκινούν μια υπηρεσία. Το yy εισάγεται για να οριστεί η σειρά εκκίνησης των υπηρεσιών και το name είναι το πραγματικό όνομα της υπηρεσίας που υπάρχει στο φάκελο /etc/init.d/
Όλοι οι συνδέσμοι που ξεκινούν με Kyyname σταματάνε μια υπηρεσία.
Πάντα να χρησιμοποιείται το sysvconfig ή το ksysv για να δημιουργούνται τέτοιοι συνδέσμοι έτσι ώστε να διατηρείται η αυτοματοποίηση στην διανομή Linux.
Δείτε επίσης το αρχείο /etc/init.d/README για λεπτομέρειες.
Για να δημιουργήσετε μία νέα προσωπική υπηρεσία υπάρχει ένα αρχείο υπόδειγμα /etc/init.d/skeleton Έστω ότι θέλετε να δημιουργήσετε μια υπηρεσία που ενεργοποιεί δρομολόγηση (βλέπε Διαμοιρασμός Σύνδεσης Internet) και που έχει εκτελέσιμο το /usr/bin/myrouter. Θέλουμε να ονομάσουμε την υπηρεσία myrouter επίσης άρα αντιγράφουμε αρχικά το αρχείο /etc/init.d/skeleton στο /etc/init.d/myrouter
cp /etc/init.d/skeleton /etc/init.d/myrouter
Το αρχείο αυτό περιέχει σχόλια που βοηθάνε στην κατανόηση της λειτουργίας του. Στο παράδειγμά μας θα αλλάξουμε τις εξής γραμμές:
Για την περιγραφή της υπηρεσίας
DESC="IP forwarding and internet routing"
Το όνομα της υπηρεσίας και του αρχείου στο /etc/init.d
NAME=myrouter
Οι ενέργειες που θα γίνουν κατά την εκκίνησή της με την εντολή /etc/init.d/myrouter start
do_start() { /usr/bin/myrouter
Οι ενέργειες που θα γίνουν κατά τον τερματισμό της με την εντολή /etc/init.d/myrouter stop Στην περίπτωσή μας αρκεί να απενεργοποιήσουμε την προώθηση ip
do_stop() { /bin/echo 0 > /proc/sys/net/ipv4/ip_forward
Αυτό ήταν!! Τώρα με το ksysv ή το sysvconfig μπορούμε να ενεργοποιήσουμε ή να απενεργοποιήσουμε την χρήση της υπηρεσίας μας κατά την εκκίνηση!
Ένας πολύ χρήσιμος επεξεργαστής εκκίνησης υπηρεσιών είναι ο ksysv. Χρησιμοποιεί επίσης τον kwrite για να αλλάξει τα αρχεία ρυθμίσεων των υπηρεσιών. Σύρε υπηρεσίες στα διάφορα επίπεδα εκκίνησης με την σειρά που θέλεις.
Ο βασικός επεξεργαστής εκκίνησης υπηρεσιών που τρέχει σε κονσόλα είναι ο sysvconfig. Ενεργοποίηση/Απενεργοποίηση υπηρεσιών θα δημιουργήσει/διαγράψει όλους τους αντίστοιχους συνδέσμους στα επίπεδα εκκίνησης
Παρόλ' αυτά κάποιες υπηρεσίες μπορεί να εμφανίζονται ενεργοποιημένες αλλά να μην έχουν συνδέσμους στα επίπεδα εκκίνησης. Γι' αυτό μπορείτε να απενεργοποιήσετε μια υπηρεσία και να την ενεργοποιήσετε πάλι για σιγουριά. Επίσης τσεκάρετε από το ksysv εάν ενεργοποιήθηκε. Καλό είναι πάντα να ελέγχετε με το ksysv καθώς η σειρά εκκίνησης μπορεί να μην είναι αυτή που θα θέλατε.
Εάν στην εκτύπωση από το OpenOffice δεν μπορέσετε να ορίσεται τις προεπιλεγμένες ρυθμίσεις οι οποίες παραμένουν US letter τρέξτε το OpenOffice.org Printer administration.
Σε Canon S200
Ο εκτυπωτής τραβάει μελάνι μόνο όταν συνδέεται στο ρεύμα. Μετά από κάποιες εκτυπώσεις ενώ πρέπει να ξανατραβήξει δεν το κάνει με αποτέλεσμα να αρχίσει να εκτυπώνει λευκές σελίδες. Νέα έκδοση οδηγού ίσως λύσει το πρόβλημα.
Ένας γρήγορος τρόπος να ρυθμιστεί η υπηρεσία samba είναι η χρήση ενός τυπικού αρχείου πάνω στο οποίο θα γίνουν αλλαγές που θα το προσαρμόσουν στο δικό σας τοπικό δίκτυο. Παρακάτω είναι ένα τέτοιο τυπικό αρχείο smb.conf για την χρήση samba ως
# Global parameters [global] workgroup = VAGK.LOCAL map to guest = Bad User passdb backend = tdbsam #username map = /etc/samba/smbusers printcap cache time = 750 printcap name = cups add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$ logon script = logon.cmd logon path = \\%N\profiles\%U logon drive = H: logon home = \\homeserver\%U\winprofile domain logons = Yes os level = 51 preferred master = Yes domain master = Yes ldap ssl = no idmap uid = 10000-20000 idmap gid = 10000-20000 printer admin = @ntadmin, root, administrator cups options = raw include = /etc/samba/dhcp.conf [homes] comment = Home Directories valid users = %S read only = No inherit acls = Yes browseable = No [users] comment = All users path = /home read only = No inherit acls = Yes veto files = /aquota.user/groups/shares/ [groups] comment = All groups path = /home/groups read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp create mask = 0600 printable = Yes browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @ntadmin, root force group = ntadmin create mask = 0664 directory mask = 0775 [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon write list = root guest ok = Yes browseable = No [profiles] path = /var/lib/samba/profiles read only = No create mask = 0600 directory mask = 0700 [proglinux] comment = Various linux stuff path = /mnt/hda11/programslinux create mask = 0600 directory mask = 0700 guest ok = Yes case sensitive = No msdfs proxy = no [public] path = /root/public guest ok = Yes read only = No
Για την εγκατάσταση
aptitude install samba
Με το sysvconfig ή το ksysv ορίστε την εκτέλεσή της υπηρεσίας κατά την εκκίνηση Προσοχή το nmbd θα πρέπει να ξεκινάει πριν το smbd.
Χρησιμοποιείστε το παραπάνω αρχείο smb.conf και κάντε τροποποιήσεις με βάση το δικό σας δίκτυο. Σημειώστε ότι ο προκαθορισμένος υπερχρήστης λέγεται root και όχι administrator. Αρχικά θα πρέπει να ορίσετε το password του υπερχρήστη με την εντολή
smbpasswd -a root
Για να προσθέσετε ένα μηχάνημα με όνομα CLIENT01 εκτελέστε τις εντολές
useradd CLIENT01\$ smbpasswd -a -m CLIENT01
Το παραπάνω smb.conf αρχείο έχει δυνατότητα αυτόματης εγγραφής μηχανήματος, άρα μπορούμε να παρακάμψουμε την εγγραφή του μηχανήματος με τις παραπάνω εντολές. Μπορεί ούτως η άλλως να χρειαστεί να γίνει έτσι εάν για παράδειγμα εμφανιστεί μήνυμα ότι το όνομα του μηχανήματος χρησιμοποιείται ήδη.
Για να διαγράψουμε ένα μηχάνημα
smbpasswd -x -m CLIENT01 userdel CLIENT01\$
Για να δημιουργήσετε έναν νέο χρήστη με όνομα smbtest αρχικά δημιουργήστε τον ως τυπικό χρήστη linux και στην συνέχεια ως χρήστη samba
adduser smbtest smbpasswd -a smbtest
Για να διαγράψετε έναν υπάρχον χρήστη (και από τους τοπικούς χρήστες του Linux)
smbpasswd -x smbtest
Με την παράμετρο –remove-all-files η εντολή καθυστερεί λίγο αφού ψάχνει για όλα τα αρχεία του χρήστη (από home, samba, shared κτλ) αλλά είναι η καλύτερη. Προτείνεται να εκτελεστεί στο παρασκήνιο.
deluser --remove-all-files smbtest& rm -rf /var/lib/samba/profiles/smbtest
Δημιουργήστε τους φακέλους που θα αποθηκεύσουν τα profiles,netlogon και τους drivers. Για παράδειγμα.
mkdir /var/lib/samba/profiles chmod 1777 /var/lib/samba/profiles/ chgrp users /var/lib/samba/profiles/ mkdir /var/lib/samba/netlogon chmod 775 /var/lib/samba/netlogon chgrp users /var/lib/samba/netlogon mkdir /var/lib/samba/drivers chmod 775 /var/lib/samba/drivers chgrp users /var/lib/samba/drivers/
Δημιούργησε έναν καινούργιο χρήστη π.χ. template και πρόσθεσέ τον στους χρήστες samba
adduser template smbpasswd -a template
Αυτό δούλεψε αλλά δεν έχει δοκιμαστεί ακόμα εκτενώς. Εάν υπάρχουν καθυστερήσεις στην είσοδο των χρηστών γενικότερα μετονόμασε τον φάκελο σε Default User.bak για την περίοδο που δεν προστίθονται νέοι χρήστες.
Για να αντιστοιχίσουμε ένα group samba σε ένα group unix μπορούμε να εκτελέσουμε π.χ.
net groupmap modify ntgroup="Domain Admins" unixgroup=ntadmin net groupmap modify ntgroup="Domain Users" unixgroup=users net groupmap modify ntgroup="Domain Guests" unixgroup=nobody
Τι θα πρέπει να γίνει για να προστεθούν οι Domain Users στο Power Users group? Το Power Users group είναι ένα τοπικό group σε κάθε μηχάνημα με Windows 2000/XP Professional. Δεν μπορεί να προστεθεί αυτόματα, θα πρέπει να γίνει η διαδικασία σε κάθε μηχάνημα ξεχωριστά ως εξής:
Για να εμφανιστούν πολύ περισσότερα μηνύματα αποσφαλμάτωσης ανεβάζουμε το log levelπ.χ.
log level = 10 log file = /usr/local/samba/lib/log.%m include = /usr/local/samba/lib/smb.conf.%m
Θα πρέπει να έχει εγκατασταθεί το smbfs
aptitude install smbfs
Απο την κονσολα ως root για να προσαρτήσουμε στον φάκελο /mnt/samba τον δικτυακό φάκελο public (που επιτρέπει πρόσβαση guest) του υπολογιστή sambaserver
mkdir /mnt/samba mount -t smbfs //sambaserver/public /mnt/samba -o username=guest
Στο παραπάνω αρχείο smb.conf υπάρχει μια καταχώρηση public Για να το ενεργοποιήσετε στο αρχείο fstab δείτε το κεφάλαιο Γενικές Ρυθμίσεις /etc/fstab
Πρώτ' απ' όλα δοκιμάστε να επαννεκινήσετε την υπηρεσία samba
/etc/init.d/samba restart
Δοκιμάστε επίσης να εισάγετε το μηχάνημα σε μία τοπική ομάδα (π.χ. workgroup) και όχι περιοχή domain, επανεκκινήστε και ξαναδοκιμάστε
Προβλήματα εμφανίστηκαν μετά από εγκατάσταση php, mysql και apache στο μηχάνημα - πελάτη με τα Windows XP, πιθανόν από τον apache. Σε κάθε είσοδο εμφανίζεται το τοπικό αντίγραφο του προφίλ του χρήστη και όχι το αντίγραφο περιαγωγής. Για το λόγο αυτό καλό είναι να αποφύγετε την εγκατάσταση των προγραμμάτων αυτών, αφού απεγκαταστασή τους μετά δεν λύνει το πρόβλημα.
Προβλήματα μπορεί να εμφανιστούν επίσης εάν ο πελάτης ρυθμίζεται μέσω dhcp. Για το λόγο αυτό πάντα κάντε τις αρχικές δοκιμές με στατικές IPs, dns, κτλ.
Το swat είναι ένα θαυμάσιο διαδικτυακό εργαλείο για ρύθμιση samba. Η εκκίνηση του γίνεται από το inetd. Θα πρέπει να επεξεργαστούν τα αρχεία /etc/inetd.conf και /etc/services για την ενεργοποίησή του μέσω του inetd. Δείτε για λεπτομέρειες.
man swat
Για εγκατάσταση
aptitude install swat
Στο /etc/inetd.conf θα πρέπει να προστεθεί μία γραμμή όπως η παρακάτω (δεν χρειάζεται να γίνει στο Debian αφού γίνεται αυτόματα κατά την εγκατάσταση. Θα πρέπει όμως να αφαιρεθεί το σχόλιο από αυτήν, που έχει μπει για λόγους ασφαλείας)
swat stream tcp nowait.400 root /usr/sbin/swat swat
Ενεργοποιήστε το inetd να τρέχει σε κάθε εκκίνηση από τα sysvconfig ή ksysv. Για να το δοκιμάσετε άμεσα.
/etc/init.d/inetd start
Στην συνέχεια από τον konqueror
http://localhost:901
Για να συνδεθείς σε ένα pc που μοιράζεται αρχεία από windows ή από Linux μέσω samba κάνε τα παρακάτω : Ξεκίνα το LinNeighborhood. Άλλαξε password και άφησε κενό το workgroup. Μετα προσάρτησε τον κοινό φάκελο. Εάν δεν δουλέψει από το Κέντρο Ελέγχου του KDE Δίκτυο/Τοπική Περιήγηση άλλαξε τις ρυθμίσεις με αυτές του τοπικού σου δικτύου
Κάνε εγκατάσταση τα πακέτα quota και acl.
aptitude install quota acl
Άλλαξε το /etc/fstab για την κατάτμηση που θέλεις να ενεργοποιηθεί όριο χρήσης δίσκου (quota). Εάν είναι η ριζική κατάτμηση κάνε επανεκκίνηση στην συνέχεια.
Εάν έχεις και άλλες κατατμήσεις linux, δοκίμασε εκεί το όριο χρήσης δίσκου αφού λάθη στην προσάρτηση της ριζικής κατάτμησης δεν θα σου επιτρέψουν να επαννεκινήσεις το σύστημα. Σε τέτοια περίπτωση κάνε εκκίνηση από live cd όπως το knoppix για να αλλάξεις πάλι το /etc/fstab
/dev/hda5 / reiserfs defaults,acl,usrquota,grpquota 0 1
Για να αλλάξεις τα όρια χρήσης δίσκου ενός χρήστη εκτέλεσε
edquota -u smbtest
Για να εμφανίσεις τα όρια χρήσης δίσκου όλων των χρηστών
repquota -a
Ομοίως για διαμοιραζόμενους φακέλους samba
smbcquotas -L /athlon/profiles
Αφού οριστεί όριο χρήσης δίσκου για κάποιον χρήστη, μπορούμε να το αντιγράψουμε σε ένα σύνολο χρηστών, π.χ. αυτούς με UID πάνω από 1000 ως εξής:
edquota -p smbtest `awk -F: '{ if ( $3 >1000 ) print $1}' /etc/passwd`
Για να ορίσεις προκαθορισμένα όρια δίσκου για τους νέους χρήστες με βάση τα όρια δίσκου ενός χρήστη π.χ. με id 1001, άλλαξε το αρχείο /etc/adduser.conf ως εξής:
QUOTAUSER="1001"
Τα όρια χρήσης δίκου είναι ορίζονται ξεχωριστά για κάθε κατάτμηση
Για να δοκιμάσεις τα acl
cd /root ls /root >ls.txt ls -l total 4 -rw-r--r-- 1 root root 64 Dec 8 15:19 ls.txt getfacl ls.txt # file: ls.txt # owner: root # group: root user::rw- group::r-- other::r-- setfacl -m smbtest:rw ls.txt getfacl ls.txt # file: ls.txt # owner: root # group: root user::rw- user:smbtest:rw- group::r-- mask::rw- other::r--
Εάν έχεις παρόμοια αποτελέσματα σημαίνει ότι λειτουργούν κανονικά!
Για να μπορούμε να κατεβάσουμε πακέτα σε ένα μόνο μηχάνημα και να τα χρησιμοποιήσουμε σε όλα τα μηχανήματα ενός τοπικού δικτύου θα πρέπει να εγκαταστήσουμε έναν Διαμεσολαβητή Πακέτων για το apt. Αναλυτικές οδηγίες υπάρχουν στ ην διύθυνση http://www.debianuniverse.com/readonline/chapter/19
Μετά από τις παρακάτω ενέργειες εγκατάστασης θα μπορείτε να : Εκτελείτε
apt-get update
από οποιοδήποτε μηχάνημα και η τελευταίες λίστες των πακέτων θα είναι διαθέσιμες σε όλα τα άλλα μηχανήματα ούτως ώστε η επόμενες εκτελέσεις apt-get update από αυτά να λάβουν τις αποθηκευμένες λίστες από τον server και να όχι πάλι μέσω Internet!
Εντολή
aptitude install packagename
από οποιοδήποτε μηχάνημα να πάρει το πακέτο που θα τοποθετηθεί στον server ούτως ώστε επόμενες εντολές εγκατάστασης ίων πακέτων να πάρουν το πακέτο από τον server και όχι πάλι από το Internet!
Δείτε παρακάτω πως συμβαίνουν όλα αυτά!
Αρχικά
aptitude install apt-cacher
Θα πρέπει να τρέχει οπωσδήποτε να τρέχει ο εξυπηρετητής ιστοσελίδων apache
Πιθανόν τα πιο σημαντικά σημεία είναι να σιγουρευτούμε ότι ο εξυπηρετητής μας έχει μια σταθερή IP διεύθυνση για να μπορούν οι υπόλοιποι υπολογιστές στο δίκτυο να τον βρουν καθώς και αρκετό χώρο μιας και θα αποθηκεύονται συνεχώς πακέτα από τις εντολές ανάκτησης όλων των μηχανημάτων.
Επανεκκινούμε το Apache
/etc/init.d/apache2 restart
Ελέγξτε σωστή εγκατάσταση δοκιμάζοντας να ανοίξετε την ιστοσελίδα http://localhost/apt-cacher
Αλλάξτε τις ρυθμίσεις στο αρχείο /etc/apt-cacher/apt-cacher.conf
Βάλτε σχόλια μπροστά από την παρακάτω γραμμή για να μην καθαρίζεται ο χώρος αποθήκευσης κάθε μέρα
#clean_cache=1
Εάν δεν χρησιμοποιείται proxy για http συνδέσεις βάλτε σχόλια στην παρακάτω γραμμή
#http_proxy=proxy.example.com:8080
Αλλάξτε τις παρακάτω γραμμές για να επιτρέψετε μόνο σε συγκεκριμένα μηχανήματα να χρησιμοποιούν τον εξυπηρετητή.
allowed_hosts=192.168.1.0-192.168.1.255 expire_hours=120 # or more. Maybe this will avoid too much checking on the internet
Αλλάξτε το αρχείο /etc/default/apt-cacher για να εκκινείται ο εξυπηρετητής apt-cacher κατά την εκκίνηση του συστήματος
AUTOSTART=1
Στον φάκελο /var/cache/apt-cacher/packages υπάρχουν οι λίστες των πακέτων που έχουν ζητηθεί από τα μηχανήματα - πελάτες καθώς και τα πακέτα deb. Εάν λοιπόν έχετε ήδη πακέτα στο φάκελο /var/cache/apt/archives μπορείτε να τα μεταφέρετε στο φάκελο /var/cache/apt-cacher/packages για να επιταχύνεται αρχικώς την διαδικασία
cp /var/cache/apt/archives/*.deb /var/cache/apt-cacher/packages/
Εάν ο εξυπηρετητής συνεχίζει να κατεβάζει παρά την διακοπή από τον πελάτη διακόψτε την σύνδεση στο Internet και επανεκκινήστε τον εξυπηρετητή.
/etc/init.d/networking stop /etc/init.d/apt-cacher stop /etc/init.d/networking start /etc/init.d/apt-cacher start
Ο εξυπηρετητής θα πρέπει να ολοκληρώνει ένα
apt-get update
χωρίς προβλήματα. Προσπαθήστε να φτίαξετε ένα αρχείο sources.list χωρίς λάθη. Προσθέστε μία μία τις καταχωρίσεις σε αυτό και δοκιμάστε την επιτυχή εκτέλεση της εντολής.
Εάν προκύψουν λάθη από μία πηγή μπορεί να έχετε προβλήματα γι' αυτό διαγράψτε τα αντίστοιχα αρχεία στους φάκελους /var/cache/apt-cacher/packages, /var/cache/apt-cacher/headers, /var/cache/apt-cacher/private πιθανόν και τις καταχωρήσεις από το αρχείο sources.list και δοκιμάστε ξανά μέχρι να πετύχει η εκτέλεση της εντολής.
Μην αφήσετε ανολοκλήρωτα αρχεία από ανεπιτυχείς λήψεις! Οι πελάτες δενπαρουσιάζουν ιδιαίτερα προβλήματα. Εάν ο εξυπηρετητής παρουσιάσει δοκιμάστε να χρησιμοποιεί ο ίδιος απευθείας τις πηγές από το Internet αφού μπορεί να δημιουργείται κάποιο πρόβλημα φαύλου κύκλου.
Οι παρακάτω επιλογές υπάρχουν από τις οποίες προτείνετε η πρώτη
Για να γίνει αυτό προσθέστε τις γραμμές.
Dir::State::Lists "/var/cache/apt-cacher/headers"; Dir::Cache::archives "/var/cache/apt-cacher/packages";
επίσης
mkdir /var/cache/apt-cacher/packages/partial mkdir /var/cache/apt-cacher/packages/partial
Για λόγους δοκιμών και για εύκολη ρύθμιση των πελατών φτιάξτε ένα αρχείο /etc/apt/sources.list.default με τις βασικές απευθείας πηγές από το Internet για τον εξυπηρετητή και ένα /etc/apt/sources.list.client με τις πηγές μέσω Διμεσολαβητή για τους πελάτες. Να θυμάστε να συγχρονίζετε τις αλλαγές σε αυτά.
Χρησιμοποιήστε το αρχείο που θέλετε με μια αντιγραφή για παράδειγμα ως εξής :
cp /etc/apt/sources.list.default /etc/apt/sources.list
Δεν χρειάζεται να εγκαταστήσετε τίποτα στους πελάτες. Αρκεί να αλλαχθεί το /etc/apt/sources.list ώστε να στέλνονται οι αιτήσεις πακέτων στον διαμεσολαβητή apt. Μια τυπική γραμμή του μπορεί να είναι η εξής
deb http://ftp.au.debian.org/debian unstable main contrib non-free
Θα πρέπει να υπάρχει η διεύθυνση του Διαμεσολαβητή apt πριν από αυτή για παράδειγμα ως εξής :
deb http://cache.example.com/apt-cacher/ftp.au.debian.org/debian unstable main contrib non-free
Ποτέ όμως μην αλλάζετε τις υπάρχουσες τιμές, φτιάξτε ένα αρχείο sources.list.client από τον server και αντιγράψτε το στους πελάτες. Στην συνέχεια εκτελέστε
apt-get update
Για να ενημερώση το μηχάνημά σας τις λίστα των πακέτων του. Όλες οι αιτήσεις πακέτων από εδώ και στο εξής θα προέρχονται από τον διαμεσολαβητή.
Ένας εύκολος τρόπος δημιουργίας ενός τέτοιου αρχείου είναι
Εύρεση: | http:// |
---|---|
Αντικατάσταση με: | http://youraptserver.local/apt-cacher/ |
Δεν μπορούν να χρησιμοποιηθούν ftp πηγές, μικρό πρόβλημα όμως καθώς σπάνιο να μην υπάρχουν επίσης και http πηγές για τα ίδια πακέτα.
Τα αρχεία αντιγράφονται και στον εξυπηρετητή και στον πελάτη άρα ο πελάτης μπορεί άνετα να διαγράφει συχνά τα αρχεία του για να κερδίζει σε χώρο.
Μερικές φορές ο εξυπηρετητής, αφού του γίνει αίτηση από πελάτη, πρώτα φέρνει όλο το αρχείο και στην συνέχεια το δίνει στον πελάτη. Αυτό είναι φυσιολογικό και ο πελάτης θα πρέπει να περιμένει.
Παρακάτω είναι ένα κομμάτι από το αρχείο sources.list του πελάτη
#ntua greek mirror deb http://athlon/apt-cacher/ftp.ntua.gr/pub/linux/debian/ testing main deb-src http://athlon/apt-cacher/ftp.ntua.gr/pub/linux/debian/ testing main
Μέσω ftp ή samba πάρε ένα τέτοιο αρχείο και αντέγραψέ το πάνω στο υπάρχον source.list αφού κρατήσεις πρώτα ένα αντίγραφο ασφαλείας sources.list.default.
cp /etc/apt/sources.list /etc/apt/sources.list.default cp /etc/apt/sources.list.client /etc/apt/sources.list
Το πρόγραμμα που θα χρησιμοποιήσουμε να λήψη αντιγράφων ασφαλείας και επαναφορά από αυτά είναι το partimage.
Θα πρέπει να έχουμε μια κατάτμηση (κατά προτίμηση FAT32), με ελεύθερο χώρο τουλάχιστον πάνω από τον μισό (θα γίνει συμπίεση), από εκείνον που καταλαμβάνουν τα δεδομένα μας στην κατάτμηση του λειτουργικού που θα λάβουμε αντίγραφο. Η κατάτμηση στην οποία θα αποθηκεύσουμε θα πρέπει να είναι είτε σε:
Το πιο δημοφιλές ανοιχτού κώδικα πρόγραμμα antivirus με πολλές δυνατότητες και μεγάλη βάση δεδομένων ιών είναι το clamav. Προσανατολίζεται περισσότερο σε ιούς για windows που μπορεί να βρίσκονται σε άλλες κατατμήσεις στο σύστημά μας. Έχει ένα ωραίο γραφικό πρόγραμμα ρύθμισής του το klamav. Στο debian για εγκατάσταση
aptitude install klamav
Η βάση δεδομένων μπορεί να ανανεώνεται αυτόματα από το internet. Οποτεδήποτε όμως μπορεί να ανανεωθεί από τον χρήστη με την εντολή.
freshclam
Μερικές φορές ίσως δεν μπορούμε να εξάγουμε το cd/dvd. Αυτό είναι αρκετά εκνευριστικό. Όμως μην ξεχνάμε ότι δουλεύουμε σε ένα πολυχρηστικό λειτουργικό περιβάλλον ως απλός χρήστης με περιορισμένα δικαιώματα. Έχουμε γενικά το δικαίωμα να προσαρτήσουμε, στο σύστημα αρχείων, τα περιεχόμενα ενός dvd σε έναν φάκελο (εκτελείται η mount στο παρασκήνιο, π.χ. mount /media/cdrom0). Πριν το εξάγουμε θα πρέπει να αποπροσαρτήσουμε (εκτελείται η umount στο παρασκήνιο, π.χ. umount /media/cdrom0).
Αυτό γίνεται αυτόματα από το λειτουργικό είτε :
Αν ακόμα δεν μπορούμε να εξάγουμε το δισκάκι μάλλον συμβαίνει κάτι από τα παρακάτω. Το πρόγραμμα που το προσάρτησε αυτόματα για μας είτε :
Όπως και να 'χει η λύση είναι η εξής. Κλείνουμε όλες τις εφαρμογές που χρησιμοποιούν το δισκάκι και ως υπερχρήστης εκτελούμε π.χ.:
umount /media/cdrom0
Αν δεν έχει προσαρτηθεί στο /media/cdrom0, για να δούμε που έχει προσαρτηθεί δοκιμάζουμε umount /media/, TAB για να δούμε τις διαθέσιμες επιλογές ή umount /mnt/ TAB ή umount / TAB.
Είτε έχουμε ξεκινήσει εγκατάσταση πακέτων από γραφική εφαρμογή, είτε από το apt μπορεί να αποτύχει η ολοκλήρωση της εγκατάστασης αρχικά. Μην ανησυχείτε όλα λύνονται. Θα περάσουμε στην γραμμή εντολών για να έχουμε τον πλήρη έλεγχο.
Οι διαχειριστές παραθύρων kde και gnome, έχουν την δυνατότητα να εκκινήσουν αυτόματα εφαρμογές, κατά την σύνδεση του χρήστη. Μερικές φορές όμως, κάποιες από αυτές τις εφαρμογές, μπορεί να προκαλέσουν ανώμαλο τερματισμό του γραφικού περιβάλλοντος X, κατά την εκκίνησή τους. Έτσι ο χρήστης αποσυνδέεται πάλι αυτόματα πριν ακόμα ολοκληρωθεί η σύνδεσή του. Άλλες φορές απλώς εκκινούν εμφανίζωντας μηνύματα λάθους κάθε φορά.
Έτσι είτε από την κονσόλα (βλ. παρ. Επεξεργασία κειμένου από κονσόλα) ή εκκινώνοντας από άλλο X περιβάλλον π.χ. fluxbox επεξεργαστείτε το αρχείο : Για το gnome από το μενού Επιφάνεια Εργασίας/Προτιμήσεις/Συνεδρίες εκτελείτε εφαρμογή για την επεξεργασία των προγραμμάτων που εκτελούνται αυτόματα κατά την είσοδό σας στο gnome. Δοκιμάστε λοιπόν από άλλο X περιβάλλον
gnome-session-properties&
Στην καρτέλα εκκίνηση προγραμμάτων μπορείτε να αφαιρέσετε το προβληματικό πρόγραμμα. Αν όμως στην καρτέλα Επιλογές Συνεδρίας, είναι επιλεγμένη η αυτόματη αποθήκευση αλλαγών συνεδρίας, ίσως δεν λύθεί το πρόβλημα έτσι. Μπορεί η εφαρμογή απλώς να εκκινήθηκε στην τελευταία συνεδρία και το gnome να την θυμάται. Στην περίπτωση αυτή θα υπάρχει λογικά το αρχείο ~/.gnome2/session. Επεξεργαστείται το και αφαιρέστε τις καταχωρήσεις που αφορούν την προβληματική εφαρμογή.
kwrite ~/.gnome2/session&
Για το kde εκτελέστε
cd ~/.kde/share/config/ cp ksmserverrc ksmserverrc.bak kwrite ksmserverrc&
Στο παραπάνω αρχείο, βρείτε την εφαρμογή που σας προκαλεί πρόβλημα. Θα έχει έναν αύξωντα αριθμό. Διαγράψτε όλες τις γραμμές που αφορούν αυτόν το αύξωντα αριθμό.
Δοκιμάστε τέλος, να ξανασυνδεθείτε. Η εφαρμογή, που δημιουργούσε το πρόβλημα, δεν θα εκτελεστεί κατά την νέα είσοδό σας.
Εάν χάσετε τον κωδικό υπερχρήστη μην απελπιστείτε και διαγράψετε τα πάντα. Δοκιμάστε να εκκινήσετε από ένα live cd όπως το Knoppix. Προσαρτήστε την κατάτμηση εγκατάστασης κάπου. Για παράδειγμα εάν είναι στο /dev/hda5 και έχει σύστημα αρχείων ext3 :
mkdir /mnt/rescue mount -t ext3 /mnt/rescue /dev/hda5
Μετά αλλάξτε την 1η γραμμή από το αρχείο /etc/password, που μοιάζει κάπως έτσι :
root:x:0:0:root:/root:/bin/bash
σε :
root::0:0:root:/root:/bin/bash
Μετά ανοίξτε και το αρχείο /mnt/rescue/etc/shadow και αλλάξτε την 1η γραμμή που ξεκινάει με root σε
root:*::::
Επανεκκινήστε και μπείτε ως υπερχρήστης ή ως απλός χρήστης εκτελέστε μετά su. Και χρησιμοποιήστε την εντολή passwd για να ορίσετε ένα νέο συνθηματικό.
Η επανάκτηση χαμένου κωδικού χρήστη είναι αρκετά απλή. Μπείτε σαν υπερχρήστης και εκτελέστε.
passwd <username>
Εάν χρησιμοποιείται nis και ο χρήστης είναι δικτυακός, εκτελέστε
yppasswd <username>
Δοκιμάστε από ένα pc πελάτη να συνδεθείτε. Εάν αυτό δεν δουλέψει, εκτελέστε επίσης
make -C /var/yp/
Εάν ο χρήστης είναι χρήστης samba
smbpasswd -a <username>
Ένα σύστημα αρχείων που έχει ήδη προσαρτηθεί ως μόνο ανάγνωσης μπορεί να επαναπροσαρηθεί και με δικαιώματα εγγραφής για παράδειγμα με την παρακάτω εντολή εάν είναι στο /dev/hda5
mount -o rw,remount /dev/hda5 /
Αυτή η εντολή είναι χρήσιμη όταν συνδέεσε σε κατάσταση μοναδικού χρήστη χωρίς δυνατότητα εγγραφής στην κατάτμηση εγκατάστασης ή σε περίπτωση που αποτυχει ο έλεγχος δίσκου fsck κατά την εκκίνηση.
Αν σβηστεί, αλλοιωθεί ή αντικατασταθεί το grub από το mbr υπάρχουν αρκετοί τρόποι ανάκτησής του. Παράλληλα μπορούμε πριν το επανεγκαταστήσουμε να το τροποποιήσουμε. Ο πιο γενικός είναι ο 1ος, αλλά υπάρχουν και εναλλακτικοί αν δεν σας δουλέψει. Κάνουμε λοιπόν τα εξής :
Μπορεί να μας συμβεί είτε μετά από :
Το gparted έχει το χαρακτηριστικό να αλλάζει μερικές φορές, μετά από επεξεργασία, την σειρά με την οποία αναγνωρίζονται οι κατατμήσεις από το linux. Αυτό μπορεί εάν συνιθιστεί η λογική με την οποία γίνεται μπορεί να φανεί χρήσιμο.
Θα χρειαστεί σε γενικές γραμμές να αλλάξουμε τα παρακάτω, για να λειτουργήσουν όλα πάλι σωστά:
Θεωρούμε λοιπόν ότι δεν λειτουργεί σωστά τίποτα πλέον, ούτε καν βλέπουμε το μενού του εγκατεστημένου στο mbr grub. Στην πράξη βέβαια, έχοντας το grub στην 1η λογική κατάτμηση, δεν πρόκειται να συμβεί κάτι τέτοιο. Ας θεωρήσουμε όμως ότι συμβαίνει και αυτό.
Καταγράψτε λοιπόν αν θέλετε την νέα σειρά των κατατμήσεων και ας εκκινήσουμε από το knoppel να τα διορθώσουμε όλα.
Το 1ο πρόβλημα σε μια εγκατάσταση linux είναι όταν προσπαθήσεις να εκτελέσεις κάτι από την κονσόλα συνδεδεμένος ως root. Εμφανίζει το μύνημα λάθους :
cannot connect to X server
Μια λύση είναι να αλλάξεις το XAUTHORITY στο /root/.bashrc αρχείο με τις παρακάτω γραμμές για οποιοδήποτε χρήστη ακόμα και τον root, αφού συνδεθείς στο περιβάλλον X ως ένας τυπικός χρήστης π.χ. vagelis
Από την κονσόλα έπειτα κάνε σύνδεση σαν root και εκτέλεσε
cp ~vagelis/.Xauthority ~/.Xauthority
Αυτή η λύση είναι προσωρινή. Εάν αποσυνδεθείτε από το X περιβάλλον και ξανασυνδεθείτε θα πρέπει να το ξανακάνετε. Μια πιο μόνιμη λύση είναι η εξής και αφορά την παρακάτω περίπτωση:
Εάν δεν συνδέεστε ποτέ ως root σε kde, gnome κτλ (που είναι και το πιο ασφαλές) αλλά πάντα σαν τυπικός χρήστης π.χ. vagelis τότε προσθέστε στο /root/.bashrc τις παρακάτω γραμμές :
# ~/.bashrc export XAUTHORITY=~vagelis/.Xauthority
Τώρα πάντα σε μια κονσόλα μπορείτε να εκτελείτε X εφαρμογές μετά την εντολή su εάν είστε στο X περιβάλλον ως χρήστης vagelis και μόνο τότε Μια άλλη λύση για το kde είναι να τρέξεις από την κονσόλα την εντολή
kdesu <application>
Για το gnome χρησιμοποίησε
gksu <application>
Βέβαια αυτά δουλεύουν από οποιοδήποτε διαχειριστή παραθύρω και να είσαι αρκεί να είναι εγκατεστημένα!
Για να χρησιμοποιήσεις πολλαπλές απομακρυσμένες κονσόλες εκτέλεση την εντολή
screen
αφού συνδεθείς στον απομακρυσμένο υπολογιστή με ssh Στην συνέχεια δοκίμασε CTRL-a-c για να δημιουργήσεις μια νέα οθόνη και μετά με CTRL-a-? βλέπεις όλες τις δυνατές εντολές CTRL-a-0 μεταφέρεσε στην 1η οθόνη CTRL-a-1 μεταφέρεσε στην 2η CTRL-a-n μεταφέρεσε στην επόμενη CTRL-a-p μεταφέρεσε στην προηγούμενη
CTRL-a-d αποσύνδεση από τις οθόνες με την αποσύνδεση από το μηχάνημα (το screen συνεχίζει να εκτελείται)
Εάν συνδεθείς πάλι με ssh εκτέλεσε
screen -r
για να συνεχίσεις από εκέι που βρισκόσουνα
Θέλουμε να εκτελέσουμε μια Χ εφαρμογή που θα εμφανιστεί στον απομακρυσμένο υπολογιστή.
Έστω ότι συνδέεστε από το localpc (τοπικό pc) στο remotepc (απομακρυσμένο pc) Θα πρέπει βέβαια να εκτελείτε η ssh υπηρεσία στον απομακρυσμένο υπολογιστή.
aptitude install openssh-server /etc/init.d/ssh start
Εκτελέστε
ssh remotepc
Αρχικά η μταβλητή περιβάλλοντος $DISPLAY είναι κενή οπότε αφού συνδεθείτε εκτελέστε
export DISPLAY=:0 # or export DISPLAY=remotepc:0 xterm
Η εφαρμογή xterm θα εμφανιστεί στον απομακρυσμένο υπολογιστή
Γίνεται να εμφανιστεί στον τοπικό?
Βεβαίως! Ο μηχανισμός ασφαλείας που δεν το επιτρέπει αρχικά είναι ο xauthority Πρέπει να προσθέσετε στον απομακρυσμένο υπολογιστή το τρέχον τοπικό σας magic cookie αριθμό που βρίσκεται στο ~/.Xauthority Εκτελέστε στο τοπικό μηχάνημα
xauth list $DISPLAY
Θα εμφανιστεί
localhost.localdomain:0 MIT-MAGIC-COOKIE-1 6ab86634b717cd5ba682714433887d24
Ο magic cookie αριθμός είναι 6ab86634b717cd5ba682714433887d24. Συνδεθείτε τώρα στο απομακρυσμένο μηχάνημα.
ssh remotepc export DISPLAY=localpc:0 xauth Using authority file /home/vagelis/.Xauthority xauth>add athlonpc:0 . 6ab86634b717cd5ba682714433887d24 xauth>exit Writing authority file /home/vagelis/.Xauthority xterm
Έτσι τώρα η εφαρμογή xterm εκτελείτε απομακρυσμένα αλλά προβάλεται τοπικά. Σιγουρευτείτε ότι κλείσατε όλες τις εφαρμογές που εκτελέσατε απομακρυσμένα. Ο magic cookie αριθμός είναι ασφάλεια για το τοπικό μηχάνημα. Λήγει όταν αποσυνδεθείτε από το X περιβάλλον.
Περισσότερες πληροφορίες στην διεύθυνση http://www.xs4all.nl/~zweije/xauth.html.
Για να συνδεθείτε απομακρυσμένα σε γραφικο περιβάλλον windows σε ένα μηχάνημα που τρέχει το πρωτόκολλο για απομακρυσμένες συνδέσεις rdp (remote desktop protocol) της Microsoft, εγκαταστήστε τους rdesktop (κονσόλα) ή krdc πελάτες (X εφαρμογή).
Τα WinXp επιτρέπουν μόνο μία σύνδεση άρα θα πρέπει πρώτα να αποσυνδεθείτε τοπικά από τα windows. Τα WinXp server επιτρέπουν 2 συνδέσεις. Για περισσότερες θα πρέπει να αγοράσετε τα microsoft terminal services.
aptitude install rdesktop krdc
Συνδεθείτε π.χ. εκτελώντας
rdesktop -f -a 16 remotepc
Από όλες τις εντολές η ping είναι η πιο συχνά χρησιμοποιούμενη κατά το στήσιμο ή την αντιμετώπιση προβλημάτων δικτύων. Για να δοκιμάσεις εάν μπορείς να επικοινωνήσεις με έναν υπολογιστή κάνε ping στην ip διεύθυνσή του ή την ονομαστική (dns) διεύθυνση.
ping 192.168.1.10 ping www.google.com
Για να την σταματήσεις όπως θα έκανες σε οποιαδήποτε άλλη διεργασία, πάτα CTRL-C
Μπορείτε να ορίσετε προσωρινές ip διευθύνσεις με την εντολή ifconfig. Αρχικά δοκιμάστε
ifconfig
Θα φανούν όλες οι διευθύνσεις στις ενεργοποιημένες διασυνδέσεις του υπολογιστή σας
Έστω ότι θέλετε να ορίσετε την διεύθυνση 192.168.1.10 στην διασύνδεση eth0 του υπολογιστή σας. Δοκιμάστε
ifconfig eth0 192.168.1.10
Εάν θέλετε να ορίσετε και 2η ip διευθυνση στην διασύνδεση eth0 π.χ. 10.2.12.8 ως eth0:0 χρησιμοποιήστε
ifconfig eth0:0 10.2.12.8
Με κάθε εκτέλεση της ifconfig γράφετε επίσης και η αντίστοιχη δρομολόγηση προς τον προκαθορίσμένο δρομολογητή. Δείτε route ορισμός δρομολόγησης Για να ενεργοποιήσετε μια διασύνδεση, π.χ. eth0
ifconfig eth0 up
Για να την απενεργοποιήσετε
ifconfig eth0 down
Για να πάρουμε ips από έναν dhcp server εκτελούμε
aptitude install dhclient dhclient
Εάν θέλουμε να απορίψουμε ips που δίνονται από συγκεκριμένο server π.χ. από τον 192.168.1.1 και τον 10.2.12.1 αλλάζουμε το αρχείο /etc/dhclient.conf και εισάγουμε τις παρακάτω γραμμές
reject 192.168.1.1; reject 10.2.12.1;
Για να πέρνουμε τις ips από dhcp κατά την εκκίνηση αλλάζουμε το αρχείο /etc/network/interfaces βάζοντας την γραμμή
iface eth0 inet dhcp
αντί για
iface eth0 inet static address 10.26.145.16 netmask 255.0.0.0 gateway 192.168.1.254
Για να δείτε τον εκάτοτε πίνακα δρομολόγησης εκτελέστε
route -n
(η παράμετρος -n δίνει ip διευθύνσεις και δεν επιλύει στα ονόματά τους, και έτσι εκτελείτε πιο γρήγορα)
Για να προσθέσετε έναν προεπιλεγμένο δρομολογητή για όλες τις ips που δεν έχουν συγκεκριμένη δρομολόγηση
route add default gw 192.168.1.254
Για να ορίσετε δρομολόγηση για μια περιοχή ips π.χ. όλες τις 10.x.x.x
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.26.145.1
Για να ενεργοποιήσετε αυτές τις δρομολογήσεις κατά την εκκίνηση προσθέστε στο αρχείο /etc/init.d/networking
iface eth0 inet static address 10.26.145.16 netmask 255.0.0.0 up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.26.145.1 down route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.26.145.1 gateway 192.168.1.254
Μετά δοκιμάστε
/etc/init.d/networking stop /etc/init.d/networking start
και τσέκαρετε με τις εντολές ifconfig και route -n εάν οι αλλαγές εφαρμόστηκαν.
Αφού κάνετε δοκιμές με την ifconfig γράψτε τις μόνιμες αλλαγές στο αρχείο /etc/network/interfaces για να φορτώνονται κατά την εκκίνηση. Παρακάτω δίνεται ένα τυπικό αρχείο.
# The loopback network interface auto lo iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 # This is a list of hotpluggable network interfaces. # They will be activated automatically by the hotplug subsystem. mapping eth0 script grep map eth0 # The primary network interface auto eth0:0 eth0 iface eth0 inet static address 10.26.145.16 netmask 255.0.0.0 up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.26.145.1 down route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.26.145.1 gateway 192.168.1.254 iface eth0:0 inet static address 192.168.1.68 netmask 255.255.255.0
Για άλλα παραδείγματα δείτε /usr/share/doc/ifupdown/examples/network-interfaces.gz
Τροποποίησε το αρχείο /etc/resolv.conf
Εάν οι διευθύνσεις σου έχουν ένα επίθεμα .mydomain π.χ. myrouter.mydomain τότε για να μπορέσεις να χρησιμοποιήσεις το όνομα μόνο π.χ. myrouter πρόσθεσε
search mydomain
Πρόσθεσε επίσης την λίστα των dns servers με την σειρά που θέλεις να τους γίνεται ερώτηση
nameserver 10.26.126.15 nameserver 192.168.1.254
Μετά δοκίμασε με την εντολή
aptitude install dnsutils nslookup <dns_name>
Οι παρακάτω οδηγίες εφαρμόστηκαν στο εξωτερικό usb/serial isdn modem της intracom 1)
Για χρήση του kppp από όλους τους χρήστες
chmod +x /usr/bin/kppp
Στο kppp απλώς άλλαξε τον τύπο του modem σε /dev/usb/ttyACM0
Εάν δεν μπορείς να το δεις από το μενού φτίαξε ένα σύνδεσμο σε αυτό στο /dev/modem όπως παρακάτω : Για να αφαιρέσεις παλιές συνδέσεις
rm /dev/modem
Νέος σύνδεσμος
ln -s /dev/usb/ttyACM0 /dev/modem
Μετά χρησιμοποίησε το /dev/modem στο kppp
PAP ως πρωτόκολλο, 115200 ταχύτητα, όχι αναμονή για σήμα και αποθήκευσε το password Για το isdn modem της Intracom στις εντολές AT commands αφαίρεσε τις εντολές για μεγάφωνο (δεν έχει) Σαν συμβολοσειρά εκκίνησης ATJA80JS60B0 για 1 κανάλι αλλά ζητωντας 128 kbps από τον παροχέα ATB40 για 1 κανάλι 64 kbps ATB0 για 2 κανάλια 128 kbps
Εάν το pppd πεθάνει μετά από περίπου 2 λεπτά τότε θα πρέπει να αλλάξεις το αρχείο /etc/ppp/options file 2 γραμμές είναι υπεύθυνες γι' αυτό
lcp-echo-interval 30 lcp-echo-failure 4
Χρησιμοποίησε ένα απλό /etc/ppp/options αρχείο όπως
lock noauth noipdefault
Διέγραψε το noauth από τα ορίσματα του pppd
Οι παρακάτω οδηγίες είναι για ένα pc που είναι συνδεδεμένο σε έναν διανομέα στον οποίο είνα συνδεδεμένα επίσης το τοπικό δίκτυο και ο δρομολογητής για το Internet. Ο δρομολογητής επιτρέπει μόνο σε αυτό την χρήση του Internet. Εμείς θα προωθήσουμε όλα τα εισερχόμενα πακέτα από το τοπικό δίκτυο από την διασύνδεση eth0 στην eth0 και ο δρομολογητής θα τα δει σαν να ήταν από το pc που του επιτρέπεται η σύνδεση στο Internet και θα τα προωθήσει με την σειρά του προς το Internet. Για άλλες περιπτώσεις π.χ. σύνδεση modem ως ppp0 αντικαταστήστε το 2ο eth0 (έξοδος) με ppp0.
Για Debian κάντε τα παρακάτω
Ορίστε DNS servers στο /etc/resolv.conf
Το βασικό πρόβλημα είναι η προώθηση IP (IP forwarding)
Για να δοκιμάσουμε τις ρυθμίσεις δημιουργούμε ένα καινούργιο εκτελέσιμο αρχείο /usr/bin/myrouter με τις παρακάτω ρυθμίσεις τείχους προστασίας (firewall). Για να το δημιουργήσουμε σαν υπηρεσία εκκίνησης δες οδηγίες στο Δημιουργία Νέας Προσωπικής Υπηρεσίας.
#!/bin/sh # This is first to clear any already existing rules /sbin/iptables -P INPUT ACCEPT /sbin/iptables -F INPUT /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -F OUTPUT /sbin/iptables -P FORWARD ACCEPT /sbin/iptables -F FORWARD # load iptables modules /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack # enable ip forwarding /bin/echo 1 > /proc/sys/net/ipv4/ip_forward # flush tables $IPTABLES -F $IPTABLES -X # enable masquerading to allow LAN internet access $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE # forward internal LAN traffic from eth0 to eth0 internet interface $IPTABLES -A FORWARD -i eth0 -o eth0 -m state --state NEW,ESTABLISHED -j ACCEPT # block out internet intrusion on eth0 #$IPTABLES -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP #$IPTABLES -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
Για να δεις την έκδοση του πυρήνα που χρησιμοποιείς
uname -a
Τα αρθρώματα (modules) περιέχουν συνήθως οδηγούς για διάφορες συσκευές ή λειτουργίες του λειτουργικού. Για να δεις ποια αρθρώματα είναι φορτωμένα στον πυρήνα.
lsmod
Για να φορτώσεις ένα άρθρωμα
modprobe <module name>
Για να εμφανίσεις πληροφορίες για ένα άρθρωμα
modinfo <module name>
Για να ενεργοποιήσεις / απενεργοποιήσεις αρθρώματα κατά την εκκίνηση
modconf
Μπορείς να φτιάξεις μια βάση δεδομένων με όλα τα αρχεία με την εντολή
aptitude install slocate updatedb
Στην συνέχεια εκτέλεση την εντολή locate με παράμετρο μέρος του ονόματος αρχείου που ψάχνεις. Είναι πολύ χρήσιμη ειδικά όταν ξέρεις το όνομα ενός αρχείου αλλά δεν γνωρίζεις που το έχει τοποθετήσει η διανομή Linux που χρησιμοποιέις
locate <name to search>
Για να δεις τις τιμές όλων των μεταβλητών περιβάλλοντος
env
ή
printenv
Για να δεις μια μεταβλητή περιβάλλοντος π.χ. την PATH
echo $PATH
Για να ορίσεις μια μεταβλητή περιβάλλοντος π.χ. να αλλάξεις την γλώσσα σε gnome εφαρμογές
export LANG='en_US.ISO-8859-1' gedit& export LANG='el_GR.UTF-8' gedit&
Για να προσθέσεις νέο κατάλογο στην PATH
export PATH="$PATH:/usr/NX/bin"
Όλες τις export μπορείς να τις περάσεις στο αρχείο ~/.bashrc ώστε να εκτελούνται κατά την είσοδο σε κονσόλα (σε κέλυφος bash)
Για να δεις την χρήση δίσκου για όλες τις προσαρτημένες κατατμήσεις
df /dev/hda8 11084456 6576484 4507972 60% / /dev/hda1 5114692 2643144 2471548 52% /mnt/hda1 /dev/hda2 4080614 1712488 2368126 42% /mnt/hda2 /dev/hda3 3076444 2589036 487408 85% /mnt/hda3 /dev/hda6 9578032 4531328 5046704 48% /mnt/hda6