Coderとは
Coderとはweb上で使用できるVisualStudioCodeです。
githubのrepositoryはこちら。
要はServerを開発機として使え、そして例えばnginxやapacheなどを使用すればIpadでも開発ができるということ。
……果たしてそういうことをするのかということは置いておいて。
なぜCentOS6.10なのか
CoderはCentOS7系には対応している。
そしてもちろんUbuntuにも対応している。
しかし、CentOS6系はglibcが古いため対応していない。
Coderは親切にもDockerに対応しており、しかもDockerFileまで用意しているのでDockerさえ入っていれば簡単に立ち上げられる。
が、CentOS6系は古いタイプのDockerにしか対応していない。
なのでDockerで立ち上げるのではなく直接Coderを立ち上げようと試みたが、glibcが対応していないということだ。
glibcを入れ替える
これは偉大なる先人が行ってくれているのですぐに解決する。
#! /bin/sh
# update glibc to 2.17 for CentOS 6
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm
sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \
glibc-common-2.17-55.el6.x86_64.rpm \
glibc-devel-2.17-55.el6.x86_64.rpm \
glibc-headers-2.17-55.el6.x86_64.rpm --force --nodeps
なお、無理やりCentOS7のものを入れようとするとクラッシュするのでしてはいけない。
仮想環境でない限り絶対にやめよう。
libstdc++ の入れ替え
次に libstdc++ を入れ替える。
libstdc++を入れ替えようとしておそらく一番最初にヒットするのはソースからbuildすることだろう。
しかし実はそんなことをする必要はない。
そもそもソースからbuildしようとすると途方も無い時間がかかるため、待っている時間は暇だし環境によってはPCが使えないなんてこともあるかもしれない。
そこで今回はソースからではなくrpmから抽出する方法を取ることにした。
こちらはCentOS7のものに変えても問題ない為、CentOS7のものを抽出していく。
wget http://ftp.riken.jp/Linux/centos/7/os/x86_64/Packages/libstdc++-4.8.5-39.el7.x86_64.rpm
rpm2cpio ./libstdc++-4.8.5-39.el7.x86_64.rpm | cpio -id
sudo cp usr/lib64/libstdc++.so.6.0.19 /usr/lib64/
cd /usr/lib64/; sudo mv libstdc++.so.6 libstdc++.so.6.bak
sudo ln -s libstdc++.so.0.19 libstdc++.so.6
code-serverを立ち上げる
後はcode-serverのバイナリファイルをgithubからダウンロードし
/usr/bin/
直下においてあげればcode-server
でCoderが立ち上がる
localhost以外で使用する場合はnginxやapache等でproxy設定をすればたぶん出来るハズ。(やったことない)