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構成管理)

 

Ansible Night in Osakaに参加してきます

今度、大阪で開催されるAnsible Night in Osaka 2018.07にブロガー枠で参加していきます。

Ansible Night in Osaka 2018.07

加古川IT系インフラ勉強会でAnsibleを知って数年。

最近では、Ansibleを使ってノートPC(Debian)にツールをセットアップするなど、
業務で使わない分、個人で使い始めている訳ですが、
今回は色々とお世話になっている wateさん からお誘いを受けて
参加することを決めました。

蒲郡市でHackカフェを開きたいなぁ…

ローカルマシン用のAnsibleを作り始めて

Windowsばかりで、あまりLinuxをセットアップすることもなく、でもAnsibleの靴音が迫りつつあるなか、

開発マシン(Debian)をAnsibleで構成しましょう。

という一言で、Ansibleを始めました。

https://github.com/223n/ts

正常に動くようになったのですが、Travis-CIが上手く動いてくれないので、少し四苦八苦しています。

Ansibleの道は遠いです

Oracle.DataAccessでパラメータエラーが発生する

Oracle.DataAccess.dll (Oracle 12c版)を使ってSQLを発行している場合に以下のようなエラーが発生します。

パラメータ・バインディングが無効です
パラメーター名:その他

このエラーですが、SQLのコメントに「:」を含む場合や、「/* */」でコメントを書いており「/」がコメント内にあり「:」がある場合などに、パラメータと誤認してArgumentExceptionエラーが発生するようです。

全角の「:」にする、「/」を削除するなどの対策が必要です。

2017年04月18日のこと

○仕様書の見直し

仕様書の見直しは大切です。

プログラムが分からなかったり開発者以外の人に内外の情報を伝える資料として作成されます。

ただ、仕様書の中身が正確かどうかについては分かりません。

仕様書の反映漏れ、プログラムの実装漏れ、プログラムのバグなど、本当にその通りに実装できているかは分かりません。

本当はExcelとかバイナリの履歴が分かりづらいもので作成するのではなく、MarkDown記法で書いて管理しておき、PDF出力するのが理想なのですが、伝統は早く時代に追いついてほしいです。

○Subversion万歳国家と黒船Git

SubversionからGitへの移行を推進するように言われているのですが、よく言われるのが

・(Subversionと違って、Pushなど)やることが多い。めんどくさい。

・仕組みが理解できない

・同じBranchなのに、なんか違う?

・複数ブランチを同時に見れないの?

などなど、様々な愚痴が寄せられました。

まず、集中型と分散型で考え方が違うので、そこからの説明になるのですが、会社は数ヶ月(中には数回の講習)でマスターできるものだと理解しているようなのですが、どこから手をつければ良いものやら…

最初からGitを使うと明言していた開発もSubversionを使っていますし、一体どうしたらいいのやらと現実逃避したい今日この頃です。