Linux 154

[Linux] apt/dpkg - 패키지 설치 이력 확인

개요 apt install 명령어를 이용해 기존에 설치되어 있던 패키지를 업그레이드 버전으로 설치했다. 그리고 그대로 패키지가 동작하지 않았다……. 업그레이드했던 패키지를 기존에 설치되어 있던 버전으로 돌리고 싶은데, 생각해보니 기존 버전을 확인하지 않았다……. 이런 경우에는 어떻게 해야할까? apt history.log apt, apt-get을 이용한 모든 작업은 /var/log/apt/ 아래의 로그 파일에 기록된다. 그 중 설치 이력에 대한 로그는 history.log에 저장된다. 로그 파일을 열어보면, 명령어를 실행한 시점과 실행한 명령어, 그리고 명령어로 인해 삭제되거나 업그레이드/다운그레이드된 패키지와 그 버전을 확인할 수 있다. dpkg.log apt history.log는 gdebi와 같은 ..

Linux 2022.12.04

[Linux] rsyslog을 이용한 history 내역 남기기

개요 bash shell은 명령어 히스토리 기능을 이용해 사용했던 명령어 이력을 보여준다. 이 기능은 사용자 홈 디렉터리의 .bash_history 파일에 기록되기 때문에, 여러 사람이 사용하는 서버인 경우에는 중앙에서 관리하기가 쉽지 않다. 따라서 syslog에 명령어를 남김으로써 명령어 이력을 중앙에 저장해두는 것이 서버를 관리하기에 좋을 수 있다. logger를 이용해 history를 syslog에 남겨보도록 하자. rsyslog IP 네트워크에서 로그 메시지를 전달하기 위해 UNIX 및 Unix 계열 컴퓨터에서 사용하는 오픈 소스 기본적인 syslog 프로토콜을 구현하고, 필터링 기능, 오프라인 출력 대기 작업, TCP를 사용한 전송 등의 기능이 추가되었다. rsyslog 관련 설정 파일은 다음과..

Linux 2022.12.01

[Linux] wait - 프로세스 종료 대기

wait 실행한 프로세스가 종료할 때까지 대기하는 명령어이다. 여러 작업을 동시에 실행할 때 모든 작업이 종료되기를 기다리거나, 특정 작업이 종료되는 것을 기다릴 때 사용한다. 백그라운드 작업 종료 대기 아래의 경우 command1, command2, command3이 모두 종료될 때까지 기다린 후, 모든 명령어가 실행이 종료되면 command4를 실행한다. command1 & command2 & command3 & wait command4 특정 프로세스 종료 대기 특정 프로세스가 종료되기를 기다리고 싶다면 프로세스 ID(pid)를 전달하면 된다. wait pid # 예시 wait 100 내 경우에는, 특정 스크립트를 크론탭으로 주기적으로 실행하되 스크립트가 실행 중임을 나타내는 doing 파일이 있으면..

Linux 2022.11.17

[awk] 사용 예시

개요 2022.09.10 - [awk] 개념에서 awk 명령어에 대한 내용을 정리했다. 이 글에서는 사용했던 예시를 정리한다. 연산 결과 출력 mpstat | tail -1 | awk '{print 100-$NF}' 참고 : 2021.05.17 - 리소스(CPU/MEM) 확인 필드 값과 문자열을 붙여 출력 free | grep ^Mem | awk '{printf "actual_usage=%s, total=%s, actual_usage_ratio=%.2f%% \n", $3, $2, $3*100/$2}' 참고 : 2021.06.12 - [CentOS 7] 메모리 사용률 계산 특정 필드의 합 연산 find ./* -type f | xargs ls -l | awk '{ result += $5 } END { pr..

Linux 2022.11.16

[Linux] dummyfile 생성

dummyfile 내용 없이 공간만 차지하는 파일. 프로그램이나 디스크의 성능 등을 테스트하기 위해 생성하는 경우가 많다. 이 글에서는 Linux에서 dd 명령으로 dummyfile을 생성해본다. dd 파일을 복사하고 변환하는 명령어 dd [OPERAND]... # if=FILE : 표준 입력 대신 읽을 FILE # of=FILE : 표준 출력 대신 쓸 FILE # bs=BYTES : 한 번에 읽고 쓰는 바이트 수 # count=N : 복사할 입력 블록 수 💡 BYTES 지정 시 다음과 같은 기호가 올 수 있다. c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024, xM=M, GB=1000*1000*1000, G=1024*1024*1024 등 dum..

Linux 2022.11.03

[Ubuntu] You () are not allowed to use this program (crontab) - 2

현상 Ubuntu에서 일반 사용자로 crontab 설정을 등록하려고 했더니 권한 문제로 설정이 되지 않았다. cron.allow 설정이 존재하는지, 내용은 어떤지 확인해보았더니 아래와 같이 이미 crontab을 설정할 사용자가 등록되어 있었다. 정확하게 아는 건 아니지만 파일의 읽기 권한이 충분하지 않아서 발생하는 현상인 것 같다. 아래의 두 가지 방법 중 원하는 방법으로 설정하면 될 것 같다. 해결 방법 1. 다른 계정이 /etc/cron.allow 파일을 읽을 수 있도록 설정한다. chmod 644 /etc/cron.allow # 또는 chmod o+r /etc/cron.allow 2. /etc/cron.allow 파일의 그룹 소유자를 crontab으로 설정한다. chown root:crontab /..

Linux 2022.10.29

[nohup] python 프로세스 백그라운드 실행

개요 보통 Linux에서는 명령어 뒤에 &를 붙여 프로세스를 백그라운드로 실행할 수 있다. python test.py & 하지만 이러한 실행법은 쉘이나 터미널이 끊기면 프로세스도 함께 중단되는 문제가 있다. nohup nohup은 no hangup의 줄임말로 프로세스 중단이 없다는 의미의 명령어이다. 쉘을 데몬형태롤 실행시켜 세션이 끊겨도 백그라운드 프로세스가 중단되지 않고 유지된다. nohup & # 예시 nohup python test.py & nohup.out 기본적으로 nohup 실행 결과는 nohup.out 이라는 파일로 저장된다. 다만 실시간으로 실행 로그가 출력되지는 않는다. 실시간으로 로그를 출력할 때는 python 실행 시 -u 옵션과 함께 실행한다. nohup python -u test..

Linux 2022.10.26

[Vim] 붙여넣기 시 자동 들여쓰기(계단) 현상 방지

개요 Vim(vi) 편집기로 소스 코드 등을 복사하여 붙여 넣을 때 들여 쓰기로 인해 개행, code format이 엉망이 되는 경우가 존재한다. 예시 ) release repository Release Repository http://myhost/content/repositories/releases/ true 들여쓰기가 블록을 결정하는 언어인 경우에는 포맷을 맞추기 골치 아픈데, 간단하게 해결할 수 있는 방법을 적어둔다. 현재 모드 확인 :set 명령을 통해 현재 vim의 모드를 확인할 수 있다. :set 붙여넣기 모드 활성화 계단 현상이 발생할 때, set paste 명령으로 붙여 넣기 모드를 활성화한 후 코드를 붙여 넣으면 들여 쓰기 원본 형식을 유지하면서 소스를 붙여 넣을 수 있다. :set pa..

Linux 2022.10.18

[ZABBIX] 알림 보내기

개요 2022.10.13 - [ZABBIX] 설치 및 실행 2022.10.14 - [ZABBIX] Ms Teams 알림 설정 위 글을 통해 Zabbix 설치 및 MS Teams 연동 설정까지 해보았다. 이번에는 Admin 사용자가 MS Teams를 통해 알림을 받을 수 있도록 설정해보려고 한다. Action 설정 왼쪽 메뉴바 Configurations > Actions > Trigger actions로 접근한 뒤, Report problems to Zabbix administrators의 상태를 Enabled 상태로 변경해준다. 사용자 메시지 전송 방법 설정 왼쪽 메뉴바 Administration > Users에서 Admin 계정을 선택한다. Media 탭으로 접근한 뒤 Add 버튼을 클릭해, MS Te..

Linux 2022.10.15

[ZABBIX] Ms Teams 알림 설정

개요 2022.10.13 - [ZABBIX] 설치 및 실행에서 Zabbix 설치까지 해봤는데, 모니터링 알람을 받기 위해 Ms Teams와 연동해보려고 한다. 알람을 수신할 채널의 Webhook URL을 생성해야 하는데, Zabbix Webhook 커넥터 또는 Incoming Webhook 커넥터를 이용할 수 있다. 이 글에서는 Incoming Webhook 커넥터를 구성하여 사용할 것이다. MS Teams에 Webhook 구성 Webhook 구성 방법은 접은 글로 작성해둔다. 더보기 알람을 수신받을 채널의 메뉴에서 커넥터를 클릭한다. 사용할 수 있는 커넥터 목록 중 Incoming Webhook 구성을 클릭한다. 커넥터 이름을 지정하고 만들기를 클릭한다. 만들어진 Webhook URL을 잘 복사해두고 ..

Linux 2022.10.14
1 2 3 4 5 6 7 ··· 16