목록DevOps/OS (31)
devops
이것은 노트북을 닫으면 꺼지는 모드, 슬립모드를 모두 시도해봐도 갑자기 리눅스 서버가 절전모드로 돌입할 때 해결할 수 있는 방법이다. 서버의 전원이 종료된 것은 아닌 것 같은데, 그렇다고 전원을 켠 상태도 아닌 애매한 상황일 때가 있다. Desktop 버전이면 몰라도 Server 버전에서 절전모드는 설정한다는 게 이상하기도 하다. 그런데 우분투(Ubuntu)나 리눅스 서버에도 Suspend(일시중단), Hibernation(절전모드)가 있다. 모드는 크게 3가지가 있다. 1) Suspend to RAM (Normal Suspend) : PC가 배터리로 동작 중일때 특정 시간 동안 사용하지 않거나, 덮개를 닫으면 진입하는 모드다. 2) Suspend to Disk (Hibernate) : 시스템 상태가 S..

리눅스 서버를 운영하다보면 갑자기 네트워크 포트에 점등이 꺼지면서 위와같은 화면으로 이동하는 경우가 발생한다. 원인은 서버를 강제로 종료하다보면 파일 시스템이 손상되면서 Busybox라는 우분투 복구모드로 들어가게 된다. Busybox : 우분투 복구모드로, 명령어를 통해 문제 발생 전으로 복구가 가능하다. initramfs : 명령어를 입력할 수 있는 프롬프트 이럴땐 프롬프트에 fsck 명령어를 활용해야한다. 1) 먼저 파일시스템의 경로를 확인하기 위해 exit 명령어를 쓴다. $exit 2) 문제가 발생한 경로를 확인 후 fsck -y '경로' 를 입력한다. $fsck -y /dev/sda1 ## /dev/sda1 은 문제가 발생한 파일시스템 경로 그리고 부팅하면 된다. 사실 위 이미지를 보면 알겠지..
우분투 사용 시 노트북을 닫으면 절전모드로 들어가게되는데, 이걸 막기 위해서는 간단한 설정이 필요하다. 1) logind.conf 파일을 편집기로 실행 $ sudo nano /etc/systemd/logind.conf 2) HandleLidSwitch의 주석을 해제하고 ingnore 를 입력해준다. HandleLidSwitch=ignore 3) systemd-logind 다시 실행 $restart systemd-logind
서버를 설치하다보면 IP주소를 잘못치거나, 사정이 생겨 IP주소를 변경해야하는 경우가 발생한다. 게이트웨이나 Nameserver도 바꿔야할때가 있는데, 그럴때마다 Ubuntu 서버에선 유용한 방법이다. 1) 설정 파일인 00-installer-config.yaml을 편집기로 연다. (20버전 기준) $ sudo nano /etc/netplan/00-installer-config.yaml 2) 아래에서 수정이 필요한 항목의 설정값을 수정한다. network: ethernets: enp0s31f6: addresses: [192.168.0.214/24] gateway4: 192.168.0.1 nameservers: addresses: [168.126.63.1,8.8.8.8] # search: [lesstif...

fail2ban 원격 서버로 접속하기 위해서 SSH를 사용하는 사람들이 많다. 그러나 본인이 아닌 해커가 무작위 로그인을 시도하여 문제가 발생할 수 있는데, 무작위 로그인 공격에 대응하기 위해 사용하는 것이 fail2ban 패키지다. (파이썬으로 개발됨) IP주소를 기준으로 커널 방화벽에 등록하여 무작위 로그인 공격을 차단시켜준다. SSH를 공용으로 사용한다면 설치하는 것을 추천한다. 설치방법(우분투 Ubuntu 기준) $ sudo apt install fail2ban 서비스 시작, 재시작, 정지, 상태 확인 $ sudo systemctl enable fail2ban $ sudo systemctl disable fail2ban $ sudo systemctl restart fail2ban $ sudo sy..

ifconfig $ ifconfig 인터페이스 확인 $ ifconfig -a 모든 인터페이스 확인 route $ route -n 게이트웨이 목록 확인 $ sudo route add default gw 10.0.2.50 기본 10.0.2.50 게이트웨이 추가 $ sudo route del default gw 10.0.2.50 10.0.2.50 게이트웨이 삭제
PATH 환경변수 란? 프롬프트에서 command를 치면, 그 실행파일을 OS가 찾는다. 이 OS가 명령을 수행하기 위해 찾는 위치가 PATH다. PATH에 설정된 명령어는 명령어만 쳐도 실행이된다. PATH에 설정안된 명령어는 명령어의 절대경로를 모두 입력해야한다. 쉽게 말해서 PATH는 사용자가 정의해놓은 길을 의미한다. 경로들은 /usr/bin:/etc:/usr/local/bin 과 같이 클론(:)으로 구분되어 저장되어있다. 명령어 찾는 순서 1) /etc/profile 2) /etc/bashrc 3) /etc/inputrc 4) $HOME/.bash_profile 5) $HOME/.bashrc 6) $HOME/.inputrc 환경변수 추가 방법 1 $ export PATH = :$PATH 환경변수..
shell 쉘은 명령어 처리기라고 불린다. 운영 체제에서 다양한 기능과 서비스를 구현하기 위해 인터페이스를 제공하는 프로그램이다. 커널과 사용자 사이에서 매개체 역할을 한다고 보면 된다. bash, ksh, csh 등이 있다. bash Bash는 shell의 한 종류로써, Bourne Again Shell의 축약어다. 기존 Bourne 쉘과 호환이 가능하며, Bourne 쉘에 비해 많은 기능을 제공한다. 리눅스 쉘이라고 불리며 리눅스에서 가장 많이 사용된다. bash는 5개의 설정 파일을 가지고 있다. 일반적으로 전역적인 파일은 /etc 디렉토리에 위치한다. 지역적인 파일은 사용자 ~/.bashrc와 같이 home에 위치하는 경우가 많다. 1) /etc/profile 환경 변수와 bash가 수행될 때 실..
Golang 최신버전 설치 방법 $ wget https://dl.google.com/go/go.linux-amd64.tar.gz 에 들어갈 최신버전은 다음 링크에서 확인한다. https://golang.org/dl/ $ sudo tar -C /usr/local -xzf go.linux-amd64.tar.gz 다운받은 압축파일을 /usr/local에 푼다. $ export PATH=$PATH:/usr/local/go/bin 환경 변수를 지정한다. $ source ~/.profile Go command not found가 발생할 때 해결 방법 $ sudo nano /etc/sudoers secure_path=" 어쩌구 저쩌구" 여기에 :/usr/local/go/bin 패키지 경로 추가 ctrl + x, y ..
$ tail -f /var/log/bootstrap.log 부팅시 발생하는 로그 확인, 어떤 프로세스가 성공하고 실패했는지 확인해본다. tail은 지속적인 로그발생을 확인하는 명령어 $ cat /var/log/bootstrap.log cat을 활용하면 전반적인 로그 현황을 확인할 수 있다. $ cat /var/log/dpkg.log 패키지와 관련된 로그 현황을 확인 $ cat /var/log/kern.log 커널에서 발생하는 로그 메시지 확인 $ cat /var/log/syslog 시스템 로그 메시지 확인 $ cat /etc/crontab 시스템 예약작업 crontab 데몬 확인