web-dev-qa-db-ja.com

ubuntuマシンでpostgresqlフォルダーが手動で吹き飛ばされました-パッケージをインストールまたは削除できません

私はユーザーがpostgresをアンインストールしようとしてコマンドラインからpostgresqlフォルダーを削除したマシンを持っています。今、他のパッケージをインストールしようとすると-無関係なパッケージでも-postgresql-commonに関するエラーメッセージが表示され続けます。

コマンドラインを介して手動でpostgresql-9.3およびpostgresql-9.4に関連するすべてをアンインストールしようとしましたが、機能しません。

これは私が試みるとき起こることです:

jj@testdev:~/Documents/svc_core_design/svc_core_git/svc-core-docs/net-svc$ Sudo apt-get purge postgresql-client-9.3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'postgresql-client-9.3' is not installed, so not removed
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
jj@testdev:~/Documents/svc_core_design/svc_core_git/svc-core-docs/net-svc$ 

彼がまだ持っているpostgresqlコンポーネントを確認するために、次のコマンドを実行しました。

Sudo dpkg --get-selections | grep -v deinstall

postgresql-9.3                                  purge
postgresql-client-9.4                           install
postgresql-client-common                        install
postgresql-common                               install

可能な場合はすべてのpostgresql関連のアイテムを削除するか、適切に動作するように再インストールします(再インストールする場合、両方のバージョンは必要ありません。9.4だけで結構です)。コマンドライン経由で?

編集1

パッケージ名なしで「Sudo apt-get -f install」を実行しようとした結果は次のとおりです。

jj@testdev:/var/lib/postgresql$ Sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libjs-underscore linux-image-3.16.0-25-generic linux-image-3.16.0-33-generic linux-image-extra-3.16.0-25-generic linux-image-extra-3.16.0-33-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-common (166.pgdg14.10+1) ...
insserv: warning: script 'mongod' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `mongod'
insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `mongod'
 * Starting PostgreSQL 9.3 database server                                                                                                                                                                                                 * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                                   [fail]
 * Starting PostgreSQL 9.4 database server                                                                                                                                                                                                 * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                                   [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-common (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 postgresql-common
E: Sub-process /usr/bin/dpkg returned an error code (1)
jj@testdev:/var/lib/postgresql$ Sudo 

また、/ var/lib/postgresqlフォルダーの所有者がpostgresであることを確認しました。おそらく、不満を言っているフォルダー構造を手動で作成する必要がありますか?

  /var/lib/postgresql/9.3/main

他の提案はありますか?

編集2

私はaptitudeをインストールし、postgresql 9.3および9.4をパージしようとしましたが、次のように失敗します:

jj@testdev:/var/lib/postgresql$ Sudo aptitude purge postgresql-9.3
The following packages will be REMOVED:  
  postgresql-9.3{p} 
The following partially installed packages will be configured:
  postgresql-common 
0 packages upgraded, 0 newly installed, 1 to remove and 5 not upgraded.
Need to get 0 B of archives. After unpacking 17.6 MB will be freed.
Do you want to continue? [Y/n/?] Y
(Reading database ... 339475 files and directories currently installed.)
Removing postgresql-9.3 (9.3.5-2.pgdg14.10+1) ...
 * Stopping PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: error processing package postgresql-9.3 (--purge):
 subprocess installed pre-removal script returned error exit status 1
Errors were encountered while processing:
 postgresql-9.3
E: Sub-process /usr/bin/dpkg returned an error code (1)
Failed to perform requested operation on package.  Trying to recover:
Setting up postgresql-common (166.pgdg14.10+1) ...
 * Starting PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
 * Starting PostgreSQL 9.4 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-common (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 postgresql-common

jj@testdev:/var/lib/postgresql$ 

編集3:

コマンド「sudo apt-get purge postgresql-client-9.4 postgresql-client-common postgresql-common」を実行した結果は次のとおりです。

Removing postgresql-common (166.pgdg14.10+1) ...
 * Stopping PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
 * Stopping PostgreSQL 9.4 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: error processing package postgresql-common (--purge):
 subprocess installed pre-removal script returned error exit status 1
 * Starting PostgreSQL 9.3 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.3/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
 * Starting PostgreSQL 9.4 database server                                                                                                                                                                                     * Error: /var/lib/postgresql/9.4/main is not accessible or does not exist
                                                                                                                                                                                                                       [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1

そして、何がインストールされているかを確認すると:

jj@testdev:/var/lib/postgresql$ Sudo dpkg --get-selections | grep -v deinstall | grep post
libreoffice-sdbc-postgresql         install
postgresql-9.3                  purge
postgresql-9.4                  purge
postgresql-common               purge
printer-driver-postscript-hp            install
jj@testdev:/var/lib/postgresql$ 
3
dot

Aptitudeを使用して削除しようとする多くの試みと、apt-get remove/purgeでも、ディレクトリ/ var/lib/postgresqlおよび/ var/log/postgresqlが削除されていないため、postgresql-9.3を削除できないというメッセージが表示されていました空の。

だから私はそれらを吹き飛ばしてから、Sudo apt-get purgeをしました...そして、私は適性のパージを行い、それは働いた。これで、このボックスにエラーなしでパッケージを再度インストールできます。

2
dot

失敗した削除試行から残ったパッケージを手動で削除しようとしましたか?

Sudo apt-get purge postgresql-client-9.4 postgresql-client-common postgresql-common

次に:

Sudo apt-get update install postgresql

postgresqlがインストールされていないため、削除は明らかに失敗しますが、以前のインストールで残されたものに問題があるため、再インストールが失敗する可能性があります。

2
kos

whereis postgresqlを使用してすべてのpostgresqlフォルダーを検索し、それらを手動で削除することで、この問題に遭遇しました。しかし、その後apt-get install postrgesql-10を使用してpostgresqlを再インストールするか、簡単なapt-get upgradeを実行する必要があるとき、エラーの一部として以下を取得していました。

/ usr/share/postgresql-common/maintscripts-functionsを開けません

私がやったのは、Githubリポジトリから実際のファイルをコピーしたことです ここ 、その場所に配置しました。その後、次の手順を実行しました。

  • dpkg -l | grep postgresql-インストールされたパッケージをリストします。 このスクリーンショット のような結果が表示されます。

  • 上記の結果からパッケージ名を使用して削除します-Sudo apt-get remove <PACKAGE>

  • 次に、Sudo apt-get autoremoveで残っているパッケージをすべて削除します

この後、マシンを一度再起動すると、準備完了です!

0