Προς το περιεχόμενο

Εντολές στο rc.local δεν εκτελούνται στην εκκίνηση


headbanger

Προτεινόμενες αναρτήσεις

χαιρετώ, αντιμετωπίζω το εξής κουλό.

 

έχω εναν homeserver με OS Ubuntu server.

 

Εκτελώ της εξής εντολές στο /etc/rc.local γιατί το iwconfig μου δεν αποθηκεύει τις ρυθμίσεις

 

>
ifconfig wlan0 down
iwconfig essid home_01 key s:katikserw
ifconfig wlan 0 192.168.2.11 netmask 255.255.255.0
route add default gw 192.168.2.1
ifconfig wlan up
exit 0

 

 

 

όταν ξεκινάει το Multiuser δεν συνδέεται με το router μου όμως. 'εχω ήδη κάνει εκτελεσιμο το /etc/rc.local με chmod +x

 

 

το περίεργο είναι , ότι άμα κάνω Log in user και δώσω

sudo sh /etc/rc.local

συνδέεται και δουλεύει ρολόι....

 

καμιά ιδέα στο τι κάνω τοσο φοβερά λάθος γιατί μου φαγε όλο το απόγευμα το συγκεκριμένο θέμα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

3 distro-agnostic ιδέες:

 

- Το rc.local μπορεί να θέλει shebang και να μην έχει (προτίμησε dash αντί bash).

- Το rc.local κατά το startup μπορεί να εκτελείται από ένα τέτοιο περιβάλλον όπου δεν υπάρχουν διαθέσιμες κάποιες environmental variables που ίσως χρειάζονται για να τρέξουν οι εντολές που δίνεις. Επειδή τυπικά δεν εκτελείται ως login shell (man bash /INVOCATION), δεν θα διαβάσει το /etc/profile. Για το συγκεκριμένο script, λογικά το μόνο που μπορεί να χρειάζεσαι είναι η $PATH. Για να μην εξαρτάσαι από αυτή, δοκίμασε να δώσεις τις εντολές με full path.

- Δεν ξέρω πώς τα έχει σχεδιάσει το ubuntu, σίγουρα προβλέπεται rc.local σε αυτήν την τοποθεσία και μήπως πρέπει να ορίσεις να εκτελείται κάποιο init script στο default runlevel προηγουμένως (π.χ. 'update-rc.d rc.local defaults');

 

Πάντως είναι καλύτερα να μην χρησιμοποιήσεις το rc.local γι' αυτή τη δουλειά, αλλά κάποιο σχετικό configuration file που σίγουρα έχει προβλέψει η διανομή για το network configuration. Ο βασικός λόγος γι αυτό είναι ότι κάποιο service που θέλεις να εκτελείται αυτόματα, μπορεί να χρειάζεται πρόσβαση στο δίκτυο. Η διανομή κατά πάσα πιθανότητα, είτε με κάποιο dependency logic, είτε με κάποια χονδρική πολιτική σειράς εκτέλεσης των init scripts, θα έχει προβλέψει ώστε αυτά τα services να εκκινήσουν αφού έχει σηκωθεί το δίκτυο, ώστε να μην συμπεριφερθούν με απρόβλεπτους τρόπους (π.χ. καθυστερήσεις/timeouts/retries ή και οριστικές αποτυχίες). Το rc.local είναι για πιο independent πράγματα από το network configuration και συνήθως εκτελείται τελευταίο.

Αλλά υπάρχουν και άλλοι λόγοι, π.χ. μπορεί μεθαύριο η διανομή να πετάξει τα net-tools και να χρησιμοποιεί μόνο iproute2 (λέμε τώρα, αυτό αφορά κυρίως rolling διανομές, δε φαντάζομαι το ubuntu server να κάνει τέτοιες αλλαγές ανάμεσα στα releases), τα configuration files προσφέρουν ένα layer of abstraction για να μην ανησυχείς για τέτοια πράγματα. Ή μπορεί ξέρω γω η διανομή να έχει υιοθετήσει κάποιο σύστημα για persistent enforcing των ρυθμίσεων δικτύου που θεωρεί ότι έχουν οριστεί με τον προβλεπόμενο τρόπο, με αποτέλεσμα να σου πειράζει τις ρυθμίσεις που έχεις ορίσει "εξωτερικά".

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

σήμερα το πρωί με καθαρό μυαλό και μια κούπα καφέ αφού διάβασα το ποστ σου Nske βρήκα την λύση την οποία και παραθέτω προς μελλοντική χρήση.

 

 

δημιουργούμε ένα αρχείο με το nano Και το Ονομάζουμε otithelwnaginetai.sh στο οποίο έβαλα προσωπικα τις εξής εντολές:

>
#!/bin/sh
ifconfig wlan0 down
iwconfig essid home_01 key s:katikserw
ifconfig wlan 0 192.168.2.11 netmask 255.255.255.0
route add default gw 192.168.2.1
ifconfig wlan up
exit 0

 

το μεταφέρουμε στο /etc/init.d/ με sudo mv otithelwnaginetai.sh /etc/init.d/

το κάνουμε εκτελέσιμο με sudo chmod +x /etc/init.d/otithelwnaginetai.sh

δίνουμε και ένα sudo update-rc.d otithelwnaginetai.sh defaults για να ξεκινήσει στο επόμενο boot

και ως εκ θαύματος έχουμε το ασύρματο να λειτουργεί κανονικά στην επόμενη εκκίνηση , και σε κάθε εκκίνηση.

 

 

 

Τώρα όμως παρατήρησα ότι άμα πέσει το ασύρματο και ξανασηκωθεί δεν συνδέεται αυτόματα. υπάρχει καμιά λύση για αυτό μιας και μόλις ετοιμαστεί το pc Πάει για μπαλκόνι και Uptime 24/7

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ολα αυτα θα μπορουσες να τα βαλεις στο /etc/network/interfaces και να δουλευουν με την μια, ακομα και σε init 1.

Πραγματικα το θεωρω ανοησια να ξεκινας το δικτυο μεσω σκριπτ και αφου τελειωσουν ολα τα αλλα services το φορτωμα τους, τη στιγμη που θα μπορουσες να το ξεκινας κανονικα.

 

Παραδειγμα /etc/network/interfaces με ασυρματο με wep που δουλευε 1,5 χρονο χωρις προβλημα.

>iface wlan0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.254
wireless-key ***
wireless-essid ***
allow-hotplug wlan0
auto wlan0

 

Το allow-hotplug νομιζω κανει αυτο που λες με την επαναφορα οταν πεσει. Επισης, στα οσα εχεις γραψει παραπανω, πρεπει να αφαιρεσεις το κενο αναμεσα απο το "wlan" και το "0".

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

το κενό δεν υπάρχει στο config λάθος τυπογραφικό.

Πως ορίζς με ascii το wireless-key?

ετσι; "wireless-key s:key"

κάτι άλλο μέχρι να διορθώσω το λάθος σύμφωνα με τον jim_p

 

συνδεόμενος με ssh είδα κινέζικους χαρακτήρες!!! καμιά ιδέα

δείτε και το screenshot απο το Putty

post-69731-0-14046400-1299137588_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ένα ακόμα θέμα που πρέκυψε είναι ότι ο σερβερ επιμένει να με κάνει redirect .

τι εννοω:

στον browser από τον άλλο Η/Υ συνδέομαι με 192.168.2.11 για να ρυθμίσω το moodle πχ, ότι και να πατήσω απο και και πέρα με πετάει στο

/server-home/moodle με αποτέλεσμα ο Η/Υ του γραφείου να μην τον βλέπει. πως μπορώ να ρυθμίσω ώστε να παραμένει σε raw ip ?

 

κατανοώ ότι είναι θέμα DNS, DNS o H/Y Περνει από τον ISP

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

για το log θα παραθέσω την λύση ώστε όποιος συναντήσει παρόμοοι πρόβλημα να βοιηθηθεί

 

το πρόβλημα το τελευταίο λύθηκε με μια ρύθμιση στο /etc/hosts

 

 

για να ορίσουμε το επιθυμητό hostname

>
# hostname <hostname>

 

Και μετά πρόσθεσα στο /etc/hosts

 

>[i][b]XXX.XXX.XXX.XXX  <hostname>.home.local <hostname>[/b][/i]

 

όπου ΧΧΧ η διεύθηνση ip Και <hostname> το Hostname του υπολογιστή μας!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...