Linux 159

[PuTTy] 한글 깨짐 (Character Set 설정 변경)

PuTTy를 이용해 Linux 서버를 이용하다보면 한글이 깨져서 출력되는 경우가 제법 있다. 이는 서버의 지역/언어 설정에 따른 입출력 인코딩과 PuTTy가 사용하는 인코딩이 달라서 발생하는 현상이다. 이 글에서는 PuTTy 설정을 변경하는 방법을 정리해둔다. 서버의 지역/언어 설정 확인 locale 인코딩이 UTF-8로 되어 있는 것을 확인할 수 있다. PuTTy Character Set 설정 변경 1. PuTTy를 실행시킨 후, 설정을 변경할 세션을 로드한다. 2. 왼편의 분류 > 창 > 변환 메뉴로 접근한 후, 수신 데이터의 문자셋을 원하는 인코딩으로 변경한다. 이 글에서는 위에서 확인한 UTF-8로 변경할 것이다. 3. 왼편의 분류 > 세션으로 접근하여, 설정을 반영할 세션을 클릭한 뒤 저장 버튼..

Linux 2022.02.15

[Ubuntu] 패키지 버전 지정 설치

기본적으로 패키지 관리자는 저장소 내에 최신판으로 패키지를 설치한다. 하지만 설치할 패키지 버전을 지정할 수도 있다. apt-cache update 명령을 통해 가져온 패키지 메타 데이터에서 유용한 정보를 검색하고 생성한다. 패키지의 가용성, 버전 번호, 종속석을 검색할 수 있다. 관련하여 살펴보기 전에 일단 저장소부터 업데이트한다. 저장소 업데이트 apt update 패키지 설치 시 설치 버전 확인 지정된 패키지의 설치 여부와 설치 시 어떤 저장소에서의 버전이 사용 가능한지, 그리고 그 우선순위를 보여준다. apt-cache policy # 예시 apt-cache policy apache2 기본적으로 설치된 패키지 버전의 우선순위는 100이며, 설치되지 않은 패키지의 우선순위는 500이다. 사용 가능한..

Linux 2022.02.12

[Linux] tmux - 설치/실행/Pane 추가

tmux (terminal multiplexer) 사용자가 단일 단말기 창 또는 원격 터미널 세션 안에서 여러 별도의 터미널 세션에 액세스 할 수 있도록 가상 콘솔을 다중화하는 데 사용한다. tmux는 많은 가상 터미널을 window와 session 단위로 관리한다. tmux server는 session을 관리하며, tmux client는 tmux server와의 socket 통신을 통해 가상 터미널을 사용자가 원하는 대로 보여준다. 이 글에서는 tmux를 이용한 화면 분할(?) 정도만 간단하게 정리해두려고 한다. 개념 Session : tmux가 관리하는 가장 큰 실행 단위. 세션에 attach, detach할 수 있으며 detach 한 세션은 종료되지 않고 백그라운드에서 계속 실행된다. 세션은 여러 ..

Linux 2022.02.11

[find] 빈 디렉터리 삭제

디스크 용량 확보를 위해 아래 명령어로 30일 이전에 수정된 파일들을 삭제했다. find /PATH/TO/DELETE/ -mtime +30 -type f -ls -exec rm {} \; 다만 파일을 삭제하라고 지정한 탓인지(-type f) 관련된 디렉터리가 비어 있는 채로 여전히 남아있었다. 물론 티끌과 다름이 없지만 디렉터리 자체도 용량을 가지고 있기 때문에, 디렉터리도 마저 정리하고자 한다. 명령어 빈 디렉터리 확인 find /PATH/TO/DELETE/ -type d -empty -print # -empty : 빈 디렉터리 또는 크기가 0인 파일 검색 # -print : 검색 결과 출력 빈 디렉터리 삭제 find /PATH/TO/DELETE/ -type d -empty -delete # -empt..

Linux 2022.02.08

[Ubuntu 18.04 LTS] Chrome 설치

2021.07.14 - [CentOS] Chrome 및 Selenium 설치 위 글에서는 CentOS에서 Chrome 설치하는 방법에 대해 정리해두었다. 이 글에서는 Ubuntu 18.04 LTS에서 Chrome 설치하는 방법에 대해 정리해둔다. 방법 1. 크롬 패키지 설치에 필요한 인증키 등록 wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 2. 개인 패키지 저장소(PPA) 추가 sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' ..

Linux 2022.02.07

[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