Linuxの新しい常識に関する世界観です。
ソースコード(tarball)からソフトウェアをコンパイルしてインストールする時は、「/usr/local/パッケージ名」にインストールして、PATHを通すこと。
UNIXの古いしきたりはどうでも良い。むしろ、こうする場合もある。
昔から、/usr/localにパッケージ名を付けずにインストールすると、管理がとてもし辛い。
パッケージ名を付けたディレクトリにインストールすることで、管理がとても楽になる。
あるいは、/home以下にインストールしても良い。
ソースからのインストールを参照のこと。
Linuxのコマンドラインなんか、何も賢くない。デスクトップ環境はMATEを使うこと。
MATEを参照のこと。
何かと嫌悪されるLibreOfficeだが、本当は悪くない。
ワードやエクセルのような高度なコンピュータ環境を得ることが出来る。本当に悪くない。
viやEmacsなんか、習得しなくて良い。LibreOfficeでほとんどのことは出来る。
LibreOfficeを参照のこと。
便利なパッケージマネージャだが、Linuxの習得段階で使うと、何も分からないまま動いてしまって、習得が出来なくなる。
最初の段階では、出来るだけソースコードをコンパイルすることも学ぶこと。
それでもパッケージマネージャを使いたいなら、Gentoo LinuxやArch Linuxのようなディストリビューションが良いだろう。
Linuxパッケージ管理も参照のこと。
FedoraやUbuntuのような安定バージョンをリリースするディストリビューションは、習得のためにならない。
ローリングリリースのディストリビューションの方が、フリーソフト好きには良いだろう。特に、openSUSEがお勧めだ。
出来ることなら、最初はGentoo Linuxを使ってほしい。Portageはシステムの習得のためになる。
GentooやSUSEやArch Linuxを参照のこと。
ある意味、自動設定や自動認識は良くない。
カーネルもきちんと手動でコンパイルした経験があるべきだし、コマンドでハードウェアなどのデバイスの設定や初期化も出来るべきだ。
ただ、そんなに難しくは無い。ネットワークの設定はドキュメントを読めば誰でも出来る。
mountやchrootなどのコマンドを覚えるために、Gentoo Linuxに触れてほしい。
カーネルはある意味、一番一般的な手動コンパイルのソフトウェアだ。makeコマンドで簡単に出来る。以下を参照のこと:
Linuxカーネル(ソースコード・カーネルモジュール)を参照のこと。
初心者に「manを読め」とは言うが、僕は初心者がmanコマンドの内容を理解出来ると思えない。
出来るだけ、Debianなどのディストリビューションのドキュメントを読むこと。何度も言うが、Gentoo Linuxがお勧めだ。
あとは、コマンドは適当に知っていれば良い。本当はむしろ、システムコールとライブラリ関数を知るべきだ。それでコードが読めるようになる。
UNIXコマンド(ドキュメント)やLinuxシステムコール・APIも参照のこと。
プログラミングを学びたいなら、C言語ではなく、Perlからやると良い。
僕が最初に学んだのも、きっときちんと辿ればPerlだった。Perlは最初からインストールされているから、簡単に遊ぶことが出来る。
Perlを学ぶ上でお勧めのサイトは以下。
そもそも、C言語なんか学んでも、大したことは出来ない。PHPはWebだし、JavaはLinuxと相性が良いように見えない。Perlが一番最初のプログラミング初心者に良い。
初心者がJavaをやると、public static void main(String[] args)の意味が分からない。
むしろ、クラスやオブジェクトの概念がいまいち分からないだろうから、つまらないだろう。
逆に、C言語をやると、ポインタの意味が分からないだろう。そして、文字列の操作が難しく感じるはずだし、関数もprintf()しか分からないはずだ。
Perlは、そういう悪しき慣習に汚染されていない。最初の素直な知性で、素直に分かることが出来る。
Perlをやったあとは、僕はGUIのプログラミングをしてほしいと思うが、DelphiやVBはWindowsでしかすることが出来ない。僕は、CでいきなりGTK+を書けば良いと思う。
Perlでどんなプログラムを書けば良いか分からないだろうが、僕は中学生でも書けるような簡単なネットゲームのようなものを作れば良いと思う。中学生の頃の僕と同じだからだ。
僕はその後、Delphiをやって、PHPやC#を学んでいた。だが、満足の行くプログラムは書けなかった。適当に改造をいくらかして、マクロをWikipediaで書いていた。
Perlも参照のこと。
僕は自分で試したことは無いのだが、ネットを見ていると、Fedoraの最新開発版「rawhide」は「usable(使える)」らしい。
LinuxカーネルやGNOMEの開発バージョンなど、何でも開発バージョンが入るので、開発者を目指す方はrawhideをインストールしても良いかもしれない。
不安定度が違うかもしれないが、昔僕がMozillaのNightly Buildを使っていたのと良く似ているかもしれない。
もう少し安定度を期待するのであれば、Debianのsid(不安定版)が良いだろう。
ネットを見ていると、僕の想像していたのと違って、rawhideは不安定版ではなく、最新の使えるバージョンが入るらしい。だから、ローリングリリース版だと思えば良い。
旧Red Hat Linux時代から、Red Hatは最新開発版としてrawhideをリリースしているが、その頃とは事情が違うのかもしれない。そこらへんは分からなかった。
Fedoraを参照のこと。