rbenvとruby-buildでRubyのインストール環境を揃える
- gitをインストール
1 |
yum install -y git |
- gitをインストールしたら次にrbenvをインストール
1 |
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv |
1 |
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile |
1 |
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile |
1 |
source ~/.bash_profile |
ruby-buildをインストール
1 |
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build |
1 |
cd ~/.rbenv/plugins/ruby-build |
1 |
./install.sh |
Ruby 2.3.1をインストール
1 2 3 4 5 6 7 8 |
rbenv install -l 実行結果 2.3.1 2.4.0-dev . . . |
- はじめにrubyの依存パッケージをインストール
1 |
yum install -y bzip2 make gcc openssl-devel readline-devel zlib-devel |
- rubyをインストール
1 |
rbenv install 2.3.1 |
- gemでインストールした実行ファイルを実行するようにする
1 |
rbenv rehash |
globalでrubyの実行versionを指定
1 |
rbenv global 2.3.1 |
- 最後に確認
1 2 3 4 |
ruby -v 実行結果 ruby 2.3.1p112 (2016-04-26 revision 54768) |
※ whichが無い場合は
1 |
yum install -y which |
1 2 3 4 |
which ruby 実行結果 ~/.rbenv/shims/ruby |
1 2 3 4 |
which gem 実行結果 ~/.rbenv/shims/gem |
CentOS 6.7にdocker-engine 1.7をインストールし、MongoDBのコンテナ起動までしてみる
Vagrant上のCentOS 6.7を使用する
1 2 |
$ cat /etc/redhat-release CentOS release 6.7 (Final) |
yumリポジトリをdocker用にセットし、yum installする
1 2 3 4 5 6 7 8 9 10 |
$ cat > docker.repo <<-EOF [dockerrepo] name=Docker Repository baseurl=<a href="https://yum.dockerproject.org/repo/main/centos/6">https://yum.dockerproject.org/repo/main/centos/6</a> enabled=1 gpgcheck=1 gpgkey=<a href="https://yum.dockerproject.org/gpg">https://yum.dockerproject.org/gpg</a> EOF $ sudo mv docker.repo /etc/yum.repos.d/ $ sudo yum install -y docker-engine |
インストールしたdockerのバージョンを確認する
1 2 |
$ docker -v Docker version 1.7.1, build 786b29d |
必要ならdaemon登録
1 |
$ sudo chkconfig docker on |
dockerを起動する
1 |
$ sudo service docker start<br> |
これで毎回sudoつければdockerコマンドが使えるけど、公式に書いてあるとおりdockerグループを作ってユーザーを追加する。
1 |
$ docker ps<br>Get <a href="http:///var/run/docker.sock/v1.19/containers/json">http:///var/run/docker.sock/v1.19/containers/json</a>: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS? |
sudoをつけると実行できる
1 2 |
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
dockerグループにユーザーを追加する
1 |
$ sudo usermod -aG docker ユーザー名 |
筆者の場合は、vagrant環境なので、ユーザー名は、vagrantとした。
ログアウトして再度ログイン
sudo不要でも実行できるようになった
1 2 |
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
続けて、MongoDBのコンテナイメージをインストールする
1 |
$ docker pull mongo |
最新バージョンのMongoDBのコンテナイメージがインストールされる。
取得するdockerのリポジトリは、以下。
https://hub.docker.com/_/mongo/
MongoDBのコンテナの作成&起動
MongoDBの本体(mongod)をdocker runコマンドで作成して、起動する。
1 |
$ docker run --name some-mongo -d mongo |
オプションはそれぞれ、
–nameはコンテナのエイリアス指定
-dはバックグラウンド実行
最後にコンテナイメージであるmongoを指定
docker psコマンドで起動確認する。
1 2 |
$ docker ps<br>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 311908c07fda mongo "/entrypoint.sh mong 8 seconds ago Up 7 seconds 27017/tcp some-mongo |
コンテナの停止
1 |
$ docker stop some-mongo |
コンテナの二回目以降の起動
1 |
$ docker start some-mongo |
参考資料
CentOS 6.7にdocker-engine 1.7をインストールする
https://qiita.com/gillax/items/6f864e7c21c6a3e4173b
Dockerコンテナの作成、起動〜停止まで
https://qiita.com/kooohei/items/0e788a2ce8c30f9dba53
MongoDBをDockerでインストールする
https://qiita.com/fetaro/items/34e29a21b5f0da6449ef
Linux(CentOS)にNTFSをマウントする方法
過去にLinux(CentOS)のサーバに、NTFSのディスクをマウントする必要があったので、その時の解決策をメモする。
例えば、CentOSのサーバから、WindowsPCにデータを外付けHDDで移行するために、
NTFSの外付けHDDをCentOSのサーバでも認識させる必要があるシーンにおいて活用できる。
CentOSサーバ — 外付けHDD — WindowsPC が構成のイメージだ。
1. 前提
CentOSのバージョン
1 2 |
$cat /etc/redhat-release<br> CentOS release 5.6 (Final) |
カーネルのバージョン
1 2 |
$cat /proc/version<br> Linux version 2.6.18-238.9.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) |
ディスクの状態
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$sudo fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1305 10377990 8e Linux LVM Disk /dev/sdb: 2116 MB, 2116550656 bytes 255 heads, 63 sectors/track, 257 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 * 1 258 2066880 7 HPFS/NTFS Partition 1 has different physical/logical endings: phys=(256, 254, 63) logical=(257, 82, 17) |
/dev/sdb1がusbdiskでNTFSファイルシステム。今回、このusbdiskをCentOSにマウントしてみる。
とりあえず、何もパッケージを入れない状態でマウントしてみると、失敗する。
1 2 |
$sudo mount -t ntfs /dev/sdb1 /mnt/usbdisk mount: unknown filesystem type \'ntfs\'; |
2. 解決方法
必要なパッケージをインストール
必要なパッケージは以下の5つである。
- dkms-2.1.1.2-1.el5.rf.noarch.rpm
- dkms-fuse-2.7.3-1.el5.rf.noarch.rpm
- fuse-2.7.4-8_12.el5.i386.rpm
- fuse-ntfs-3g-2013.1.13-2.el5.rf.i386.rpm
- kernel-devel.i686 0:2.6.18-406.el5
※5は、1に必要。5を先に入れないと、次のようなエラーが出る。5は、yumでインストールできる。
1 |
kernel-devel is needed by dkms-2.1.1.2-1.el5.rf.noarch |
※4をインストールする前に、3を先にインストールする必要がある。
1 2 3 4 |
$ sudo rpm -ivh fuse-ntfs-3g-2013.1.13-2.el5.rf.i386.rpm warning: fuse-ntfs-3g-2013.1.13-2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6 error: Failed dependencies: fuse >= 2.6.3 is needed by fuse-ntfs-3g-2013.1.13-2.el5.rf.i386 |
マウントする。
1 2 3 |
$ sudo mount -t ntfs /dev/sdb1 /mnt/usbdisk The disk contains an unclean file system (0, 0). The file system wasn\'t safely closed on Windows. Fixing. |
マウントできているか確認する。
1 2 3 4 5 6 7 8 9 |
$ mount /dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/sda1 on /boot type ext3 (rw) tmpfs on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sdb1 on /mnt/usbdisk type fuseblk (rw,allow_other,blksize=4096) |
1 2 3 4 5 6 7 |
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 8.6G 1.4G 6.8G 18% / /dev/sda1 99M 19M 76M 20% /boot tmpfs 188M 0 188M 0% /dev/shm /dev/sdb1 2.0G 34M 2.0G 2% /mnt/usbdisk |
-> /mnt/usbdiskにマウントできた。
ファイルシステムタイプを確認する。
1 2 3 4 5 6 7 8 |
$ sudo fdisk /dev/sdb -l Disk /dev/sdb: 2116 MB, 2116550656 bytes 255 heads, 63 sectors/track, 257 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 258 2066880 7 * HPFS/NTFS Partition 1 has different physical/logical endings: phys=(256, 254, 63) logical=(257, 82, 17) |
-> ちゃんと、NTFSとして認識していることが確認できた。
CentOS 6.7 に PostgreSQL 9.5 を yumでインストールする手順
はじめに
CentOSの初期設定では、PostgreSQLはbaseリポジトリからインストールされるようになっている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ yum list postgresql* 読み込んだプラグイン:fastestmirror Determining fastest mirrors * base: ftp.tsukuba.wide.ad.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp 利用可能なパッケージ postgresql.i686 8.4.20-5.el6_7 updates postgresql.x86_64 8.4.20-5.el6_7 updates postgresql-contrib.x86_64 8.4.20-5.el6_7 updates postgresql-devel.i686 8.4.20-5.el6_7 updates postgresql-devel.x86_64 8.4.20-5.el6_7 updates postgresql-docs.x86_64 8.4.20-5.el6_7 updates postgresql-jdbc.noarch 8.4.704-2.el6 base postgresql-libs.i686 8.4.20-5.el6_7 updates postgresql-libs.x86_64 8.4.20-5.el6_7 updates postgresql-odbc.x86_64 08.04.0200-1.el6 base postgresql-plperl.x86_64 8.4.20-5.el6_7 updates postgresql-plpython.x86_64 8.4.20-5.el6_7 updates postgresql-pltcl.x86_64 8.4.20-5.el6_7 updates postgresql-server.x86_64 8.4.20-5.el6_7 updates postgresql-test.x86_64 8.4.20-5.el6_7 updates |
PostgreSQLのyumリポジトリの追加
PostgreSQLは、公式の yum リポジトリを提供しているので、そのリポジトリを指定してインストールするように設定を変更する。
Continue reading “CentOS 6.7 に PostgreSQL 9.5 を yumでインストールする手順”