Linux 154

[shutdown/reboot/init] 시스템 재부팅

서버 이상으로 재부팅이 필요한 상황이다. 물리 하드웨어 재부팅이 불가능한 상황이라 콘솔 상에서 재부팅 명령을 실행하고자 한다. 이 글에서는 재부팅 시도 시 사용할 수 있는 명령어를 정리한다. 수행에는 root 권한이 필요하다. shutdown -r 옵션과 재부팅 수행 시점을 지정해야 한다. -f 옵션 사용 시 시스템 종료에 해당하므로 물리적으로 시스템을 기동시켜야 한다. # 지금 재부팅 shutdown -r now # 전달 받은 시간(분) 이후 재부팅 shutdown -r shutdown -r 15 # 지정 시간에 재부팅 shutdown -r hh:mm shutdown -r 18:45 동작 순서 1. 실행 중인 모든 프로세스 kill (SIGKILL) 2. File System unmount 3. Ker..

Linux 2022.02.02

[Disk] /(루트 디렉터리) 용량 부족 시 확인할 만한 부분

/는 리눅스 시스템의 최상위 디렉터리로, 디렉터리 구조의 시작이 된다. 디렉터리 내에는 /bin, /etc, /boot, /mnt, /lib, /home, /dev, /proc, /var, /sbin, /tmp, /root, /lost+found 등의 디렉터리가 존재하며, 시스템과 관련된 파일들이 모여있다. 그렇지 않은 경우도 있겠지만, 보통 시스템 파일의 변경 최소화, 권한 문제 등의 시스템 관리 목적으로 별도의 디스크를 마운트 하여 데이터를 저장하거나 애플리케이션을 설치하게 될 것이다. 그러면 주로 / 영역 외의 디스크를 주로 사용하게 될 텐데, / 영역에서 딱히 뭔가를 하지 않아도 어느새 용량을 차지하고 있는 모습을 발견할 수 있을 것이다. 이 글에서는 / 영역의 디스크 용량이 가득 찬 경우 정리할..

Linux 2022.01.02

[scp] 원격지 업로드 시 No such file or directory

로컬 서버에서 다른 원격 서버로 파일을 복사하려고 했더니, 아래와 같이 No such file or directory 에러가 발생했다. No such file or directory 메시지가 발생하는 원인은 여러 가지가 있지만 여기에서는 원격지에 /home/test_user/python_mail이라는 디렉터리가 없어서 발생했다. 즉, 원격지에 /home/test_user/scp_test/python_mail이라는 경로의 디렉터리를 생성해주면 해결된다. 다만 이 글에서는 자동화 등의 이유로 다른 세션으로 원격지에 직접 접속하지 않고 sshpass를 이용해서 이 문제를 해결하고자 한다. sshpass를 이용하므로 원격지에서 사용할 계정 정보를 가지고 있어야 하며, ssh 접속을 허용하고 있어야 한다. 해결 ..

Linux 2021.12.31

[sshpass] 비대화형으로 ssh 실행

sshpass noninteractive ssh password provider 키보드 대화형 비밀번호 인증을 사용하는 ssh 명령어를 비 대화형 방식으로 사용할 수 있도록 하는 유틸리티 SSH는 direct TTY access를 사용해 대화형 키보드 사용자가 실제로 암호를 발급하는지 확인하는데, sshpass는 전용 TTY에서 SSH를 실행하여 대화형 사용자로부터 암호를 입력받는 것처럼 SSH를 속인다. TTY TeleTYpe, TeleTYpewriter 리눅스 드라이브 중 콘솔 또는 터미널을 의미하며, 리눅스 tty 명령어는 표준 입력에 연결된 터미널의 파일명을 출력한다. 참고 ) 리눅스는 모든 장치를 파일로 인식한다. 즉, sshpass를 이용하면 ssh 연결 시 파라미터 또는 파일로 전달받은 암호..

Linux 2021.12.29

[cp] omitting directory 해결

현상 cp 명령어로 특정 디렉터리를 통으로 복사하려고 하자, 아래와 같이 omitting directory 에러가 발생했다. 원인 기본적으로 cp 명령은 디렉터리 내의 하위 디렉터리가 아닌 파일만을 복사한다. 해당 메세지는 지정한 디렉터리가 복사되지 않았음을 뜻하는 경고 메세지다. 해결 방법 cp 명령 사용 시 -r 또는 --recursive 옵션을 지정한다. cp -r /ORIGIN/DIRECTORY/PATH /DEST/DIRECTORY/PATH

Linux 2021.12.26

[sysctl] Kernel 설정 변경

sysctl 버전 번호나 보안 설정 같은 시스템 커널의 속성들을 읽고 수정하는 유닉스 계열 운영 체제의 기능이다. 커널 매개변수는 /proc/sys 경로 아래에 존재한다. 이 글에서는 sysctl 사용방법을 정리해둔다. 시스템 설정 변경이므로 root 권한이 필요하며, 튜닝 시 시스템이 crash 될 위험이 있으므로 사용에 주의한다. 현재 설정값 확인 모든 값 확인 sysctl -a # -a : --all. 모든 변수 표시 특정 값만 확인 sysctl -n # 예시 sysctl -n vm.overcommit_memory 설정값 변경 - 휘발성 sysctl 명령 또는 /proc/sys 아래 설정 파일을 직접 수정할 수 있다. 휘발성이기 때문에 부팅 이후에는 초기화된다. sysctl -w 사용 sysctl ..

Linux 2021.12.15

[PS1] Prompt 표시 형식 변경

프롬프트; prompt 컴퓨터 터미널 또는 터미널 에뮬레이터의 CLI(커맨드 라인 인터페이스)의 명령줄 대기모드 현재 테스트 목적으로 사용하는 서버는 프롬프트를 아래 사진처럼 Username@Hostname 형식으로 표시한다. AWS EC2는 기본적으로 호스트네임을 IP에 기반해 생성하는데, 서버가 많은 경우에는 IP 주소 기반 호스트네임을 표시하는 것보다 인스턴스명이나 별도 별칭을 표시하는 게 가독성이 좋다. 이 글에서는 이 프롬프트 설정을 수정하는 방법을 정리한다. 서버 설정인 hostname은 수정하지 않을 것이다. PS1 프롬프트 형식은 PS1이라는 이름의 환경 변수 값에서 표현된다. 현재 설정 확인 # 현재 적용된 환경 변수 출력 env env | grep PS1 # 또는 echo $PS1 기호..

Linux 2021.12.10

[ln] Python 심볼릭 링크 설정

CentOS 7에서는 기본적으로 python2를 사용하도록 설정되어 있다. ……물론 아닐 수도 있다. 이 글에서는 python3을 주로 사용한다는 가정하에 python 명령어를 사용하면 python2가 아니라 python3을 실행할 수 있도록 설정하는 방법을 정리하고자 한다. Symbolic Link를 설정하고 관리하는 방법은 update-alternatives도 존재하지만, 이 글에서는 ln 명령을 이용해 설정하려고 한다. 시스템 설정 변경이 필요하므로 root 권한이 필요하다. python 환경이 변경될 수 있기 때문에 실행에는 주의가 필요하다. 1. Python 실행 위치 확인 which python 2. /usr/bin/python이 가리키는 파이썬 버전 확인 필요 시 기존 설정을 원복할 수 있도..

Linux 2021.12.06

[Ubuntu 20.04] rc.local 활성화

2021.09.07 - rc.local - 부팅 시 실행 스크립트에서는 rc.local의 간단한 소개 및 각 OS에서의 활성화 방법이 나와있는 링크를 적어두었다. 이 글에서는 rc.local 활성화 방법을 직접 정리해두려고 한다. 기준 OS는 Ubuntu 20.04 LTS이다. 방법 시스템 설정이 필요하므로 sudo 권한을 요구한다. 1. rc-local 서비스 확인 현재 rc-local이 활성화되어있지는 않는지 먼저 확인한다. systemctl status rc-local.service [~]: systemctl status rc-local.service ��� rc-local.service - /etc/rc.local Compatibility Loaded: loaded (/lib/systemd/sys..

Linux 2021.12.01

[Ubuntu 20.04 LTS] Swap 설정 활성화 및 삭제

SWAP 리눅스에서 물리적 메모리(RAM)의 용량이 가득 차는 경우 사용하는 여유 공간으로, 당장 필요하지 않은 프로그램의 데이터를 하드 디스크의 옮겨두는 방식으로 메모리 공간을 확보한다. 하드 디스크의 일부 공간을 메모리처럼 사용할 수 있지만, RAM보다 속도가 느리다. 이 글에서는 swap을 설정하고, 삭제하는 방법에 대해 정리한다. 버전을 크게 타지는 않는 것 같지만, Ubuntu 20.04를 기준으로 정리했음을 밝힌다. SWAP 확인 아래의 명령어 중 하나로, 기존에 swap 설정이 있는지 확인한다. free -h swapon -s # -s : --summary. 장치 별 swap 사용량을 요약하여 표시 swapon --show 이 서버에는 swap 설정을 해두지 않아, 용량이 free 명령에서 ..

Linux 2021.11.26