apt가 패키지를 삭제할 수 없습니다(postgresql)

apt가 패키지를 삭제할 수 없습니다(postgresql)

우분투 21.10 클라이언트에 postgres를 설치하려고 합니다.

sudo apt install postgresql postgresql-contrib

이로 인해 경고가 발생했지만 어쨌든 설치하기로 결정했습니다. 종속성 문제(아래 참조)와 궁극적으로 패키지 손상을 초래할 수 있으므로 이는 현명한 방법이 아닙니다.

나는 시도했다:

sudo dpkg --configure -a
sudo apt -f install
sudo apt update
sudo apt autoremove

더 많은 것이 있습니다. 이제 특정 파일이 필요한 postgresql-client-13으로 귀결되지만 해당 파일을 찾지 못하고 제거가 중단됩니다(또는 새 postgresql 버전 설치). 이 상황에서 postgresql을 제거하고 적절하게 만드는 방법을 아는 사람이 있습니까?

$ sudo apt remove --purge postgresql
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'postgresql' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-client-13 (13.5-0ubuntu0.21.10.1) ...
/var/lib/dpkg/info/postgresql-client-13.postinst: 7: .: cannot open /usr/share/postgresql-common/mai
ntscripts-functions: No such file
dpkg: error processing package postgresql-client-13 (--configure):
 installed postgresql-client-13 package post-installation script subprocess returned error exit stat
us 2
Errors were encountered while processing:
 postgresql-client-13
E: Sub-process /usr/bin/dpkg returned an error code (1)

원래 설치:

$ sudo apt install postgresql postgresql-contrib
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  postgresql-13 postgresql-client-13
Suggested packages:
  postgresql-doc postgresql-doc-13
The following NEW packages will be installed:
  postgresql postgresql-13 postgresql-client-13 postgresql-contrib
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.2 MB of archives.
After this operation, 46.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://nl.archive.ubuntu.com/ubuntu impish-updates/main amd64 postgresql-client-13 amd64 13.5-0ubuntu0.21.10.1 [1,145 kB]
Get:2 http://nl.archive.ubuntu.com/ubuntu impish-updates/main amd64 postgresql-13 amd64 13.5-0ubuntu0.21.10.1 [15.0 MB]
Get:3 http://nl.archive.ubuntu.com/ubuntu impish/main amd64 postgresql all 13+226 [4,624 B]
Get:4 http://nl.archive.ubuntu.com/ubuntu impish/main amd64 postgresql-contrib all 13+226 [4,636 B]
Fetched 16.2 MB in 5s (3,223 kB/s)            
Preconfiguring packages ...
Selecting previously unselected package postgresql-client-13.
dpkg: warning: files list file for package 'postgresql-14' missing; assuming package has no files cu
rrently installed
dpkg: warning: files list file for package 'postgresql-client-common' missing; assuming package has 
no files currently installed
dpkg: warning: files list file for package 'postgresql-client-14' missing; assuming package has no f
iles currently installed
dpkg: warning: files list file for package 'postgresql-common' missing; assuming package has no file
s currently installed
(Reading database ... 444111 files and directories currently installed.)
Preparing to unpack .../postgresql-client-13_13.5-0ubuntu0.21.10.1_amd64.deb ...
Unpacking postgresql-client-13 (13.5-0ubuntu0.21.10.1) ...
Selecting previously unselected package postgresql-13.
Preparing to unpack .../postgresql-13_13.5-0ubuntu0.21.10.1_amd64.deb ...
Unpacking postgresql-13 (13.5-0ubuntu0.21.10.1) ...
Selecting previously unselected package postgresql.
Preparing to unpack .../postgresql_13+226_all.deb ...
Unpacking postgresql (13+226) ...
Selecting previously unselected package postgresql-contrib.
Preparing to unpack .../postgresql-contrib_13+226_all.deb ...
Unpacking postgresql-contrib (13+226) ...
Setting up postgresql-client-13 (13.5-0ubuntu0.21.10.1) ...
/var/lib/dpkg/info/postgresql-client-13.postinst: 7: .: cannot open /usr/share/postgresql-common/mai
ntscripts-functions: No such file
dpkg: error processing package postgresql-client-13 (--configure):
 installed postgresql-client-13 package post-installation script subprocess returned error exit stat
us 2
dpkg: dependency problems prevent configuration of postgresql-13:
 postgresql-13 depends on postgresql-client-13; however:
  Package postgresql-client-13 is not configured yet.

dpkg: error processing package postgresql-13 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of postgresql:
 postgresql depends on postgresql-13; however:
  Package postgresql-13 is not configured yet.

dpkg: error processing package postgresql (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of postgresql-contrib:
 postgresql-contrib depends on postgresql-contrib-13; however:
  Package postgresql-contrib-13 is not installed.
  Package postgresql-13 which provides postgresql-contrib-13 is not configured yet.

dpkg: error processing package postgresql-contrib (--configure):
 dependency problems - leaving unconfigured
Processing triggers for postgresql-comNo apport report written because the error message indicates i
ts a followup error from a previous failure.
                                            No apport report written because the error message indic
ates its a followup error from a previous failure.
                                                  No apport report written because MaxReports is rea
ched already
            mon (232.pgdg21.10+1) ...
Errors were encountered while processing:
 postgresql-client-13
 postgresql-13
 postgresql
 postgresql-contrib
E: Sub-process /usr/bin/dpkg returned an error code (1)

고쳐 쓰다

@PersianGulf의 제안을 시도해 보았습니다.하다postgresql-client-13을 제거하라는 요청을 받았지만 여전히 제거할 수 없습니다.

$ sudo apt --force-yes remove postgresql-client-13
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  postgresql-client-13
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 3,609 kB disk space will be freed.
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Do you want to continue? [Y/n] 
dpkg: warning: files list file for package 'postgresql-client-common' missing; assuming package has 
no files currently installed
dpkg: warning: files list file for package 'postgresql-client-14' missing; assuming package has no f
iles currently installed
(Reading database ... 446025 files and directories currently installed.)
Removing postgresql-client-13 (13.5-0ubuntu0.21.10.1) ...
/var/lib/dpkg/info/postgresql-client-13.prerm: 11: remove_client_version: not found
dpkg: error processing package postgresql-client-13 (--remove):
 installed postgresql-client-13 package pre-removal script subprocess returned error exit status 127
dpkg: too many errors, stopping
Errors were encountered while processing:
 postgresql-client-13
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

답변1

손상은 문제로 인해 발생합니다 postgresql-client-common. 이 패키지는 다른 패키지를 제거할 수 있어야 하지만 콘텐츠 중 최소한 일부가 누락되어 다음이 발생합니다.

/var/lib/dpkg/info/postgresql-client-13.postinst: 7: .: cannot open /usr/share/postgresql-common/maintscripts-functions: No such file

dpkg패키지 상태가 상당히 불만족스럽습니다.

dpkg: warning: files list file for package 'postgresql-client-common' missing; assuming package has no files currently installed

문제를 해결하려면 이 패키지를 강제로 다시 설치해야 합니다 postgreql-common.

sudo apt reinstall postgreql-client-common

완료되면 PostgreSQL 13 패키지를 제거할 수 있습니다.

관련 정보