【 Linux 】読み取り専用ファイルを強制保存! 備忘録
readonly のファイルを sudo で強制的に保存する
rootでfileを編集してないときに
大量に編集してしまってから気が付いた。
ああああああ
読み取りファイルだあああああああああ(;_;)
これ書き直さなきゃダメ・・・?
って感じになったのでググってみた。
救済措置とし、readonly のまま編集してしまったファイル(バッファ)を sudo を使って強制的に保存する方法。
めっちゃいい記事ある・・・(:_;)!
助かった・・・(;_;)!!!
よし、試そう。
Ansible Role活用! 備忘録
Ansibleを使い始めて約1ヶ月。
playbookを作成しながら思ったことがある。
・・・僕が書いたPlaybook見ずれぇ!!!
どうにかならないかとググってみたら、
Roleを活用することで綺麗に見やすくPlaybookが作れるみたい…🤥
ふむ・・・Roleとはなんぞや?
Roleとは
playbookで読み込むモジュール。 playbookは複数のRoleを読み込むことができるため、構成する内容を適切な粒度のRoleに分割し、それをインクルードする形でplaybookを構成する。
って感じらしい。
Ansibleのドキュメント張っておきます!
なるほど・・・確かに見やすくなりそう!
ってことで使っていきたいと思います。
ansible / inventry/ hosts roles/ httpd/ tasks/ main.yml nkf/ tasks/ main.yml test.yml
ディレクトリ構成はこんな感じ。(見ずらいですね、、、すみません。)
root直下にansibleを作成。
ゲストでhttpdのインストールとnkfのインストールを行ってみる。
Roleはrolesディレクトリの配下に作成。Roleの下には、tasks, ディレクトリを作成して、Roleの定義を記述。
# roles/httpd/tasks/main.yml # - name: install httpd yum: name=httpd state=lates
# roles/nkf/tasks/main.yml # - name: install nkf yum: name=nkf state=lates
よし、準備はできた。
次は実行するPlaybookの作成。
# ansible/test.yml # - hosts: targets roles: - httpd - nkf
よし実行っと。
# ansible-playbook -i /ansible/inventory/hosts test.yml TASK [httpd : install httpd] ***************************************************************** ok: [182.22.156.198] TASK [nkf : nkf install] ******************************************************************* ok: [182.22.156.198]
おおおお通った!!
実行するPlaybook4行だけ!!!すげぇ!!!奇麗!!w
いろいろ出来るようになると楽しいですね!もっと勉強します!!!
ではまた~~~🤥
Ansible ファイルの解凍はtarではなくunarchive!? 備忘録
Vagrantで作った仮想環境の中でAnsibleを使ってサーバーのPlaybook作成時に
tarファイルの解凍を実行すると、
[WARNING]: Consider using unarchive module rather than running tar の警告文
TASK [WIN : copy win arcfile] ****************************************** ok: [182.22.156.198] TASK [WIN : win arcfile unpack] **************************************** [WARNING]: Consider using unarchive module rather than running tar changed: [182.22.156.198] TASK [WIN : win arcfile unpack] **************************************** ok: [182.22.156.198]
あれ?実行終了してないしエラーではないのかな・・・?
見た感じtarじゃなくてunarchive使うといいよ~って事だと思いながらも
気になってしょうがないのでググってみた。
調べたところ、特に問題はなさそう。
でも、せっかくモジュールがあるんだから使いなよ!って言われてるので今回はunarchiveを使ってみようと思う
- name: win arcfile unpack command: tar zxf WIN_pkg-2.2.4.tar.gz args: chdir: /usr/local/WIN
から↓に変更することで警告文出なくなった🤥
- name: win arcfile unpack unarchive: src: ../files/WIN_pkg-2.2.4.tar.gz dest: /usr/local/WIN
TASK [OriginalWIN : win arcfile unpack] **************************************** changed: [182.22.156.198]
いろんなモジュールあるんだなぁ~
もっと勉強せねば!!
Ansible 疎通確認で詰まった。備忘録
Vagrantで作った仮想環境の中でAnsibleを使ってサーバーのPlaybook作成時に
ホストとゲストの疎通確認でparmission denied のエラーが出てしまい、ず~~~と詰まってた🤥
パーミッション・・・
権限的なやつだっけか・・・(^_^)
$ ansible all -i ansible/inventory/hosts -m ping 182.22.156.~ | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n", "unreachable": true }
ググってみたところやっと解決方法を見つけました。
👇
inventory内の設定ファイルで通信するsshユーザーを指定すること
[web] 182.22.156.~ [db] 182.22.157.~ #これを追加 [all:vars] ansible_ssh_user=vagrant
(対象のIPアドレス) | success >> { "changed": false, "ping": "pong" }