2024-04-26

network metric priority



1. 변경할 인터페이스
2. 그것의 gateway와 metric값 취득
3. 변경.(nmcli변경후 재부팅 또는 ip명령으로 기존값 제거)

nmcli con mod <con> ipv4.route-metric <new value>
ip route del default via <gateway ip> metric <old value>

nmcli con mod eth0 ipv4.route-metric 102
ip route del default via 192.168.222.1 metric 100

2024-02-15

git hash를 코드에 define 정의 로 가져오기.

execute_process(
COMMAND git describe --tags --abbrev=7 --dirty --always
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)

2024-02-05

우분투 23.10 한글 alt_r 제거방법.

필요한사람.
chagpt를 너무너무 많이 쓰는중에. 한글과 영어를 번갈아가며쓰는데,
한글다음 이응'ㅇ' 이나 'ㄹ' 을 빠르게 칠경우,
크롬의 주소창으로 이동되버리거나, 메뉴항목이 활성화되어,
내가 친 질문조합이 크롬을 종료시켜버리는 단축버튼조합이 되버릴수있음.

열띤 gpt와의 토론중에, 저런 김빠지는 상황을 수차례 만났을경우,
업무중단하고, 눈에 불을켜고 alt_r버튼기능 제거를 찾게된다.

우분투 상위버전 (22.04이상)
20.04와 다른방법을 써야한다.

/usr/share/X11/xkb/keycodes/evdev

//<RALT> = 108 주석처리.
<HNGL> = 108  값 변경.

재부팅.

ibus 에서 한글키 설정에서 키입력하면 hangul로 눌려짐.
기 설정되어 있는 ALT_R 삭제.

이상.





2024-02-01

avahi-autoipd 강제 할당.


sudo nano /etc/systemd/system/avahi-autoipd-force.service

[Unit]
Description=Force bind avahi-autoipd to link-local IP

[Service]
ExecStart=/usr/sbin/avahi-autoipd --force-bind <interface>
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

sudo systemctl enable avahi-autoipd-force


2024-01-20

Boost 1.75.0 설치

리눅스에 설치된 boost는 1.74.0 이 설치되어있고, 
log 라이브러리가 설치되어있지도 않다.
이것들을 포함하여 재빌드하여 설치해야, 보드의 환경과 동일하다.

mkdir boost
cd boost
tar xfz boost_1_75_0.tar.gz
cd boost_1_75_0/
./bootstrap.sh
./b2 --with-log
sudo ./b2 install
그냥 알아서 /usr/local/lib에 설치됨.
cmake에 알려줘야지
set(BOOST_ROOT "/usr/local/lib")

끝.

libcurl-7.75.0 설치하기.

크로스컴파일러 세트에 openssl-1.1.1o 가 설치되어있는데, 요즘은 openssl-3.0.x이다.
pc와 보드에서 동일한 소스코드로 동작이 가능하게 하기위함
1점대와 3점대는 함수가 변경됬기때문에 pc에 자동설치되어있는 3.0은 쓸수가 없다.
그리하여, 1.1.1을 추가로설치하고 cmake에게 위치를 알려줬다.
crypto 관련 함수를 쓰기시작하면서, curl 라이브러리를 libcrypto가 찾아쓰는데
libcrypo버전이 3점대인거라 충돌남.
그래서 1.1.1과 호환이 되는 보드에 설치된 libcurl-7.75.0 을 pc에도 추가설치한다.

그 방법은...
curl을 클론한다.

git clone -b curl-7_75_0 https://github.com/curl/curl.git
cd curl/
./buildconf
./configure
make -j32
sudo make install
ls /usr/local/lib

메인 CMakeLists.txt에 설치된 libcurl.so를 알려줘야한다.
set(CURL_LIBRARY "/usr/local/lib/libcurl.so") # OpenSSL이 설치된 디렉터리
find_package(CURL 7.75.0 REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})



암호화 + base64 하고 쉘스크립트.

 #!/bin/bash # IV와 UserKey를 설정합니다 (아스키 문자열을 그대로 사용). IV="0123456789abcdef"  UserKey="0123456789abcdef" # IV와 UserKey를 16...