Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / / /

トラブルシューティング

項目一覧

  • 公開キーを取得する際のエラー
  • 実行時のエラー sudo apt update
  • 実行時のエラー sudo apt install -y mongodb-org
  • 次の理由によりパッケージがインストール不能 dpkg-deb: error
  • mongod によるソケットのオープンに関するエラーの報告
  • mongod によるデータディレクトリに関するエラーの報告

MongoDB コミュニティ エディション のインストール手順の Import the public key used by the package management system ステップで、"gpg: no valid OpenPGP data found." エラーが発生する可能性があります。

ドキュメントに記載されているとおりにコマンドを正確にコピーしていることを確認してください。操作は OK の応答を返します。

MongoDB 公開 GPG キーがシステムに存在していることを確認するには、ターミナルで次のコマンドを実行します。

sudo apt-key list

出力には、次のようなエントリが含まれている必要があります。

/etc/apt/trusted.gpg
--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>

MongoDB コミュニティ エディション のインストール 手順の中で sudo apt-get update を実行中に次のようなエラーが 1 つ以上発生する場合があります。

W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.0 Release: \
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4B7C549A058F8B6B
E: The repository 'https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.0 Release' \
is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

これらのエラーは MongoDB コミュニティ エディション のインストール 手順の Import the public key used by the package management system において、MongoDB 公開 GPG キーが追加されなかったことを示しています。

MongoDB コミュニティ エディション のインストール手順の Import the public key used by the package management system ステップを繰り返すことで、通常、この問題は解決します。ドキュメントに記載されているとおりにコマンドとキーを正確にコピーしていることを確認してください。

MongoDB の公開 GPG キーがシステムに存在していることを検証するには、ターミナルで次のコマンドを実行します。

sudo apt-key list

出力には、次のようなエントリが含まれている必要があります。

--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>

MongoDB コミュニティ エディション のインストール手順の Create a list file for MongoDB において sudo apt install -y mongodb-org を実行中に次のようなエラーが発生する場合があります。

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mongodb-org

このエラーは /etc/apt/sources.list.d/mongodb-org-8.0.list が正しく構成されていないか、欠落している可能性があることを示します。

mongodb-org-8.0.list ファイルの内容を確認するには、ターミナルまたは shell で次のコマンドを実行してください。

cat /etc/apt/sources.list.d/mongodb-org-8.0.list

上記の手順で使用している Ubuntu バージョンのドキュメントとファイルの内容が完全に一致しない場合、ファイルを削除し Create a list file for MongoDB ステップを繰り返します。ファイルが存在しない場合、ステップの一部として作成します。

mongodb-org-8.0.list ファイルの存在と内容が正しいことを確認したら、sudo apt update を実行して apt リポジトリをアップデートし、sudo apt install -y mongodb-org を再試行します。

mongodb-org パッケージをインストールする際、次のようなエラーが発生する場合があります。

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_8.0.0_amd64.deb (--unpack):
trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1

このエラーは、公式の MongoDB Inc. mongodb-org パッケージをインストールする前に、システムに Ubuntu mongodb パッケージがインストールされていることを示しています。ホストに Ubuntu mongodb パッケージがインストールされているかを確認するには、ターミナルまたは shell で次のコマンドを実行してください。

sudo apt list --installed | grep mongo

次のような出力が表示された場合、 MongoDB コミュニティ エディション のインストール手順を再試行する前に、Ubuntu mongodb パッケージをアンインストールする必要があります。

mongodb/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed]
mongodb-clients/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]
mongodb-server/bionic,bionic,now 1:3.6.3-0ubuntu1 all [installed,automatic]
mongodb-server-core/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]

インストール手順を再試行する前に、ターミナルまたは shell で次のコマンドを実行し、Ubuntu mongodb パッケージを完全に削除してください。

sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove

注意

sudo apt purge mongodb は Ubuntu mongodb パッケージによってインストールされたデフォルトの構成ファイルを削除します。構成ファイルを変更し、 変更内容を保持したい場合は、ファイルを /home/your-user-name などの別のディレクトリにコピーします。

出力に mongodb-org バイナリと mongodb バイナリが混在している場合は、Ubuntu mongodb パッケージの削除と消去を試みる前に、まず mongodb-org パッケージで apt removeapt purge、およびapt autoremove のコマンドを実行する必要があります。MongoDB 関連のパッケージをすべてクリアした後、インストール手順を再試行してください。

mongodを起動する際、Socket is already in use または Failed to unlink socket file エラーが発生する可能性があります。これらのエラーは通常、 mongod プロセス用に構成されたポートを、別のプロセス(通常はシステム上で実行中の別のmongod)が使用していることを示します。

次の例では、ss ユーティリティを使用して、LISTEN-l)状態にあるすべてのオープン TCP(-t)または UDP(-u)ソケットと、サービス名やホスト名(-n)を解決せずに各ソケット(-p)を使用しているプロセスをリストします。

sudo ss -tulpn

次の部分的な出力は、 27017 ポートでlisten している mongod プロセスを示しています。同じポートで別の mongod プロセスを実行しようとすると、ソケット エラーが発生します。

Netid State Local Address:Port
udp UNCONN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=12))
udp UNCONN 10.1.16.87%enp0s3:68 users:(("systemd-network",pid=652,fd=15))
tcp LISTEN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=13))
tcp LISTEN 0.0.0.0:22 users:(("sshd",pid=819,fd=3))
tcp LISTEN 192.168.1.15:27017 users:(("mongod",pid=10027,fd=12))
tcp LISTEN 127.0.0.1:27017 users:(("mongod",pid=10027,fd=11))
tcp LISTEN ::]:22 users:(("sshd",pid=819,fd=4))

システムにおいて mongod またはその他のシステム プロセスを目的のポートで実行している場合、実行中のプロセスをシャットダウンするか、新規の mongod プロセス用に新しいポートを選択する必要があります。net.port 構成ファイルオプションを指定し、 mongod が listen するポートを変更できます。

mongod プロセス ログにおいて、次のようなエラーが発生する場合があります。

Data directory ... not found
Attempted to create lock file on a read-only directory: ...

通常、これらのエラーは、MongoDB データディレクトリが存在しないか、 mongod にアクセスできないことを示しています。

データディレクトリは構成ファイル 内のstorage.dbPath 設定、またはコマンドライン上の mongod に対する --dbpath オプションで指定されます。

  • apt パッケージ マネージャーを使用して MongoDB をインストールした場合、デフォルトの/etc/mongod.conf 構成ファイルstorage.dbPath/var/lib/mongodb に設定します。

  • コマンドラインで mongod を実行し、--dbpath オプションを完全に削除すると、MongoDB はデフォルトで/data/db--dbpath を使用します。

上記のデータディレクトリ パスのいずれかを使用するか、構成ファイルまたはコマンドラインで独自のパスを指定するかに関わらず、 mongod を起動する前に、ファイルシステム上にデータディレクトリが存在することを確認してください。mkdir コマンドを使用して Ubuntu 上にディレクトリを作成できます。

mongod がデータディレクトリの内容を読み取り、書込み (write)、および移動できるようにするには ( rwx ユーザーまたはグループの権限)、データディレクトリに適切な権限と所有権を設定する必要があります。

mongod を起動する前に、 chownchmod を使用して権限を変更し、 user:group 所有権を適切に設定します

mongod をサービスとして起動するユーザー( sudo systemctl start mongod または sudo service mongod start のいずれかを使用する場合など)に対してこれらのエラーが表示されるのは、通常/etc/mongod.conf内のデフォルトの dbPath 値を次のように変更した場合のみです。

  • mongodb ユーザーまたは mongodb グループに対してディレクトリとその内容の読み取り、書込み (write)、または実行(rwx)が許可されていないディレクトリの場合、または

  • ディレクトリが存在しない場合。

サービス定義を使用せずに mongod を起動するユーザー(たとえば、ターミナルを使用してmongodを起動するユーザー)に対して、通常、次の場合にこれらのエラーが表示されます。

  • dbPath または --dbpath に指定されたディレクトリにおいて、ユーザーまたはユーザーが所属するグループに対してディレクトリまたはその内容の読み取り、書込み (write)、実行(rwx)が許可されていない場合、または

  • 指定されたデータディレクトリが存在しない場合。

戻る

.tgz を使用したインストールtarball