Debian 7 서버에서 apt-get은 나에게 postgresql-9.1 및 postgresql-client-9.1이라는 두 가지 패키지를 업그레이드하라고 제안했습니다. 데이터베이스 서버를 다시 시작하고 싶지 않았기 때문에 클라이언트만 업그레이드하기로 결정하고 다음을 실행했습니다.
sudo apt-get install --only-upgrade postgresql-client-9.1
그러나 이로 인해 postgresql-9.1이 제거되었습니다. postgresql-9.1이 postgresql-client-9.1에 의존한다는 것을 알고 있는데 postgresql-client를 업그레이드하면 postgresql이 제거되는 이유는 무엇입니까?
출력 apt-get upgrade
은 괜찮아 보입니다.
~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
postgresql-9.1 postgresql-client-9.1
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/4,307 kB of archives.
After this operation, 432 kB of additional disk space will be used.
Do you want to continue [Y/n]?
하지만 클라이언트만 업그레이드하려고 할 때는 그렇지 않습니다.
~$ sudo apt-get install --only-upgrade postgresql-client-9.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
postgresql-doc-9.1
The following packages will be REMOVED:
postgresql postgresql-9.1
The following packages will be upgraded:
postgresql-client-9.1
1 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
Need to get 0 B/996 kB of archives.
After this operation, 16.7 MB disk space will be freed.
Do you want to continue [Y/n]?
답변1
postgresql 패키지 없이는 postgresql-client를 업그레이드할 수 없습니다. 그러나 다음에 OS를 재부팅할 때까지 postgresql 서비스가 다시 시작되지 않도록 설정할 수 있습니다. 사용정책-rc.d
cat > ./usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod a+x ./usr/sbin/policy-rc.d
OS 재부팅 없이 PostgreSQL 서비스를 다시 시작하려면policy-rc.d를 삭제하는 것을 잊지 마십시오.