Ubuntu 14.04 ne sudo service networking restart
, ne sudo /etc/init.d/networking restart
vairs neko nedara. Abas programmas arī beidzas ar kodu 1. Acīmredzot kaut kas ir mainījies (vai puse no tā), bet es nevaru atrast, kas. Tas acīmredzami rada problēmas ar attālinātu tīkla pārkonfigurēšanu un tādiem rīkiem kā Ansible.
$ sudo bash -x /usr/sbin/service networking restart
[sudo] password for wirehive:
++ basename /usr/sbin/service
+ VERSION='service ver. 0.91-ubuntu1'
++ basename /usr/sbin/service
+ USAGE='Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]'
+ SERVICE=
+ ACTION=
+ SERVICEDIR=/etc/init.d
+ OPTIONS=
+ '[' 2 -eq 0 ']'
+ cd /
+ '[' 2 -gt 0 ']'
+ case "${1}" in
+ '[' -z '' -a 2 -eq 1 -a networking = --status-all ']'
+ '[' 2 -eq 2 -a restart = --full-restart ']'
+ '[' -z '' ']'
+ SERVICE=networking
+ shift
+ '[' 1 -gt 0 ']'
+ case "${1}" in
+ '[' -z networking -a 1 -eq 1 -a restart = --status-all ']'
+ '[' 1 -eq 2 -a '' = --full-restart ']'
+ '[' -z networking ']'
+ '[' -z '' ']'
+ ACTION=restart
+ shift
+ '[' 0 -gt 0 ']'
+ '[' -r /etc/init/networking.conf ']'
+ which initctl
+ grep -q upstart
+ initctl version
+ case "${ACTION}" in
+ stop networking
stop: Job failed while stopping
+ :
+ exec start networking
start: Job is already running: networking
Kāds ir pareizais veids, kā attālināti restartēt tīkla darbību Ubuntu 14.04 serverī?
Izrādās, ka tā ir "funkcija". Vienīgais atbalstītais interfeisa restartēšanas veids Ubuntu serverī ir sudo ifdown eth0 && sudo ifup eth0
.
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1301015
Kas ir mainījies, ir tas, ka viņi vairs nevēlas, lai jūs "bouncing" tīklu. apstāšanās un palaišana joprojām darbojas. restartēšana vairs nedarbojas. Es tikko "atrisināju" šo "problēmu", tas ir, es atguvu veco uzvedību. Lai atgrieztos pie iepriekšējās uzvedības: Konfigurējiet 13.10 /etc/init/networking.conf failu un nomainiet ar to 14.04 failu. (rediģēt: precizēts, kas aizstāj ko)
Process izskatās šādi:
(Just before this, I configured my /etc/network/interfaces for eth1 on a 192.168.117.x address)
"/etc/network/interfaces" 16L, 413C written
root@1404-Anode:~# service networking restart
stop: Job failed while stopping
start: Job is already running: networking
root@1404-Anode:~# echo "hmm, wth?"
hmm, wth?
root@1404-Anode:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:d6:a8:19
inet addr:192.168.115.105 Bcast:192.168.115.255 Mask:255.255.255.0
inet6 addr: 2002:4077:9050:1234:a08c:29c1:ce9b:a57b/64 Scope:Global
inet6 addr: fe80::20c:29ff:fed6:a819/64 Scope:Link
inet6 addr: 2002:4077:9050:1234:20c:29ff:fed6:a819/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:646 errors:0 dropped:0 overruns:0 frame:0
TX packets:531 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:58748 (58.7 KB) TX bytes:75465 (75.4 KB)
(lo removed here)
root@1404-Anode:~# cd /etc/init
root@1404-Anode:/etc/init# diff networking.conf.1310 networking.conf.1404
13c13
< and (stopped udevtrigger or container)) or runlevel [2345]
---
> and (stopped udevtrigger or container)) or runlevel [2345] or stopped networking >RESULT=failed PROCESS=post-stop EXIT_STATUS=100
16a17,20
> if [ "$UPSTART_EVENTS" = "stopped" ] && [ "$UPSTART_JOB" = "networking" ] && [ "$EXIT_STATUS" = "100" ]; then
> exit 0
> fi
>
21a26,31
> if [ -z "$UPSTART_STOP_EVENTS" ]; then
> echo "Stopping or restarting the networking job is not supported."
> echo "Use ifdown & ifup to reconfigure desired interface."
> exit 100
> fi
root@1404-Anode:/etc/init#
Tāpat rīkojieties arī ar /etc/init.d/networking script, uz kuru atsaucas /etc/init/networking.conf fails.
root@1404-Anode:/etc/init# cp networking.conf.1310 networking.conf
root@1404-Anode:/etc/init# cd ../init.d
root@1404-Anode:/etc/init.d# diff networking.1404 networking.1310
15d14
< STATEDIR="$RUN_DIR/state"
21a21,27
> # Make sure that it's clear to the user that they shouldn't use this
> # script under upstart
> if init_is_upstart; then
> echo "ERROR: Calling a sysvinit script on a system using upstart isn't supported. Please use the 'service' command instead."
> exit 1
> fi
>
52,54d57
< if ! chown root:netdev "$RUN_DIR" ; then
< log_warning_msg "can't chown $RUN_DIR"
< fi
160,162d162
< if init_is_upstart; then
< exit 1
< fi
166c166
< state=$(ifquery --state)
---
> state=$(cat /run/network/ifstate)
root@1404-Anode:/etc/init.d# cp networking.1310 networking
root@1404-Anode:/etc/init.d# service networking restart
networking stop/waiting
networking start/running
root@1404-Anode:/etc/init.d# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:d6:a8:19
inet addr:192.168.115.105 Bcast:192.168.115.255 Mask:255.255.255.0
inet6 addr: 2002:4077:9050:1234:a08c:29c1:ce9b:a57b/64 Scope:Global
inet6 addr: fe80::20c:29ff:fed6:a819/64 Scope:Link
inet6 addr: 2002:4077:9050:1234:20c:29ff:fed6:a819/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3398 errors:0 dropped:0 overruns:0 frame:0
TX packets:2545 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:318654 (318.6 KB) TX bytes:418804 (418.8 KB)
eth1 Link encap:Ethernet HWaddr 00:0c:29:d6:a8:23
inet addr:192.168.117.105 Bcast:192.168.117.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fed6:a823/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:98 errors:0 dropped:58 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20055 (20.0 KB) TX bytes:1226 (1.2 KB)
(lo removed)
root@1404-Anode:/etc/init.d# echo "hah, it works! *8^)"
Hah, it works! *8^)
root@1404-Anode:/etc/init.d#
(note: the steps where I scp'd the 1310 versions into the 1404 system are omitted for brevity).
Acīmredzot ir iemesls, kādēļ viņi tur ievieto aizsardzības izeju, bet viņi nemaz necenšas labi izvadīt to, kas tur notiek.
Kad mēģināt, /var/log/upstart/networking.log tiek ievadīts ieraksts, kas izskatās šādi:
Stopping or restarting the networking job is not supported.
Use ifdown & ifup to reconfigure desired interface.
Bet viņi tiešām varēja/vajadzēja izvadīt to kā dialoga ziņojumu, kad mēģināt pakalpojumu tīkla restartēšanu. ah labi. izdomāja to un pat vecā veidā apiet.
EDIT: Es esmu atklājis, ka tas izraisa netīšu /etc/init/failsafe.conf kontrolētā skripta iedarbināšanu, kas ir nevēlama, jo tas izraisa 120 sekunžu timeout aizkavi katrā startēšanas reizē... kā arī, iespējams, maskē faktiskās nepareizas konfigurācijas/tīkla problēmas, uz kurām norādītu šī aizkave, bet tā jau visu laiku parādās. (piemēram, atvienots kabelis, kas ļāva piekļūt tīkla failu koplietojumam, kas iezīmēts, piemēram, /etc/fstab).
Jebkurā gadījumā es noskaidrošu, kas izraisa to, ka vienmēr tiek pārsniegts laika ierobežojums, un publicēšu labojumu, kad to atradīšu.
Atsaucoties uz kvm-user420's atbildi, Es'esmu devies uz priekšu un iestatīt skriptu, lai aizstātu Ubuntu 14.04's tīkla skripti ar to Ubuntu 13.10
To var atrast šeit: https://github.com/metral/restore_networking
Izbaudiet!