web-dev-qa-db-ja.com

yumリポジトリ定義ファイルを作成するためのbashスクリプト

以下のbashスクリプトを取得して、yumのインストールを正常に促進できるmongodbリポジトリ定義ファイルを作成するにはどうすればよいですか?

ご覧のとおり、スクリプトの現在のバージョンが失敗の原因になっています。これについては、以下で説明します。

現在のbashスクリプトの関連セクションは次のとおりです。

echo "[STARTING TASK 4: Install MongoDB]"
echo "... About to create the repo file with a cat command ..."
cat >/etc/yum.repos.d/mongodb-org.repo <<EOL
line 1, [mongodb-org-3.4]
line 2, name=MongoDB Repository
line 3, baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
line 4, gpgcheck=1
line 5, enabled=1
line 6, gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
line 7 line
... 
EOL

echo "... About to confirm with yum repolist"
yum repolist
echo "... About to yum -y install mongodb-org"
yum -y install mongodb-org
echo "... About to systemctl start mongod"
systemctl start mongod

スクリプトの実行中のコンソール出力は次のとおりです。

build   18-Dec-2017 17:09:07    [STARTING TASK 4: Install MongoDB]
build   18-Dec-2017 17:09:07    ... About to create the repo file with a cat command ...
build   18-Dec-2017 17:09:07    ... About to confirm with yum repolist
build   18-Dec-2017 17:09:07    Loaded plugins: fastestmirror, langpacks
error   18-Dec-2017 17:09:07    
error   18-Dec-2017 17:09:07    
error   18-Dec-2017 17:09:07    File contains no section headers.
error   18-Dec-2017 17:09:07    file: file:///etc/yum.repos.d/mongodb-org.repo, line: 1
error   18-Dec-2017 17:09:07    'line 1, [mongodb-org-3.4]\n'
build   18-Dec-2017 17:09:07    ... About to yum -y install mongodb-org
build   18-Dec-2017 17:09:07    Loaded plugins: fastestmirror, langpacks
error   18-Dec-2017 17:09:07    
error   18-Dec-2017 17:09:07    
error   18-Dec-2017 17:09:07    File contains no section headers.
error   18-Dec-2017 17:09:07    file: file:///etc/yum.repos.d/mongodb-org.repo, line: 1
error   18-Dec-2017 17:09:07    'line 1, [mongodb-org-3.4]\n'
build   18-Dec-2017 17:09:07    ... About to systemctl start mongod
error   18-Dec-2017 17:09:07    Failed to start mongod.service: Unit not found.

ご覧のとおり、このエラーは、スクリプトが読み取り可能なバージョンの/etc/yum.repos.d/mongodb-org.repoを作成できないことが原因であると思われます。対照的に、手動コマンドを使用して、ファイルの作業バージョンを作成することができました。

1
CodeMed

あなたの問題に対する最短の解決策は、レポ生成コードだと思います。次のように変更します。

cat >/etc/yum.repos.d/mongodb-org.repo <<EOL
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6Server/mongodb-‌​org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
EOL

無関係なテキストが印刷されないようにします。 7行目以降に何が含まれていたかはわかりませんが、先頭の「行...」のテキストを削除するという考えを続けます。

2
Jeff Schaller