1. 문제 상황

잘 접속되던 서버였는데 갑자기 에러가 뜨면서 접속이 안 되었다.

 

위의 상황이 발생하는 이유를 예를 들어보자면,

 

A host가 있고, B server가 있다.

A는 항상 B server에 ssh 접속을 하고 있었는데, B server에 ssh나 os를 새로 설치하는 작업을 했다.

그랬는데 A가 똑같이 B에 접속을 시도하고,

B의 IP는 똑같다면 위와 같은 메시지가 뜬다.

 

SSH 최초 접속 시에 A와 B가 서로 인증을 하는데

B는 새로 설치되었는데 A는 예전 B에 IP로 인증이 되어있는 상태에서 B로 로그인을 하면

B는 인증정보가 없기 때문에 위와 같은 메시지가 뜨는 것이다.

 

 

2. 해결 방법

vi /Users/nhn/.ssh/known_hosts

# 보통은
# /root/.ssh/known_hosts
# /home/username/.ssh/known_hosts

접속해서 해당 IP 접속을 지우고 다시 접속을 한다.

 

접속해보니 장비(시스템)명이 바뀐거 같았다!

 

 

 

 

 

 

참고 사이트

1. 문제 상황 

운영서버인 우분투 20.04 인스턴스에서 도커를 설치하려고 하는데 의존성 문제가 발생했다. 

(개발서버에서는 발생하지 않음.. 차이가 뭘까?)

 

대략 이런 식으로..

몇몇 패키지를 설치할 수 없습니다. 요청한 상황이 불가능할 수도 있고,
...
다음 패키지의 의존성이 맞지 않습니다:
 containerd.io : 의존: libseccomp2 (>= 2.4.0) 하지만 2.3.1-2.1ubuntu2~20.04.1 패키지를 설치할 것입니다

 

아래 방법으로 직접 설치를 진행해도 원하는 버전이 설치가 되지 않았다 :(

sudo apt-get install libseccomp2

 

2. 해결 방법

답은 공식 다운로드!

https://pkgs.org/download/libseccomp2

 

리눅스용 Libseccomp2 다운로드 사이트에 가서 환경에 맞는 패키지를 설치한다.

curl -O https://ubuntu.pkgs.org/20.04/ubuntu-updates-main-amd64/libseccomp2_2.5.1-1ubuntu1~20.04.2_amd64.deb.html

 

역시 공식이 최고다..

해결 완료 !

 

우분투에서 패키지를 설치할 때 apt-get 명령을 많이 사용한다.

apt-get은 Advanced Packaging Tool의 약자로 우분투를 포함한 데비안 계열 리눅스에서 사용되는 패키지 관리 툴이다.

 

apt-get update와 apt-get upgrade를 많이 사용하는데 정확히 어떤 차이가 있는지 궁금해져서 정리를 해본다.

 

apt-get update

운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령이다.

설치되어 있는(Installed) 패키지를 업데이트 하는 것이 아니라 설치 가능한(Available) 리스트를 업데이트 하는 것이다!

 

예를 들어 apt-get install로 특정 패키지를 설치할 수 없는 경우, update 명령으로 패키지 리스트를 최신으로 업데이트 할 필요가 있는 것이다.

 

apt-get upgrade

운영체제에 apt-get install로 설치한(Installed) 패키지들을 최신 버전으로 업그레이드 하는 것이다.

 

apt-get update로 가져온 각 패키지들의 최신 버전에 맞게 업그레이드를 진행하기 때문에 update 후 upgrade를 해주면 된다.

 

 

 

참고 사이트

우분투에서 패키지를 설치할 때 apt-get과 apt를 혼합해서 많이 사용하는데, 

두 명령이 정확히 어떤 차이가 있는지 궁금해져서 정리를 해본다.

 

apt(Advanced Packaging Tool)은 데비안(Debian) GNU/Linux 계열의 패키지 관리 명령도구로 우분투(Ubuntu)에서도 지원합니다.

 

apt-get과 apt 차이

  • apt-get : 인증된 소스에서 패키지 및 패키지에 대한 정보를 검색하고, 종속성과 함께 패키지를 설치, 업그레이드 및 제거
  • apt : 더 나은 대화식 사용을 위한 고급 명령 줄 인터페이스

 

결론적으로 큰 차이는 없습니다.

 

apt-get에 옵션들이 많아지다 보니

자주 사용하는 옵션들을 추출해서 apt에서 사용자들이 사용하기 편하고, 보기 편하게 만들었습니다.

그래서 apt가 더 예쁘고 추가적인 정보를 출력해줍니다.

 

 

그렇다면 무엇을 쓰는 것이 좋을까요?

큰 차이가 없으니 상황에 맞추어 사용하면 좋을 것 같습니다.

 

터미널에서는 apt를 사용하면 더 예쁘고 유익한 메시지를 출력받을 수 있습니다.

 

script를 작성할 때는 apt-get을 사용하는 것이 좋습니다.

apt-get이 더 많은 옵션들을 가지고 있어 더 많은 기능을 제공해줍니다.

또한 오래 전부터 존재해왔기 때문에 더 안정적이고 높은 호환성을 가지고 있습니다.

 

 

 

 

참고 사이트

1. 문제 상황

CentOS 7에서 방화벽을 열려고 firewall 관련 명령을 입력했는데

FirewallD is not running 이라는 에러가 발생했다.

 

2. 해결 방법

아래 명령을 통해 실행시킨 뒤 다시 사용하면 정상적으로 작동한다.

systemctl start firewalld

 

3. 사용법

# check the status of the service (running and enabled)
systemctl status firewalld

# if the service is not running, start it
systemctl start firewalld

# 에러발생시 Failed to start firewalld.service: Unit is masked.
systemctl unmask firewalld

# if the service has exited, restart it(check for error if any)
systemctl restart firewalld

# if the service is not enabled, enable it
systemctl enable firewalld

 

 

참고 사이트

+ Recent posts