RVMでrubyをインストールしたのにrubyが認識されない

RVMを公式サイトのやりかたを見ながらインストールしたのですが、
なぜかrubyを動かそうとすると、そんなコマンドは無いと言われました。

今回は、この対応メモです。

223n@ja223n:~$ ruby -v
bash: ruby: コマンドが見つかりません

PC: DELL Inspiron 14
OS: Debian 9 (stretch) 64bit

223n@ja223n:~$ rvm install ruby-head
Warning, new version of rvm available '1.29.4', you are using older version '1.29.3'.
You can disable this warning with: echo rvm_autoupdate_flag=0 >> ~/.rvmrc
You can enable auto-update with: echo rvm_autoupdate_flag=2 >> ~/.rvmrc
Checking requirements for debian.
Requirements installation successful.
Installing Ruby from source to: /home/tatami/.rvm/rubies/ruby-head, this may take a while depending on your cpu(s)...
Cloning from https://github.com/ruby/ruby.git, this may take a while depending on your connection. 
HEAD is now at 297ae3437e mjit.c: clean up unit link from iseq
From https://github.com/ruby/ruby
* branch trunk -> FETCH_HEAD
Already up-to-date.
git checkout trunk
Copying from repo to src path...
ruby-head - #autoreconf.
ruby-head - #configuring.................................................|
ruby-head - #post-configuration..
ruby-head - #compiling...................................................-
ruby-head - #installing...............
ruby-head - #making binaries executable..
Installed rubygems 3.0.0.beta1 is newer than ignore provided with installed ruby, skipping installation, use --force to force installation.
ruby-head - #gemset created /home/tatami/.rvm/gems/ruby-head@global
ruby-head - #importing gemset /home/tatami/.rvm/gemsets/global.gems.......
ruby-head - #generating global wrappers........
ruby-head - #gemset created /home/tatami/.rvm/gems/ruby-head
ruby-head - #importing gemsetfile /home/tatami/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-head - #generating default wrappers........
ruby-head - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-head - #complete 
Ruby was built without documentation, to build it run: rvm docs generate-ri

さらに、Useコマンドを実行したところ、なにやらおかしなことを言われます。

223n@ja223n:~$ rvm use ruby-head
RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

確かに、 /bin/bash –login を実行すると、rubyは正しく動くようです。
参照関連が正しく設定されていないと思い調べたところ、こちらの記事を見つけました。

RVM 経由で Ruby を入れるときにハマったこと / tsujimotterのノートブック

記事にもあるとおり、以下のコマンドを実行する必要があったみたいです。

source ~/.rvm/scripts/rvm

今回は、~/.bashrcの最後に上のコマンドを追加して、正常に動くことを確認しました。

GitHubからCloneをする際にSSLエラーが発生する

vagrant-redmine を使ってRedmineのテスト環境を構築しようとしていたのですが、
GitHubからRedmineのソースをCloneする際にエラーが発生しましたので、
その際の原因と対処法についての覚え書きです。

環境

  • OS
    • Windows 10 Home 10.0.17134 ビルド 17134
  • Vagrant
    • Version 2.1.1
  • Vagrant Box histudy/stretch
    • Version 9.5.0
  • ウイルス対策ソフト
    • カスペルスキー インターネット セキュリティ 17.0.0.611 (m)

実行エラーメッセージ

TASK [redmine : checkout Redmine] **********************************************
fatal: [default]: FAILED! => {"changed": false, "cmd": "/usr/bin/git clone --origin origin https://github.com/redmine/redmine.git /opt/redmine", "msg": "Cloning into '/opt/redmine'...\nfatal: unable to access 'https://github.com/redmine/redmine.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none", "rc": 128, "stderr": "Cloning into '/opt/redmine'...\nfatal: unable to access 'https://github.com/redmine/redmine.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none\n", "stderr_lines": ["Cloning into '/opt/redmine'...", "fatal: unable to access 'https://github.com/redmine/redmine.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none"], "stdout": "", "stdout_lines": []}

原因

カスペルスキーの「ウェブ保護」が原因で、このエラーが発生していました。
現在のところ、「ウェブ保護」を「オフ」にすることで回避できます。
「除外リストの管理に追加」や「信頼するWebサイトの設定に追加」では、
本エラーの回避はできません。

参考

Ansible Night for Osaka 2018.07 に参加して

2018年7月12日にグランフロント大阪で開催された
Ansible Night for Osaka 2018.07にブロガー枠で参加してきました!

Ref. Ansible Night for Osaka 2018.07 〜始めてみよう、Ansible!〜 / connpass

ブロガー枠での参加では、ノベルティのプレゼントがあり、今回はタンブラーを頂きました。
家で使いたいと思います。

「Automation for Everyone」 Red Hat 平田千浩さん

Infrastructure as Codeの説明から始まり、運用管理自動化の課題と実現ポイント、
従来ツールの課題、キーワードについての説明がありました。

また、Ansible TowerとAWXの紹介と、事例紹介がありました。

中でも事例紹介のイギリス陸軍によるプログラマでなくても
Ansibleによる運用ができる点や、NASAによるAnsible Towerを
監視業務に流用する事例紹介は本当になんでもできるんだなと
改めて感じさせる内容でした。

「自動化は必然、エージェントレスなAnsibleによるBIG-IP構成管理」 F5ネットワークス 伊藤悠紀夫さん

Ref. スライド資料

スーパー銭湯通の方でした。

前の情シス部門でよくF5の導入漫画を読んでました。

主にAnsibleとF5のツールを用いた自動化のデモ紹介や
DevOpsをDevOpsSecに発展させてAnsibleによる
セキュリティ作業も自動化できることなどの発表がありました。

また、Ansible x F5の無料ライセンスもあり
F5 Super-NetOps Containerと呼ばれる検証環境のコンテナを
使うことで簡単に検証できることも紹介されました。

「チームでAnsibleを共有・活用するコツ ~Linux/Zabbix/AWS への適応事例と合わせて~」 ユニアデックス 大石直樹さん

Ref. スライド資料
Ref. issi176/ansible-demo / GitHub

Ansibleをチームで活用するために3段階に分けて
それぞれゴール設定を設けたチーム活用に持っていく方法の紹介がありました。

Git導入などの他の導入でも使える考え方だと感じました。

また、最後にアレクサを使って自動構築するデモが行われたのですが、
残念ながらアレクサさんはインターネット環境に接続できず
デモは動画に限るという名言を残されました。

「Software Defined Network」 咲楽屋 重兼さん

Ansible対応のインフラ機器メーカーが増えている中、
Ansible Readyじゃない機器を制御したい!!
IP未設定状態から設定したい!!
という熱い野望が語られた濃い時間でした…

「Ansibleやらかし話」 m.shikaさん

Ansibleでやらかした話ということで、
hostsに書いたところに流れなかった
import_playbook
LDAPモジュールのバグ
と言った、初心者が躓く事例紹介でした。

今回はhostsに書いたところに流れなかった話ということで、
[001:080]という範囲指定で実行したところ001が実行されなかった
やらかした話でした。

inventoryで範囲指定を使うのはokなのですが、
playbookのhostsに範囲指定を使うのは仕様で解釈が異なるということでした。

「AWSエンジニアだから今風のナウい感じに(ry」 サーバーワークス 岩本さん

うさぎはかわいい。岩本さんのお話でした。

git pushだけでAnsibleを実行する事例紹介で
手元の端末にAnsibleをインストールは不要になるので
誰でもメモ帳とGitでAnsibleを実行できるということでした。

まとめ
わさびちゃんはかわいい(うさぎ)

「 Ansible Vault 」 @curry9999 さん

だいすきなのは「win_hostname」。curry9999さんのお話でした。

Ansible Vaultを使って機密情報の内容保護やアクセス制御ができることについて
紹介がありました。

ところでAnsible Vaultは、cryptographyで早くなるらしいですよ、奥さん!

最後に

Ansible勉強会では、もくもく会のほか、Ansible Night、
Ansible飯などの開催を行っています。

他にもコミュニティメンターという人材育成などにも
取り組んでいるということでした。

今後、関西でもAnsibleの勉強会が発展して
東西のキワモノ紹介とかが行われると良いなと感じました。

更新履歴

  1. 公開されたスライド資料を追加しました。(自動化は必然、エージェントレスなAnsibleによるBIG-IP構成管理)