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