Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 11617|Απάντηση: 0

[Linux] Κατανοήστε τον κατάλογο /etc/init.d και τα σενάρια /etc/rc.local σε συστήματα Linux

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 13/11/2017 11:53:19 π.μ. | | |
Η αγγλική έκδοση αυτού του άρθρου είναι από: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. Σχετικά με το /etc/init.d
     Εάν έχετε χρησιμοποιήσει ποτέ ένα σύστημα Linux, τότε έχετε ακούσει για τον κατάλογο init.d. Σε τι ακριβώς χρησιμεύει αυτός ο κατάλογος; Κάνει μόνο ένα πράγμα στο τέλος της ημέρας, αλλά δεν είναι κάτι ασήμαντο, γίνεται για ολόκληρο το σύστημα, επομένως είναι πολύ σημαντικό. Ο κατάλογος init.d περιέχει πολλά σενάρια έναρξης και διακοπής για διάφορες υπηρεσίες του συστήματος. Ελέγχει τα πάντα, από acpid έως x11-common. Φυσικά, το init.d απέχει πολύ από το να είναι τόσο απλό. (Σημείωση μεταφραστή: Το ACPID είναι ένα νέο πρότυπο διαχείρισης ενέργειας για λειτουργικά συστήματα Linux. Το X11 ονομάζεται επίσης σύστημα X Window, το σύστημα X Window (X11 ή X) είναι ένα σύστημα παραθύρων με εμφάνιση bitmap. Είναι μια τυπική εργαλειοθήκη και πρωτόκολλο για τη δημιουργία γραφικών διεπαφών χρήστη σε λειτουργικά συστήματα Unix και παρόμοια με το Unix, καθώς και στο OpenVMS, και μπορεί να χρησιμοποιηθεί για όλα σχεδόν τα σύγχρονα λειτουργικά συστήματα).
    Όταν κοιτάξετε τον κατάλογο /etc, θα βρείτε πολλούς καταλόγους που υπάρχουν με τη μορφή rc#.d (όπου το # αντιπροσωπεύει ένα καθορισμένο επίπεδο προετοιμασίας, το εύρος είναι 0~6). Κάτω από αυτούς τους καταλόγους, υπάρχουν πολλά σενάρια που ελέγχουν τη διαδικασία. Αυτά τα σενάρια ξεκινούν είτε με ένα "K" είτε με ένα "S". Οι δέσμες ενεργειών που ξεκινούν με K εκτελούνται πριν από τις δέσμες ενεργειών που ξεκινούν με S. Το πού τοποθετούνται αυτά τα σενάρια θα καθορίσει πότε θα αρχίσουν να εκτελούνται. Μεταξύ αυτών των καταλόγων, οι υπηρεσίες συστήματος συνεργάζονται σαν ένα υγιές μηχάνημα. Ωστόσο, μερικές φορές θέλετε να ξεκινήσετε ή να σκοτώσετε μια διαδικασία καθαρά χωρίς να χρησιμοποιήσετε τις εντολές kill ή killall. Εκεί είναι χρήσιμο το /etc/init.d!
    Εάν χρησιμοποιείτε ένα σύστημα Fedora, μπορείτε να βρείτε αυτόν τον κατάλογο: /etc/rc.d/init.d. Στην πραγματικότητα κάνει το ίδιο πράγμα όπου κι αν το βάλεις.δ.
     Για να μπορείτε να χρησιμοποιήσετε σενάρια στον κατάλογο init.d, χρειάζεστε δικαιώματα root ή sudo. Κάθε σενάριο θα εκτελεστεί ως εντολή, η οποία είναι δομημένη περίπου ως εξής:
     Επιλογή /etc/init.d/command
     comand είναι η πραγματική εντολή που εκτελείται και οι επιλογές μπορεί να είναι οι εξής:
Αρχή
Σταμάτα
Επαναφόρτωση
Επανεκκίνηση
δύναμη-επαναφόρτωση
       Στις περισσότερες περιπτώσεις, θα χρησιμοποιήσετε τις επιλογές έναρξης, διακοπής, επανεκκίνησης. Για παράδειγμα, εάν θέλετε να απενεργοποιήσετε το δίκτυο, μπορείτε να χρησιμοποιήσετε μια εντολή όπως αυτή:
     
         /etc/init.d/διακοπή δικτύωσης
        Ένα άλλο παράδειγμα είναι ότι αλλάζετε τις ρυθμίσεις του δικτύου σας και πρέπει να επανεκκινήσετε το δίκτυό σας. Μπορείτε να χρησιμοποιήσετε εντολές όπως αυτή:
        /etc/init.d/επανεκκίνηση δικτύωσης
        Τα σενάρια αρχικοποίησης που χρησιμοποιούνται συνήθως στον κατάλογο init.d είναι:
      
Δικτύωση
σάμπα
Απάτσι2
ftpd
sshd
περιστεριώνας
Η MySQL
         Φυσικά, μπορεί να έχετε και άλλα πιο συχνά χρησιμοποιούμενα σενάρια, ανάλογα με το λειτουργικό σύστημα Linux που έχετε εγκαταστήσει.
2. Σχετικά με το /etc/rc.local
      Το rc.local είναι επίσης ένα σενάριο που χρησιμοποιώ πολύ. Η δέσμη ενεργειών εκτελείται μετά την εκτέλεση της δέσμης ενεργειών σε επίπεδο προετοιμασίας συστήματος, επομένως είναι ασφαλές να προσθέσετε τη δέσμη ενεργειών που θέλετε να εκτελέσετε μετά την εκκίνηση του συστήματος. Μια συνηθισμένη περίπτωση είναι ότι μπορείτε να προσθέσετε ένα σενάριο προσάρτησης/προσάρτησης NFS σε αυτό. Μπορείτε επίσης να προσθέσετε μερικές εντολές σεναρίου για εντοπισμό σφαλμάτων μέσα. Για παράδειγμα, έχω αντιμετωπίσει αυτήν την κατάσταση όπου η υπηρεσία samba αποτυγχάνει πάντα να λειτουργεί σωστά και η επιθεώρηση δείχνει ότι η samba θα έπρεπε να έχει ξεκινήσει και να εκτελεστεί κατά την εκκίνηση του συστήματος, δηλαδή, η διαμόρφωση του δαίμονα samba διασφαλίζει ότι αυτή η λειτουργία πρέπει να εκτελεστεί σωστά. Σε αυτήν την περίπτωση, συνήθως δεν μπαίνω στον κόπο να αφιερώσω πολύ χρόνο για να ψάξω γιατί, απλά πρέπει να προσθέσω αυτήν τη γραμμή στο σενάριο /etc/rc.local:
          /etc/init.d/samba έναρξη
     Με αυτόν τον τρόπο, το πρόβλημα της εξαίρεσης της υπηρεσίας SAMBA επιλύθηκε με επιτυχία.

3. Περίληψη
         Το Linux είναι ευέλικτο. Λόγω της ευελιξίας του, μπορούμε πάντα να βρούμε πολλούς διαφορετικούς τρόπους για να λύσουμε το ίδιο πρόβλημα. Το παράδειγμα της εκκίνησης μιας υπηρεσίας συστήματος είναι ένα καλό παράδειγμα. Με το σενάριο στον κατάλογο /etc/init.d, σε συνδυασμό με το ισχυρό εργαλείο του /etc/rc.local, μπορείτε να είστε σίγουροι ότι η υπηρεσία σας θα λειτουργεί άψογα.




Προηγούμενος:Asp.Net Εμφανίζεται στο EF6.0 δεν βρέθηκε με σταθερό όνομα "System.Data.SqlClient"...
Επόμενος:Το αρχείο διαμόρφωσης MySQL my.cnf εξηγείται λεπτομερώς
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com