분류 전체보기
-
가끔 터미널에서 작업을 할 때 bash 로 작성하기에는 짜증나고 python 으로 하면 금방 처리되는 경우가 있습니다. 파이썬 명령이 길어지는 경우 파일로 작성해서 터미널에서 실행하면 가장 간단한데, 가끔 파일 자체를 작성할 수 없는 경우가 있습니다. 이런 경우 터미널에서 python -c '파이썬 명령들' 로 실행을 할 수 있는데 단순 한줄짜리 명령들은 세미콜론 ; 을 사용해서 여러 명령을 입력할 수 있었는데 if else 등은 할 줄 몰라서 못했었습니다. 그냥 대충 써보면 개행이 잘못되었다든지 문법이 틀렸다든지의 오류가 발생했었습니다. 인터넷을 뒤져 찾아낸 방법은 python -c $"파이썬 명령1\n파이썬 명령2\n..." 형태로 쓰면 정상적으로 실행되는 것을 확인할 수 있었습니다. 예를 들면 if..
[python3] 터미널에서 한 줄로 if else 사용하기가끔 터미널에서 작업을 할 때 bash 로 작성하기에는 짜증나고 python 으로 하면 금방 처리되는 경우가 있습니다. 파이썬 명령이 길어지는 경우 파일로 작성해서 터미널에서 실행하면 가장 간단한데, 가끔 파일 자체를 작성할 수 없는 경우가 있습니다. 이런 경우 터미널에서 python -c '파이썬 명령들' 로 실행을 할 수 있는데 단순 한줄짜리 명령들은 세미콜론 ; 을 사용해서 여러 명령을 입력할 수 있었는데 if else 등은 할 줄 몰라서 못했었습니다. 그냥 대충 써보면 개행이 잘못되었다든지 문법이 틀렸다든지의 오류가 발생했었습니다. 인터넷을 뒤져 찾아낸 방법은 python -c $"파이썬 명령1\n파이썬 명령2\n..." 형태로 쓰면 정상적으로 실행되는 것을 확인할 수 있었습니다. 예를 들면 if..
2023.10.06 -
office365 를 회사에서 쓰면서 초반에는 별 불편함이 없었는데 연차가 늘어나니 C 드라이브 용량이 자주 부족해지는 문제가 있었습니다. 그래서 이런 저런 삽질을 통해 동작하는 방법을 정리합니다. 참고로 pop 이나 imap 은 서버에서 메일을 가져오는 옵션 등이 있기 때문에 기존 데이터 파일을 백업하고 아래 설정으로 새로 d 드라이브에 데이터 파일이 있는 상태에서 다시 데이터 파일을 읽어서 오래된 파일을 복사하는 과정이 필요합니다. 선행 작업 메일 접속 정보 저장 계정 명, 비밀 번호, 서버 이름, 포트 번호, port, 프로토콜 등... exchange 인 경우 계정 명과 비밀 번호만 기억해두면 됩니다. 기존 메일 데이터 백업 exchange 방식이 아닌 pop/imap 방식으로 서버에서 메일을 가..
[Office365][exchange 모드] 이메일 파일 위치 C 에서 D 로 변경하기office365 를 회사에서 쓰면서 초반에는 별 불편함이 없었는데 연차가 늘어나니 C 드라이브 용량이 자주 부족해지는 문제가 있었습니다. 그래서 이런 저런 삽질을 통해 동작하는 방법을 정리합니다. 참고로 pop 이나 imap 은 서버에서 메일을 가져오는 옵션 등이 있기 때문에 기존 데이터 파일을 백업하고 아래 설정으로 새로 d 드라이브에 데이터 파일이 있는 상태에서 다시 데이터 파일을 읽어서 오래된 파일을 복사하는 과정이 필요합니다. 선행 작업 메일 접속 정보 저장 계정 명, 비밀 번호, 서버 이름, 포트 번호, port, 프로토콜 등... exchange 인 경우 계정 명과 비밀 번호만 기억해두면 됩니다. 기존 메일 데이터 백업 exchange 방식이 아닌 pop/imap 방식으로 서버에서 메일을 가..
2023.10.06 -
기록용으로 남깁니다. 차에서 음악 감상용으로 쓰려고 usb disk 를 구매해서 디스크 이름을 변경하려고 했습니다. 그런데 문제가 생겼습니다. 변경이 안됩니다!! 그림과 같이 12자 이상은 기록이 안됩니다. 바꾸려고 하면 잘못된 드라이브 레이블이라는 오류가 뜹니다... 아니 지금이 어느 시대인데 아직도 디스크 이름을 11자 밖에 쓸 수 없는지 이해가 되지 않지만... 안된다니 그에 맞춰 쓸 수 밖에 없네요. FAT 파일 시스템이나 NTFS 는 모두 11자가 한계라고 합니다. 참고로 저 드라이브는 exfat 으로 포맷이 되어 있었습니다. 어떤 다른 글에는 exfat 은 더 긴 이름을 지원한다는 말이 있었지만 그 이름까지 변경되지는 않았습니다.
[Windows10] 탐색기 상의 USB 드라이브 이름(label) 최대 길이기록용으로 남깁니다. 차에서 음악 감상용으로 쓰려고 usb disk 를 구매해서 디스크 이름을 변경하려고 했습니다. 그런데 문제가 생겼습니다. 변경이 안됩니다!! 그림과 같이 12자 이상은 기록이 안됩니다. 바꾸려고 하면 잘못된 드라이브 레이블이라는 오류가 뜹니다... 아니 지금이 어느 시대인데 아직도 디스크 이름을 11자 밖에 쓸 수 없는지 이해가 되지 않지만... 안된다니 그에 맞춰 쓸 수 밖에 없네요. FAT 파일 시스템이나 NTFS 는 모두 11자가 한계라고 합니다. 참고로 저 드라이브는 exfat 으로 포맷이 되어 있었습니다. 어떤 다른 글에는 exfat 은 더 긴 이름을 지원한다는 말이 있었지만 그 이름까지 변경되지는 않았습니다.
2023.10.04 -
openwrt 에서 wget-ssl 패키지를 opkg 를 통해 설치하면 wget 도 https 주소를 처리할 수 있다고 안내하고는 있습니다. 하지만 이 wget-ssl 패키지가 64bit 라이브러리를 의존하는 것 같습니다. 32bit 배포판에서 https 주소를 wget 으로 받아보겠다고 괜히 설치하시면 멀쩡한 wget 자체도 symbol not found 오류를 뿜으며 실행되지 않습니다.. 저장소가 http 주소도 지원하면 주소에서 https 만 http 로 바꿔서 쓰면 깔끔한데 그렇지 않은 경우는 wget 이 아닌 다른 방안을 찾아야 합니다.
[openwrt] wget https 주소 안됩니다!!openwrt 에서 wget-ssl 패키지를 opkg 를 통해 설치하면 wget 도 https 주소를 처리할 수 있다고 안내하고는 있습니다. 하지만 이 wget-ssl 패키지가 64bit 라이브러리를 의존하는 것 같습니다. 32bit 배포판에서 https 주소를 wget 으로 받아보겠다고 괜히 설치하시면 멀쩡한 wget 자체도 symbol not found 오류를 뿜으며 실행되지 않습니다.. 저장소가 http 주소도 지원하면 주소에서 https 만 http 로 바꿔서 쓰면 깔끔한데 그렇지 않은 경우는 wget 이 아닌 다른 방안을 찾아야 합니다.
2023.09.27 -
원격으로 작업을 할 일이 생겼습니다. 시간이 좀 걸리는 파이썬 패키지 설치 작업이었습니다. 이를 여러 장비에다 설치하려고 하는데 기존 코드는 장비 하나하나 일일이 접속해서 패키지도 하나하나 다 설치 완료 해야 다음 항목으로 넘어갈 수 있었습니다. 각 장비에서 소요되는 시간은 3분이 채 안되는데 전체 장비가 400여대 가까이 되니 1200분... 즉 20시간이 소요되는 겁니다... 이를 줄여보고자 며칠 째 집에도 제 때 못들어가고 작업하다가 대충 동작하는 코드를 완성해서 그 일부를 공유합니다. connect 인자는 대충 아실겁니다. known_hosts=None 은 등록되지 않은 장비에 접속할 때 known_hosts 에 등록할 것인지 물어보게 되는데 (ssh 명령으로는 -o StrictHostKeyChe..
[python3] asyncssh + nohup command원격으로 작업을 할 일이 생겼습니다. 시간이 좀 걸리는 파이썬 패키지 설치 작업이었습니다. 이를 여러 장비에다 설치하려고 하는데 기존 코드는 장비 하나하나 일일이 접속해서 패키지도 하나하나 다 설치 완료 해야 다음 항목으로 넘어갈 수 있었습니다. 각 장비에서 소요되는 시간은 3분이 채 안되는데 전체 장비가 400여대 가까이 되니 1200분... 즉 20시간이 소요되는 겁니다... 이를 줄여보고자 며칠 째 집에도 제 때 못들어가고 작업하다가 대충 동작하는 코드를 완성해서 그 일부를 공유합니다. connect 인자는 대충 아실겁니다. known_hosts=None 은 등록되지 않은 장비에 접속할 때 known_hosts 에 등록할 것인지 물어보게 되는데 (ssh 명령으로는 -o StrictHostKeyChe..
2023.09.22 -
제목과 같은 오류가 발생했을 때 chatgpt 따위는 도움을 주지 않습니다... python3 -m pip install -U pyopenssl 이 명령으로 마음의 평화를 찾았습니다.
[python3] AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'제목과 같은 오류가 발생했을 때 chatgpt 따위는 도움을 주지 않습니다... python3 -m pip install -U pyopenssl 이 명령으로 마음의 평화를 찾았습니다.
2023.09.19 -
기존에 wifi 를 사용하지 않을 목적으로 rfkill 활성화 했다면 다음 명령으로 wifi 를 활성화 할 수 있습니다. 당연히 아래 명령에서 접속할공유기의ssid 는 본인 공유기의 ssid 로 바꿔야 합니다. 예를 들면 iptime 같은거요. sudo rfkill unblock all sudo bash -c 'wpa_passphrase "접속할공유기의ssid" >> /etc/wpa_supplicant/wpa_supplicant.conf' wpa-cli -i wlan0 reconfigure 아래는 위 내용과 같은 데 한줄로 붙여넣어 실행하기 쉽게 만든 명령입니다. sudo rfkill unblock all; sudo bash -c 'wpa_passphrase "접속할공유기의ssid" >> /etc/wpa..
[raspberrypi 4b] wifi 비번 설정 및 활성화 하기기존에 wifi 를 사용하지 않을 목적으로 rfkill 활성화 했다면 다음 명령으로 wifi 를 활성화 할 수 있습니다. 당연히 아래 명령에서 접속할공유기의ssid 는 본인 공유기의 ssid 로 바꿔야 합니다. 예를 들면 iptime 같은거요. sudo rfkill unblock all sudo bash -c 'wpa_passphrase "접속할공유기의ssid" >> /etc/wpa_supplicant/wpa_supplicant.conf' wpa-cli -i wlan0 reconfigure 아래는 위 내용과 같은 데 한줄로 붙여넣어 실행하기 쉽게 만든 명령입니다. sudo rfkill unblock all; sudo bash -c 'wpa_passphrase "접속할공유기의ssid" >> /etc/wpa..
2023.09.06 -
라즈베리파이(4B 기준)에서 장치마다의 고유값인 시리얼 번호를 얻을 수 있습니다. /sys 에 접근하는 방법과 /proc 에 접근하는 방법이 있습니다. cat /sys/firmware/devicetree/base/serial-number grep Serial /proc/cpuinfo | awk -F'[: ]' '{print $3}' grep Serial /proc/cpuinfo | cut -d ' ' -f 2 저는 그동안 2번을 써왔는데 ssh 로 원격 명령 내리려다 보니 따옴표 처리, 특수문자 $ 처리 등 신경 써야할 게 많았습니다. 예를 들면 다음과 같이 명령을 내려야 합니다. ssh user@pi_address "grep Serial /proc/cpuinfo | awk -F'[: ]' '{print..
[raspberry pi] 4B 기준 시리얼 번호 얻기라즈베리파이(4B 기준)에서 장치마다의 고유값인 시리얼 번호를 얻을 수 있습니다. /sys 에 접근하는 방법과 /proc 에 접근하는 방법이 있습니다. cat /sys/firmware/devicetree/base/serial-number grep Serial /proc/cpuinfo | awk -F'[: ]' '{print $3}' grep Serial /proc/cpuinfo | cut -d ' ' -f 2 저는 그동안 2번을 써왔는데 ssh 로 원격 명령 내리려다 보니 따옴표 처리, 특수문자 $ 처리 등 신경 써야할 게 많았습니다. 예를 들면 다음과 같이 명령을 내려야 합니다. ssh user@pi_address "grep Serial /proc/cpuinfo | awk -F'[: ]' '{print..
2023.07.25