본문 바로가기
리눅스

No-IP Selenium-manager

by 다움위키 2025. 3. 14.

원문 보기: https://dawoum.duckdns.org/wiki/No-IP/Selenium-manager

 

Noip.com에서 제공하는 동적 DNS 서비스를 이용하기 위해, 매월 Renew 의사를 밝혀야 합니다. 이것은 상당히 귀찮은 작업임에도 불구하고 시기를 놓치면, 1달 동안 해당 이름을 사용할 수 없습니다.

예를 들어, dawoum.ddns.net은 noip에서 제공하는 동적 DNS 서비스를 사용하는 이름이기 때문에, 시기를 놓이면 해당 이름으로 접속이 불가능하게 될 것입니다.

이런 일을 방지하기 위해, 정해진 시간에 자동으로 Renew 작업을 수행하도록 설정하는 것이 No-IP/Auto-renew의 핵심 과정입니다.

한편, 이를 위해 python3-selenium 프로그램이 필요한데, 문제는 4.18 이후로, selenium-manager 바이너리 파일을 제외하고 패키지가 제공된다는 것입니다.

따라서, Auto-renew를 위해, selenium-manager 바이너리를 정해진 위치에 설치해야 합니다.

Debian packaging

우선, 소스를 가져옵니다.

현재 시스템에 설치된 selenium 버전을 확인합니다:

  • dpkg -l |grep python3-selenium

위에서 확인된 정보로부터, 소스 파일을 가져옵니다.

버전이 다를 때 작동하는지 확인하지 않았고, 정확한 버전을 찾을 수 없을 때에는 가장 비슷한 버전을 다운로드하십시오. 예를 들어, 시스템 4.24.4 버전이 설치되어 있을 때, 4.24.0 버전을 받을 수 있습니다.

이제 파일을 풀고 컴파일을 시도합니다:

  • tar xvf selenium-selenium-4.24.0.tar.gz
  • cd selenium-selenium-4.24.0/rust

아래와 같은 selenium-manager.install 스크립트 파일을 만듭니다:

#!/bin/bash

pkgname=selenium-manager
pkgdir=selenium-manager_4.24.0-1_amd64

build() {
  cargo build --release --all-features
}

package() {
  install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/$pkgname"
  install -d "$pkgdir/usr/lib/python3/dist-packages/selenium/webdriver/common/linux"
  ln -sf "/usr/bin/$pkgname" "$pkgdir/usr/lib/python3/dist-packages/selenium/webdriver/common/linux"
}

build
package

mkdir -p "$pkgdir"/DEBIAN

스크립트를 실행하고, 데비안 패키지로 묶습니다. (이때, 컴파일 오류가 발생할 수 있고, 메시지로 보고 처리하십시오)

  • bash selenium-manager.install
  • gvim selenium-manager_4.24.0-1_amd64/DEBIAN/control
  • dpkg-deb --build --root-owner-group selenium-manager_4.24.0-1_amd64
  • sudo dpkg -i selenium-manager_4.24.0-1_amd64.deb

이제 실행해 보십시오: