Linux

メモメモ…。

yumコマンドでインストール済みのものを表示する方法
http://blog.layer8.sh/ja/2011/12/21/yum%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%B8%88%E3%81%BF%E3%81%AE%E3%82%82%E3%81%AE%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/
yum list installed | grep 'php-xml'

オペレーティングシステムのバージョンや Linux 上で動いている libc, glibc XFree86 のバージョンを調べるにはどうすれば良いですか?
http://www.mathworks.co.jp/support/solutions/ja/data/1-JR514F/index.html?solution=1-JR514F
cat /proc/version

rpmコマンドでRPMパッケージがインストールされているかを調べる
rpm -qi glibc
rpm -qi libstdc++

/lib/libc.so.6
xdpyinfo | grep vendor

共有ライブラリのバージョン確認
ls -l /usr/local/lib | grep libstdc++

ldconfig :共有ライブラリを認識させる
http://linuxcom.info/linux-cmd-ldconfig.html

yumで古いバージョンのソフトウェアをインストールするには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/901instoldver.html
yum search hogehoge
yum install hogehoge-7.7.7

CentOS 外部レポジトリの追加(EPEL)
http://www.tooyama.org/yum-addrepo-epel.html

g++のインストール
# yum install gcc-c++

yumとかapt-getで古いバージョンのライブラリをインストールしたい時に、レポジトリに無かったらどうするんだろう?
ソースコードを落としてmakeするのが遠回りでも確実なのかなぁ。。

パッケージの中のバイナリがリンクするライブラリのバージョンが違う事もあるだろうし、共有してる部品の依存関係で苦しむのはDLL Hellに近いのかな?
組み合わせでケースが増えるのはしょうがないか。

世の中に用意されているパッケージってマイナーバージョン違いでもちゃんとファイル名を分けているっぽい。
ただバージョンが付いていないコマンド名だけ打ってもちゃんと実行されるから、シンボリックリンクが make install で作られるんだろうか?
パッケージのスクリプトでインストール先が指定されている場合にそれを後から変更出来るのかな?

まぁマイナーバージョン違いぐらいであればシンボル変わって無い事が多いだろうからリンクに失敗しないだろうし、ビルドして問題無く動くならバージョン合わせに神経質にならなくても良いのかもしれない…。
使っているライブラリの上位互換についての知識が無いので不安になってしまう。

[Fedora]古いバージョンの gcc をインストールする[MATLAB]
http://blog.livedoor.jp/itukano/archives/51848514.html

既存のメインGlibc2ライブラリ以外にバージョンの異なるGlibc2をインストールし、gccによるコンパイルで利用出来るようにします
http://www.ryouto.jp/linux/linux_58.html

update-alternativeコマンドでシンボリックリンクの張り替えを行ってくれるらしい。
ただgccの切り換えは環境変数でやった方が良いらしい。

Having multiple versions of GCC
http://www.linuxquestions.org/questions/programming-9/having-multiple-versions-of-gcc-600933/

gccの切り替え
http://www.youchikurin.com/blog/2007/09/gcc.html
http://www.eml.ele.cst.nihon-u.ac.jp/~momma/wiki/wiki.cgi/Ubuntu/gcc%E3%81%AE%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88.html

alternatives による標準コマンドの切り替え
http://vinelinux.org/docs/vine6/cui-guide/update-alternatives.html

今回のお題 - alternatives でいろんなものを共存させる
http://www.usupi.org/sysad/150.html

debiangccのバージョンを切り替える
http://d.hatena.ne.jp/kinneko/20080828/p7

gcc が alternatives を使わないわけ
http://d.ma-aya.to/?date=20050707#p04
システムに関連するプログラムをupdate-alternativesで切り替えるのは危険
http://d.hatena.ne.jp/NU_Pan/20121119/1353306506

Makefileの中でgccなどのパスを切り替えるために環境変数を設定したいのですが
http://q.hatena.ne.jp/1265695208

update-alternativesでのgccの切り替えは非推奨らしい。
環境が統一されてるなら、Makefileに書くのも良いのかも。

しかしgmakeといえば代替のソフトが世の中にいっぱいあって混沌としてるというか物量に圧倒される。たくさんの人が色んなのを書いてるっていう事だから良い事なのだから前向きに捉えよう。