カテゴリー
Linux

【Ansible】playbook 実行時に sudo パスワードを入力して実行する方法

まとめ

  • ターゲットノードでのユーザに sudo コマンドが実行できるようにしておくこと。
    • CentOS 7.5 では、wheel グループに属させれば sudo コマンドが実行できるようになる。
  • ansible 実行時に指定する playbook (site.yml) の remote_user にターゲットノードのどのユーザで実行するかを指定すること。
    • become は true を指定すること。
  • ansible 実行時に、–ask-become-pass オプションを付けること。

他にもあるかもしれませんけれども、私は以上のポイントで動くようになりました。

以下、ターゲットノードで playbook の内容を実行するユーザ名を、ansible として説明します。

カテゴリー
Linux

最新の Oracle JDK パッケージをダウンロードするシェルスクリプトを勉強する

が、短いながらも Oracle JDK パッケージをダウンロードという素敵なことをやっています!素晴らしい!

だがしかし、何をやっているのかわかりません><。コメントを付けることで理解を深めました。

今回はそのノートとなります。

準備

カテゴリー
Linux

Ansible コントロールノードからターゲットノードへの疎通確認メモ

はじめに

検索をしてみても、Ansible 入門はさまざまありますけれども、理屈は抜きにして Ansible でコントロールする側 (コントロールノード) からコントロールされて構築される側 (ターゲットノード) の、Hello World 的なシンプルな手順がなかなかわかりませんでしたので、今回自分のためにメモいたしました。

カテゴリー
Linux

CentOS7 で Git をインストールするシェルスクリプト

手順

yum で git をインストールする。

コマンド

カテゴリー
Linux

CentOS7 で Ansible をインストールするシェルスクリプト

手順

  1. SSH 接続で root ユーザになる。
  2. yum-utils をインストールする。
  3. yum で EPEL リポジトリを追加する。
  4. yum-utils で EPEL リポジトリを無効にする。
  5. yum で EPEL リポジトリを指定して Ansible をインストールする。
カテゴリー
Linux

スマートフォンから ConoHa の VPS を作成した記録

接続許可ポート IPv4、接続許可ポート IPv6 は [全て許可] を選択
手順は PC のブラウザの ConoHa コントロールパネルから操作と同じでした。

次のページからアクセスします。

カテゴリー
Linux

【VPS】公開鍵認証による SSH 接続に切り替える手順

VPSならConoHa|登録者数12万アカウント突破 – 期間限定キャンペーン実施中 で VPS を契約する機会がありました。

実は今まで、公開鍵認証による SSH 接続は行ったことがありませんでした><。

今回、実際に行ってみましたのでその手順をノートします。

環境

  • クライアント: Mac
  • サーバ: VPS サービスの ConoHa、512 MB

ポイント

  • 作成する公開鍵、秘密鍵は、クライアントでもサーバでもどちらでも作成しても問題ない。
  • クライアントで公開鍵、秘密鍵を作るほうが楽。ssh-copy-id が使用できるため。
カテゴリー
Linux

【シェルスクリプト】CSV ファイルの任意のカラムの値がリストにある値と一致したらその行を除きたい。

やりたいことと対象のファイル

  • シェルスクリプトを使いたい。ファイルは exclude_list.sh
  • CSV ファイル (target.csv) の 2 列目の値が除外リストにある値と一致したらその行を除きたい。そして resutl.csv として出力したい。
  • 除外リスト (list.txt) は改行区切りのテキストファイル
  • 登場したファイルはすべて同じディレクトリに置く。
カテゴリー
Linux

【Ansible】SDKMAN! で Oracle Java インストール時のキーボード入力待ち状態に expect モジュールで対処する

まとめ

  • Ansible の expect モジュールを使用する。
    • pip – Manages Python library dependencies. — Ansible Documentation
    • virtualenv、pip に依存するとあるが、pip のみのインストールで問題なかった。
    • pip は epel リポジトリの python-pip でインストールした。
    • pip がインストールされれば、ansilbe の pip モジュールが使用できるようになり、楽に pexpect をインストールできるようになった。
  • OpenJDK のときは対話処理するための質問文が表示されない。このときは expect は無視されるので Ansible の実行に影響なし。
  • expect モジュールの timeout デフォルト値は 30 秒のため、Java のインストールに間に合わずエラーとなった。したがって、1200 (60 秒 × 20 分) を設定した。
    • timeout 値を超える前にインストールが完了すれば次の処理へ進んだ。したがって、timeout には大きな値を入れておけば良い。
カテゴリー
Linux

【CentOS7】SDKMAN! をシステムワイド (全ユーザが使えるよう) にインストールする方法

root ユーザで SDKMAN! を使ってインストールした Java や Grails を、他のユーザ使用できるのならシステムワイドにインストールする必要はない。

そのように考え試してみましたところ、ダメ!

具体的には root ユーザで Java をインストールして、別ユーザで java コマンド確認したら無いって言われてしまいました。

  • 全ユーザが sdk コマンドで SDK をインストール等できる。
  • 全ユーザが sdk コマンドで使用可能にした Java 等を利用できる。

という環境を作成してみました。

まずは従来の普通の方法を見た後、システムワイドに SDKMAN! をインストールする方法書いていきます。