2023년 6월 26일 월요일

씽크패드, 우분투 그리고 배터리

전원 관리

$ sudo add-apt-repository ppa:linrunner/tlp
$ sudo apt update
$ sudo apt install tlp tlp-rdw

커널 버전이 5.17 보다 작고 thinkpad 이면 추가 패키지 설치
ThinkPads only: External Kernel Modules


충전 임계값 

위도우즈 쪽의 프로그램에서는 기본 값이 75, 80 이었기에 같은 값으로 설정했다.

$ echo 75 | sudo tee /sys/class/power_supply/BAT0/charge_control_start_threshold
$ echo 80 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
# 충전 케이블을 뽑고 75% 이하로 떨어지면 다시 꼽는다.


2023년 6월 15일 목요일

MS 윈도우에서 x-server 사용하기

MS 윈도우에서 x-server  툴들이 몇가지 있는데,
WSL2 에서 ubuntu 를  돌리면 x-server 를 사용할 수 있다는걸 처음 알았다.
ubuntu니까 당연할 수도 있겠지만 WSL2 라서 GUI 기능은 없다고 생각했다.

ubuntu 에 깔려 있는 x 와 관련 있어 보이는 패키지는 다음과 같다.
x11-common
x11-utils
xauth
xdg-user-dirs
xkb-data
ubuntu 쪽에서 뭔가 하는것 같지는 않다.

리모트 서버에서 eog 등을 띄우고 윈도우의 작업관리자를 보면 다음과 같은 그룹이 생긴다.
('* 숫자' 는 같은 이름의 프로세스 개수이다.)

Linux용 Windows 하위 시스템(18)
    COM Surrogate * 2
    Remote Desktop
    Windows Subsystem for Linux * 10
    Windows Subsystem for Linux Service
    콘솔 창 호스트 * 4

눈에 띄는게 Remote Desktop(msrdc.exe) 로 WSL 설치 디렉토리에 있다.

msrdc 는 mstsc 의 후속작(?)으로 Azure Virtual Desktop 의 rdp 클라이언트라고 한다.
ssh 연결할 때 -X 옵션을 주거나 ~/.ssh/config 에서 ForwardX11 yes 를 추가하면
리모트의 x 프로그램을 쓸 수 있다.

이제 다른 x-server 툴들은 지워도 될 것 같다.



2023년 6월 11일 일요일

osmc 에 pihole(광고차단) 설치하기

요즘 웹사이트의 광고 내용이 너무 심하다는 생각이 들어 광고 차단 프로그램을 설치했다.


환경

공유기: ipTIME A8004ITL

라즈베리파이 4: OSMC 2023.06-1

광고 차단 프로그램: Pi-Hole 


OSMC 설치

Disney Plus + OSMC + 라즈베리파이 4 에서 OSMC 설치부분만 따라한다. 이미지는 항상 최신.


도커 설치

찾아보니 pihole 의 도커 이미지가 있길래 도커 이미지를 사용한다.
도커가 아니고 직접 설치하려면 참고의 사이트를 보고 한다.

도커는 패키지로 설치한다. (같은 페이지에 다른 방법도 있으니 참고한다.)
https://docs.docker.com/engine/install/debian/#install-from-a-package

각 패키지 별로 최신 버전을 다운 받아 설치한다.

$ wget https://download.docker.com/linux/debian/dists/bullseye/pool/stable/armhf/containerd.io_1.6.21-1_armhf.deb
$ wget https://download.docker.com/linux/debian/dists/bullseye/pool/stable/armhf/docker-ce_24.0.2-1~debian.11~bullseye_armhf.deb
$ wget https://download.docker.com/linux/debian/dists/bullseye/pool/stable/armhf/docker-ce-cli_24.0.2-1~debian.11~bullseye_armhf.deb
$ wget https://download.docker.com/linux/debian/dists/bullseye/pool/stable/armhf/docker-compose-plugin_2.18.1-1~debian.11~bullseye_armhf.deb
$ sudo dpkg -i *.deb
$ sudo usermod -aG docker $USER
# 재로그인


Pi-hole 설치

설치는 https://hub.docker.com/r/pihole/pihole 를 따라 docker-compose.yml 파일만 생성하면 된다.

필요 없어 보이는 부분은 삭제하고 포트 등은 수정했다. 윈래 내용은 위 페이지를 참고한다.

$ mkdir ~/pihole
$ cd ~/pihole
$ cat << EOF > docker-compose.yml
version: "3"
services:
  pihole:
    container_name: pihole
    image: pihole/pihole
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "8080:80/tcp"
    environment:
      TZ: "Asia/Seoul"
# WEBPASSWORD: 'set a secure password here or it will be random' volumes: - "./etc/pihole:/etc/pihole"
- "./etc/dnsmasq.d:/etc/dnsmasq.d"
restart: unless-stopped EOF $ docker compose up -d


문제 해결 1.

53 번 포트가 이미 사용 중이라고 나온다.
확인해보니 connman 서비스가 사용 중이다.

$ sudo netstat -ntpl | grep 53

connman 은 네트워크 연결을 관리해주는 서비스라 없애긴 그렇고 dns 프록시 기능만 끄도록 한다.

$ sudo sed -i 's/dnsproxy=yes/dnsproxy=no/' /etc/connman.prefs
$ sudo systemctl restart connman
$ docker restart pihole


일단 Pi-Hole 의 dns 동작확인
OSMC 를 대상으로 다음과 같이 표시되면 문제 없다. ({} 부분은 각자에 맞게 치환)

$ nslookup www.google.com {OSMC IP 주소}
Server:		{OSMC IP 주소}
Address:	{OSMC IP 주소}#53

Non-authoritative answer:
Name:	www.google.com
Address: 172.217.161.228
Name:	www.google.com
Address: 2404:6800:400a:80b::2004

Pi-Hole 웹 로그인

http://{OSMC IP 주소}:8080/admin

암호 확인

$ docker compose logs pihole | grep
# 암호를 잊어버렸을 때는 docker-compose.yml 에 WEBPASSWORD 를 설정
# 또는 새로 생성
$ docker compose exec pihole pihole -a -p


여기부턴 잘못 설정하면 집안 전체의 인터넷이 안될 수도 있다.
바꾸기 전의 값을 잘 기록해 뒀다가 문제가 생기면 되돌리던가,
강제 리셋 시키는 방법을 알아 두는게 좋다.


Pi-Hole 설정

기본적으로는 아무 것도 안해도 동작한다.

DNS 서버가 기본으로 google 로 되어 있는데 이걸 KT 로 바꿔 줬다.
http://{OSMC IP 주소}:8080/admin/settings.php?tab=dns

Google 쪽 체크는 없애고 커스텀 쪽에 값을 추가했다. KT 의 주소는 공유기에서 복사.

Custom 1 (IPv4)    Custom 1 (IPv4)
[v]                [v]
[168.126.63.1]     [168.126.63.2]


공유기의 DNS 설정 변경

공유기 관리 페이지 > 고급 설정 > 네트워크 관리 > 인터넷 설정 정보 > 다음 설정 > 설정 버튼 클릭
[v] DNS 주소 수동 입력 에 체크

기본 DNS 주소	[].[].[].[]  <= {OSMC IP 주소}
보조 DNS 주소	[].[].[].[]  <= 비워둔다


참고로 OSMC 는 서버로 동작하기 때문에 늘 IP 가 같아야 한다.
고정 IP 로 설정하거나 공유기의 DHCP 서버 설정에서 수동 주소를 설정한다.


블랙리스트 추가

https://yorublog.tistory.com/16 에서 Tip 광고가 나오나요? 부분을 따라 추가한다.

광고를 오른 클릭 > 링크 주소 복사 > https://이 사이 부분만 복사/...

http://{OSMC IP 주소}:8080/admin/groups-domains.php 에서 다음 부분에 복사해 넣고 Add to Blacklist 버튼 추가

Domain:
[aaa.bbb.ccc.com]


문제 해결 2.

이게 문제인지는 잘 모르겠다. 블랙리스트를 추가해도 광고가 떴다.
어디선가 설정하고 몇 분 있어야 동작한다고 했던 것 같긴한데 다음 동작을 했다.

http://192.168.192.123:8081/admin/gravity.php 에서 Update 클릭

시간이 지나서 된 건지 블록리스트를 업데이트해서 된 건지는 확실치 않다. 

PS. 몇 개 더 해보니 시간이 걸리는게 맞는 것 같다.


보조 DNS 설정 추가

OSMC 는 항상 켜두기는 하는데 혹시 동작이 안되 집안의 인터넷이 안되는
사태가 발생하면 안될 것 같아 보조 DNS 는 원래 값으로 설정해 뒀다.

공유기 관리 페이지 > 고급 설정 > 네트워크 관리 > 인터넷 설정 정보 > 다음 설정 > 설정 버튼 클릭
[v] DNS 주소 수동 입력 에 체크

기본 DNS 주소	[].[].[].[]           <= {OSMC IP 주소}
보조 DNS 주소	[168].[126].[63].[1]  <= 기존의 기본 DNS 주소


참고

  • https://yorublog.tistory.com/16
  • https://github.com/pi-hole/pi-hole/#one-step-automated-install
  • https://docs.docker.com/engine/install/debian/#install-from-a-package
  • https://www.techkhoji.com/pi-hole-blocking-not-working-fix/