apt-get 설치를 하다보면 그와 관련한 dpkg 오류를 쉽게 겪을 수 있다.


우선은 메시지가 뜰때 관련 오류 로그를 살펴 보아야 한다.


이때에 삭제해 줘야 하는 파일이 있다면 삭제해 줘서 간단히 해결 할 수 있기 때문이다.


가장 많이 겪는 것은 '하위 스크립트 리턴' 인데 이것은 개발자가 패키지 안에 있는 debian/postinst 나 debian/postrm 등을 잘못 설계 했을 경우가 대부분 이다.


이는 패키지 설치시는 삭제시 실행되는 개발자가 설계한 스크립트 오류인데 재설치시 이러한 오류가 발생하지 않게 설계하는 것이 마땅하다. 하지만 날고 기는 개발자들도 실수를 하기 마련이고 같은 우분투라도 사용 환경에 따라서 차이가 발생 할 수 있기 때문에 문제 발생 요지가 있다.


즉 dpkg 관련 오류는 꼭 사용자의 잘못은 아니라는 얘기다.


apt-get install --reinstall 로써도 패키지가 완벽하게 적용 되야 마땅한 것이 사실이다.


대부분의 오류는


간단히


sudo dpkg --configure -a


로써 해결이 가능하다.


하지만 더 높은 레벨의 오류는 이로써도 해결이 되질 않는다.


그렇다면 더 높은 레벨의 수정이 필요하다.


sudo dpkg --configure -a --force-all

 

이렇게도 안된다면 더 높은 레벨의 오류다. 삭제해야 마땅한 패키지 인 셈이다.


sudo apt-get autoremove --purge package


만약 상당히 높은 레벨의 오류면은 이로써도 삭제가 되질 않는다.


그렇다면 최후의 방법인 dpkg 자체 로써의 완전 삭제를 실행 해줘야 한다.

 user@user~$

sudo dpkg --remove --force-remove-reinstreq package


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



왠만큼의 오류도 이정도면 삭제가 된다.


그리고 한번 더


sudo apt-get --purge package


실행하여 깔끔히 삭제해 준다.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :









본 필자도 지금까지도 이런 유의 사항을 미쳐 알지 못하였다.


설명할 문제는 다른 개발자 들도 어쩌면 알아채지 못하고 넘아가고 있을지도 모른다.


만일 패키지를 만들고 계속해서 버전 업데이트를 해 나갈때...


업데이트 적용시 문제가 발생할 수가 있다.


하지만 이 문제는 일반적으로는 발생하지 않는다.


바로 이전 혹은 이전 버전에 설치한 패키지 파일들 중에 파일이 하나라도 빠졌을 경우 발생한다.


이렇게 되면 해당 패키지에 대한 새로운 버전 업데이트를 진행 할 경우 정상적으로 over설치가 진행되지 않는다.


일종의  apt의 unpacking 패턴 이라고 볼 수 있을 것이다.



많은 개발자들이 debian/postinst, preinst 등을 활용해 하이브리드 설치 방식을 지향하는데 설치한 패키지의 쓸모없는 부분을 삭제 하겠금 스크립트를 짜게 되면 문제가 발생 할 수 있다.


결론적으로 빌드 패키지 작업을 할때 설치된 파일이 삭제 되지 않겠금 주의하자.


이것을 주의하지 않으면 설치한 사용자가 해당 패키지에 대한 버전 업데이트시 고생한다.






+ Recent posts