답변:
나는 나를 위해 더 나은 방법을 찾았습니다. 최소한 더 깨끗한 방법. 분명히 우분투 변경 벼락 출세를 위해 systemd 우분투 15.04, 우분투 16.04에, 너무 아마 다음 버전. 나는 두 시스템 모두에 익숙하지 않지만 이것은 나를 위해 일했다.
인터넷 검색 우분투 16 wol 및 기타 유사한 검색을 하면서이 게시물을 여러 번 발견 했기 때문에 이것을 게시하고 있습니다. 이것은 다른 누군가를 도울 수 있습니다.
WOL이 계속 작동하려면 시스템을 부팅 할 때마다 다시 활성화해야했습니다. 이 작업을 수동으로 수행하지 않기 위해 systemd를 사용했습니다. 이것이 내가 한 일입니다.
먼저 파일을 작성하십시오 /etc/systemd/system/wol@.service
(@ 기호 유지). 이것을 넣으십시오 :
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
부팅시 인터페이스에 대해이를 활성화하고 다음 명령을 실행하십시오 (인터페이스로 eth3 변경).
systemctl enable wol@eth3
다음과 같이 보일 것입니다 :
Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
활성화되어 있는지 확인하려면 다음 명령을 실행 (사용자 인터페이스 변경 eth3에를) 그것은 반환해야합니다 enabled
:
systemctl is-enabled wol@eth3
이를 테스트하려면 재부팅하고 실행하십시오 (인터페이스로 eth3 변경).
ethtool eth3
다음과 같은 줄이 나타납니다.
Wake-on: g
출처 :
건방진 녀석:
Upstart는 / sbin / init 데몬을 이벤트 기반으로 대체하여 부팅하는 동안 작업 및 서비스의 시작을 처리하고, 종료하는 동안 중지하고 시스템이 실행되는 동안이를 감독합니다.
- 신출내기 - 이벤트 기반의 init 데몬
체계화 :
systemd는 Linux 시스템을위한 기본 빌딩 블록입니다. PID 1로 실행되고 나머지 시스템을 시작하는 시스템 및 서비스 관리자를 제공합니다. (...)
- 체계화
Ubuntu 16.04에서는 TLP 전원 관리로 WOL을 비활성화하지 않도록 설정 WOL_DISABLE=N
했습니다 /etc/default/tlp
.
http://linrunner.de/en/tlp/docs/tlp-configuration.html
추가 NETDOWN=no
에 /etc/default/halt
종료하는 동안 네트워크 카드 전원 끄기 방지하기 위해
/etc/network/interfaces
정적 네트워크 구성을 사용하는 경우 Wake on LAN in을 활성화하십시오 .
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
up ethtool -s eth0 wol g
BIOS에서 LAN에서 깨우기를 활성화하고 BIOS 설정으로 들어가서 "Wake up on PCI event", "Wake up on LAN"또는 이와 유사한 것을 찾으십시오. 사용 가능하도록 변경하십시오. 설정을 저장하고 재부팅하십시오.
https://help.ubuntu.com/community/WakeOnLan
경고 일부 마더 보드 / 네트워크 컨트롤러는 콜드 부팅에서 WOL을 지원하지 않습니다 (S5 상태, 시스템 전원이 물리적으로 꺼졌다가 다시 켜집니다). 이 경우 적어도 하나의 전원주기 (전원 켜기, 종료)를 수행해야합니다. 이 문제를 완화하기 위해 AC가 복원 될 때 BIOS를 켜고 나중에 Ubuntu 내에서 종료를 예약하도록 BIOS를 구성 할 수 있습니다. 자세한 내용은 마더 보드 설명서를 참조하십시오.
WOL이 작동하려면 전원을 끌 때 시스템에서 이더넷 인터페이스가 올바르게 종료되어 있는지 확인하십시오.
다음을 시도하십시오 :
라는 bash는 스크립트 작성 wol_poweroff.sh 온 /etc/rc6.d/ 디렉토리 :
sudo nano /etc/rc6.d/wol_poweroff.sh
이 코드를 넣으십시오.
#!/bin/bash
ifconfig eth0 down
poweroff
이를 /etc/rc0.d 디렉토리에 복사하십시오 (따라서 halt 와도 작동 함 ).
sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
둘 다 실행 가능하게 만드십시오.
sudo chmod 755 /etc/rc6.d/wol_poweroff.sh
sudo chmod 755 /etc/rc0.d/wol_poweroff.sh
이제 WOL 도구를 사용 sudo shutdown now
하거나 sudo poweroff
사용하여 컴퓨터의 전원을 끄고 마법 패킷을 보내어 작동하는지 확인하십시오 .
그것이 나를 위해 일한 유일한 것입니다. launchpad.net의 버그 보고서에서 이러한 단계를 찾았습니다.
저자 Robbie Williamson에 따르면 다음과 같은 이유로 작동합니다.
WOL이 작동하게하려면 시스템 종료의 일부로 이더넷 인터페이스를 올바르게 종료해야합니다. Linux는 일반적으로 7 가지의 다른 실행 레벨 (또는 운영 모드)을 가지고 있다는 점에 유의하여 실행 레벨 rc0 및 rc6의 일부로 수행해야합니다.
rc0.d-시스템 정지
rc1.d-단일 사용자 모드
rc2.d-네트워킹 단일 사용자 모드
rc3.d-다중 사용자 모드-텍스트 모드로 부팅
rc4.d-아직 정의되지 않은
rc5.d-다중 사용자 모드-X Windows에서 부팅
rc6.d-종료 및 재부팅
출처 : https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
NetworkManager를 사용하는 경우 다음을 통해 WOL을 활성화 할 수 있습니다 nmcli
.
nmcli connection show
관심있는 장치에 대한 "802-3-ehternet"TYPE의 연결 이름을 기억하십시오. 이름이 "유선 연결 1"이라고 가정하십시오. 그런 다음 올바르게 수정하십시오.
nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic
MAC 주소를 얻으려면 :
nmcli connection show "Wired connection 1" | grep 802-3-ethernet.mac-address
이제부터는 이전 단계의 LAN 카드의 MAC 주소 인 wakeonlan 1a:2b:3c:4d:5e:6f
명령으로 동일한 LAN의 다른 시스템에서 시스템을 켜고 끌 수 있습니다 1a:2b:3c:4d:5e:6f
.
이것은 우분투 18.04 (헤드리스 / 최소 설치)에서도 나에게 물었습니다. 불행히도 때때로 여기에 나열된 답변은 경쟁 조건을 만들거나 시스템과 같은 사람들과 싸울 때 신뢰할 수있는 솔루션을 제공하지 않을 것입니다. netplan 및 udev.
나는이 접근법을 처음에도 시도했지만 작동하는 것처럼 보였으며, 시스템 BIOS가 옵션으로 예약 된 AC를 제공하지 않기 때문에 매일 저녁 WakeOnLan을 통해 시스템을 부팅하여 백업을 실행하도록 예약하고 있습니다.
며칠 동안 작동 한 다음 깨우기를 거부하고 수동으로 전원을 켜고 ethtool을 실행하면 WoL이 비활성화 된 것으로 나타났습니다.
Wake-on: d
그래서 지난 몇 년 동안 시스템에서 시스템의 일부를 인계하여 다른 문제가 발생하여 다시 시작해야한다고 생각했습니다. 여기서 시작하십시오.
WakeOnLan = .. .. 기본값은 꺼짐입니다.
https://www.freedesktop.org/software/systemd/man/systemd.link.html
온라인 예제는 다음과 같이 표시됩니다.
/etc/systemd/network/50-wired.link
[Match]
MACAddress=<MAC ADDRESS>
[Link]
WakeOnLan=magic
이것은 여전히 작동하지 않았습니다. 그런 다음이를 보았습니다.
udevadm test-builtin net_setup_link /etc/systemd/network/50-wired.link
결과 :
Load module index
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/50-wired.link
Parsed configuration file /run/systemd/network/10-netplan-eno1.link
그리고 /run/systemd/network/10-netplan-eno1.link에서 무엇을 찾을 수 있습니까?
[Match]
MACAddress=<MAC ADDRESS>
[Link]
Name=eno1
WakeOnLan=off
해결책 :
systemd .link 파일을 이미 가지고 있으므로 간단히 00-wired.link로 이름을 바꾸고 재부팅 한 다음 ethtool eno1 보고서를 보냈습니다.
Wake-on: g
WoL을 사용하려는 목적으로 만 추가 서비스가없는 경우