답변:
에 스크립트를 추가하십시오 /etc/network/if-up.d/
. '.sh'확장자없이 스크립트 이름을 지정하십시오.
또한 스크립트 실행 chmod +x /etc/network/if-up.d/yourscriptname
을 추가 한 후 필요한 권한을 부여하십시오.
켜져있을 때 스크립트를 트리거해야하는 네트워크 인터페이스 (예 : wlan0 또는 eth0)가 파일에 언급되어 있는지 확인하십시오 /etc/network/interfaces
.
interfaces
그것이 없을 때 정확히 들어가야 할 것을 추가하십시오 . 이를인가 auto wlan0
하고 iface wlan0 inet dhcp
그렇지 않으면 STH?
편집자 주 : 오징어는 2012 년 이후 업데이트되지 않았으며 현재 우분투 리포지토리에 없습니다.
오징어를 열고를 클릭하십시오 New.
OP 질문의이 부분에 답하겠습니다. "이 마운트를 자동으로 사용하고 싶습니다."
네트워크 공유 자동 마운트에 가장 좋아하는 도구는 autofs입니다. https://help.ubuntu.com/community/Autofs
AutoFS는 모든 랩톱 및 워크 스테이션에 NAS를 마운트하기 위해 선택한 도구입니다.
" autofs는 필요에 따라 디렉토리를 자동으로 마운트하기위한 프로그램입니다. 자동 마운트는 액세스 할 때만 마운트되며 일정 기간 동안 사용하지 않으면 마운트 해제됩니다. 이로 인해 NFS / Samba 자동 마운트는 대역폭을 보존하고 더 나은 성능을 제공합니다. fstab에 통해 정적 마운트에 비해 전반적인 성능을 제공합니다. "
가장 쉽고 간단하며 쉬운 방법은 작업하려는 인터페이스에 up 명령을 추가하는 것입니다.
인터페이스는 "/ etc / network /"디렉토리에서 "interfaces"파일 이름으로 찾을 수 있습니다.
iface elan0 inet manual
up filename.sh
그러면 elan0에 up 명령이 추가됩니다. 동시에 작업하려는 인터페이스에 이것을 제공하십시오. 하나의 탭 공간을 들여 쓰기하십시오.
파일에 실행 권한을 부여하십시오.
sudo chmod 755 filename.sh
tun0
관리하는 VPN 인터페이스 와 함께 작동 합니다 network-manager
. 열쇠는의 사용이다 inet manual
.
내가 아는 한, 다음에 /etc/network/if-up.d/
추가했을 때 해결책이 작동하지 않았습니다 /etc/network/interfaces
.
auto wlp58s0
iface wlp58s0 inet dhcp
post-up /home/augustin/Config/myscript.sh
재부팅 후 Wi-Fi가 시작됩니다.
그러나 일부 투쟁, 후 링크 , 무슨 일을하기에 스크립트를 추가하는 것이었다 /etc/NetworkManager/dispatcher.d/
형태로 스크립트 및 다음과 같은 양식을 사용하여 우선 순위는 다음과 같습니다90myscript.sh
90
#!/bin/bash
IF=$1
STATUS=$2
if [ "$IF" == "wlp58s0" ]
then
case "$2" in
up)
# interface is up
;;
down)
# interface will be down
;;
pre-up)
# interface will be up
;;
post-down)
# interface is down
;;
*)
;;
esac
fi
시스템 수준에서 네트워크 구성을 제어하는 사람 사이에 문제가 있으며 때로는 기본 network
동작이 디스패처 뒤에 남아 있습니다.
또한 나처럼-파일을 더 나은 위치에 저장하기 위해 스크립트에 대한 심볼릭 링크를 사용하려는 사람들에게는 불행히도 그것은 나에게 효과적이지 않았습니다.
도움이 되었기를 바랍니다!
systemd
요즘 네트워킹을 인계 한 것 같습니다.
$ networkctl
WARNING: systemd-networkd is not running, output will be incomplete.
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback n/a unmanaged
2 enp0s25 ether n/a unmanaged
3 wlo1 wlan n/a unmanaged
3 links listed.
또한 인터페이스에 해당하는 장치가 있습니다
$ systemctl list-units |grep wlo1
sys-devices-pci0000:00-0000:00:1c.3-0000:24:00.0-net-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
sys-subsystem-net-devices-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
분명히 서비스 단위 파일에서 사용할 수 있습니다. 따라서 서비스 단위를 만들어 스크립트를 실행하고 내부에서 이와 비슷한 것을 사용하여 네트워크에서 조건부로 실행되도록하십시오.
BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device
행운을 빕니다! 나는 이것을 테스트하지 않았으므로 "마일리지가 다를 수 있습니다".
출처 :
/etc/network/*.d/
변수$IFACE
를 사용하여 연결중인 인터페이스를 알 수 있으므로 유선 연결 인 경우 프로 시저를 건너 뛸 수 있습니다.