728x90

여러 보안 도구들은 패키지를 최신 버전으로 유지할 것을 강요(?)합니다.
아무래도 노출된 취약점들이 구버전 패키지에 대한 경우가 많기 때문이죠.
어김 없이 기억력은 쇠퇴하고 또 한번 yum 으로 패키지 설치에 실패하여 기록을 남겨둡니다.


yum 업데이트시 에러 : Error unpacking rpm package...

보통은 yum 으로 패키지 설치가 잘 됩니다. 
권한 문제가 있더라도 sudo로 왠만하면 설치가 됩니다. 
하지만 간혹 이유 없이 되지 않을때가 있습니다. 
다음과 같은 에러와 함께...

$ sudo yum update openssh-clients
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
...
...
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : openssh-clients-7.4p1-23.el7_9.x86_64                                                            1/2
Error unpacking rpm package openssh-clients-7.4p1-23.el7_9.x86_64
error: unpacking of archive failed on file /etc/ssh/ssh_config: cpio: rename

압축 해제가 되지 않았다의 메세지가 눈에 보입니다. 
그리고 특정한 경로의 파일도 언급됩니다. 
원인이 뭘까요? 정답은 파일의 속성 문제였습니다.

속성 확인 : lsattr / 속성 교체 : chattr

파일의 속성을 확인하는 명령은 lsattr입니다.
아마도 불변(immutable) 속성이 지정되어 있어서 
파일의 교체가 실패했을 거라고 추정이 됩니다.

확인하고 교체해 보겠습니다.

$ sudo lsattr /etc/ssh/ssh_config
----i----------- /etc/ssh/ssh_config
$ sudo chattr -i /etc/ssh/ssh_config
$ sudo lsattr /etc/ssh/ssh_config
---------------- /etc/ssh/ssh_config

네, 이후 yum 명령으로 업데이트가 잘 되는 것을 확인할 수 있었습니다. 
아마도 어떤 이유로든 immutable 이 지정된 것일 수 있으니
관리자와 싸우지 않기 위해 다시 속성을 걸어줍니다.

$ sudo chattr +i /etc/ssh/ssh_config
$ sudo lsattr /etc/ssh/ssh_config
----i----------- /etc/ssh/ssh_config

뺄때 -i 였으니 본능적으로 +i 를 하니 잘 수행됩니다. 
다시 immutable 상태가 되었으니 작업을 마무리하고 커피 한잔...

#linux #lsattr #chattr #immutable #yum #yum_error

728x90
728x90
728x90
728x90

CentOS를 비롯한 Redhat 계열에서는 Yum을 이용해 패키지를 관리합니다.
간혹 yum 으로 패키지를 설치하다 패키지 데이터베이스를 열 수 없다는 에러를 만날 수 있습니다.
영문 기준으로 rpmdb open failed 라는 메세지가 바로 그것이죠.

이런 상황을 해결하는 가장 쉬운 방법은 RPM DB 삭제입니다.
DB를 삭제한다고 뭔가 큰 일이 일어나는 것은 아닙니다. 
DB 자체에 뭔가 이슈가 생긴 경우이기 때문에 
DB 파일 삭제후 다시 생성하면 됩니다. 

rm -f /var/lib/rpm/_db*
rpm -vv --rebuilddb
728x90
728x90

트위터에서 돌아다니는 트윗과 짤이 좋은 점은 여러가지가 있지만
하나의 트윗 140자에서 많은 것을 함축적으로 이야기 해야 하기 때문에
컨텐츠(?)의 밀도가 높아서 스낵(snack)처럼 소비하기 좋다는 점입니다 ㅋ

오늘도 지나가다 <6 Linux command you must learn in 2023>라는 트윗을 봤고
여기에 올라와 있던 리눅스 초보자를 위한 터미널 주요 명령을 가져와 봤습니다.
익숙하지 않은 명령들이나 의미를 잘 몰랐던 명령들을 되뇌이는 기회를 만드십시오!

출처 : https://twitter.com/javinpaul/status/1610150056513912833/photo/1

이미지에 포함된 내용들은 사실 굉장히 단순한 명령들입니다. 
하지만 처음 접하시는 분들은 요런 것들도 헷갈릴 수 있다고 봅니다!

#리눅스 #리눅스기초명령어 #linuxcommand #linuxcommandline

 

728x90

+ Recent posts