見出し画像

春から高専の人へ告げる、Linuxを入れろ!!

注:この記事は半分真面目半分布教記事です

春から高専に入るそこの君!今すぐパソコンにLinuxを入れるんだ!

どうも、シンエヴァ見てきたビデカメです。
ラストシーンでゲンドウが親指を立てながら溶鉱炉に沈んでいくシーンは涙なしには見られなかった。

さて、まずはじめに、高専に合格した方々、おめでとうございます。
Twitterでは"#春から高専"なんてハッシュタグもありますが、そんな春から高専の皆さん、とりわけ情報科(S科、I科、J科あたり)の人に言っておきたいことがあります。
それは、「パソコンにLinuxを入れろ」です。

(パソコンの選び方に関してはここでは述べないのでググって下さい、ググり力は学科問わず高専で生活する上での必須能力なので)

何故Linuxなのか

まず、高専では殆どの学科でプログラミングをやります。
C言語やらJavaやらPythonやら、言語は学校や学科によって異なりますが、どれにせよプログラミングは必修ですし、そもそも高専、とりわけ情報科なんて志望した以上プログラミングの授業が嫌という人は少ないでしょう。
まあでも、そんな人でもプログラミング未経験って人もいるでしょうし、経験者でもWindows(あるいはmacOS)で困ってないって人もいるでしょう。
ただ、おそらくほとんどの高専では、プログラミングの授業はLinux上で行っているはず。
理由は簡単で、Linuxの方がプログラミングをするのにいろいろ都合が良いから。
一昔前とは違い、最近はUbuntuだとかFedoraだとかの初心者にも優しいLinuxディストリビューションも豊富にあるので、Linux=難しいという認識を持っている人はここで改めましょう。
そもそも、極端な話、最近のOSはGUIさえあればどんなOSでも、操作感的な意味では使い勝手に大きな差はありません。
せいぜい操作方法とかパフォーマンスに若干差がある程度、そもそもそこら辺を気にする人はこの記事を読む必要性もないと思うので今すぐタブを閉じましょう。
インターネットやめろ

そして何より、Linuxの方が色んな場面でWindowsより優れています。
ソフトウェアの豊富さはもちろん、使い手のモチベーションや、ほんの少し深いところ(プログラミングはじめました程度の地点)以降の扱いやすさは明らかに他のOSよりも強いです。

何より声を大にして言いたいのは色々混ぜこぜして余計なゴミ(比喩と文字通りの意味両方)がわんさかあるWindowsより軽い点。
もちろん入れるソフトで重さは変わりますが、動作はかなり軽快です。

そもそもLinuxって何?

LinuxはUNIXを参考に開発されたコンピューターのオペレーティングシステムにおけるカーネルの一種で、一応Unix系と表されてはいるものの、Unix互換OSから派生して作られたMinixの派生OSなのでUnixそのものの派生OSではない。(なのでUnix系統図でも別枠扱いになっている)

はい、上の説明ですべて理解した人はタブを閉じましょう。
私がここから先説明できる事はありません。

オペレーティングシステム?カーネル?Unix?Minix?と思ってる方
安心してください、それが正常な反応です多分、オペレーティングシステムぐらいは小学校か中学校かで習うかもしれない。

簡単に説明すると、プログラマーはもちろん、サーバーや組み込み機器などにも幅広く使われている基本ソフトのことです。
上の説明でわからない言葉があるならそれはググりましょう。

歴史としては

むかしむかしあるところにUNIXというパソコンを動かすソフトがあました。
UNIXは色々あって無料でした。
そのおかげもあり、UNIXは商用コンピュータから個人用コンピュータまで、幅広く使われていました。
しかし、その後また色々あってUNIXは有料になりました。
で、アンドリュー・タネンバウムという人が、仕方がないので無料だった頃のUNIXを元にMINIXを作りました。
そして、リーナス・トーバルズという人が自作Unixを動かしたいとかいろいろ考えて、MINIXを元にLinuxを作りました。
その後、Linuxは色んな人が手を加えて使いやすく改良していく仕組みになり、そのおかげもあって今では周りを見渡せば様々なところで使われるほどになりましたとさ。
めでたしめでたし。

って感じのOSがLinuxです。
まあそれっぽく書くために端折ってたりしますが詳しく知りたい人はWikipediaでも見てください。

LinuxはOSの中のカーネルというOSの更に基本的部分のことを指す(広義的にはOS全体を指すこともある)ので、Linuxと一様に言ってもそれをもとにパソコンに入れればすぐに使えるような状態にした、ディストリビューションと呼ばれる様々なOSに分かれています。
例えるなら、Linuxはケーキのスポンジ、Linuxディストリビューションはそれにクリームとか果物とか乗っけてケーキにしたもの、とでも考えてください。
面倒なのでこの先はLinuxディストリビューションをLinuxと呼んで、カーネルとしてのLinuxを指す場合はその都度Linuxカーネルと言います。

Linuxってどういうのがあるの?

Linuxはオープンソースで誰でも使えてライセンスの都合上配布必須なので、とにかくたくさん種類があり、初心者向けから中級者~上級者向け、一般向けから業務用途向け、一般人向けから変態向けまで様々です。

例えば、初心者向けのUbuntu、先進技術を積極的に取り込むFedora、シンプルで使いやすいDebian、ハッカー向けのKali Linux、ミニマリズム思想とDIY性が売りのArch Linux、細かなカスタマイズ性に優れたGentoo Linux、1どころか0から全てを構築したい変態向けのLFS、などなど、とにかくたくさんあります。
どのぐらいたくさんあるのかと言うと、Wikipediaに書かれてる一覧だけでもこんだけあります。
(画像は別ソースなのでおそらくWikiの一覧より多い)

画像2

ここまでくるともう一種の現代アートに見えなくもない。

そうなると迷うかもしれませんが、極端な話、Ubuntu系を入れておけば大抵のことはなんとかなります。
UbuntuはCanonicalというイギリスの会社が作ってるLinuxで、初心者でもわかりやすいシステムが特徴。
インストール時の難所(日本語入力設定とか、パーティション割りとか)は大体勝手にやってくれるのでよほど変なPCを使っていなければ画面の指示に従うだけでインストールできます。
更に、普通ならターミナルでコマンドを入力してなんだかんだとしないといけないようなソフトのインストールもマウスだけでできるようになっていたり、本当に優しすぎだろってぐらい初心者に優しいOSです。
日本語化もかなりされており、基本的にほとんどの部分で日本語対応しています。
(ただ、初心者に優しい分一見するとブラックボックスな部分も多く、Linuxの本質部分にあまり触れない分、初心者は簡単なトラブルでも躓きやすい)

Linuxの良い所として、オープンソースなので色んな人が独自にいろんな特徴をもたせた派生OSがたくさんあるというのがあります。
もしUbuntuの使い勝手に慣れなかったら、KubuntuやXubuntuといったUbuntu派生のOSを選んでみると良いでしょう。
ベースがUbuntuなので基本的な部分はほとんど同じで見た目や操作性が違います。
ちなみに私のオススメはKDE neonです。

Windowsじゃだめなの?

そもそもWindowsというOSそのものがプログラミングにあまり向いているとは言い難いOSだったり、そもそもWindowsだと存在しない(あるいはバージョンが古かったり、Win用に最適化されておらずアホみたいに重い)ソフトウェアがあったりといったことがあるので、Windowsはおすすめしません。

有名所だと世の中の7割以上のスマートフォンに入ってるOSであるAndroid(正確にはそのOSS版であるAOSP)、あれのビルドはこのようにWindowsだとできません。

画像1

あと画像編集ソフトでお馴染みのGIMPもWindows版はクソ重いです。
(開発陣にWinユーザーがいないらしい)

とはいっても、CADとか、プログラミングでもとりわけゲーム開発なんかだとWindowsの方が強い側面もあるので、仮想環境なりデュアルブートなりで共存させておいた方が良いでしょう。

//ここから私の主観(主観盛り盛りなので読み飛ばしておk)

正直Windowsは重いしいろいろ使いづらいし不安定だし、最近はなんか余計なソフトてんこ盛りだし、あとMicrosoftの裁量次第でこの先どう転ぶかもわからないので、正直ゲームとかしないなら常用はおすすめしません。

//私の主観ここまで

macOSじゃだめなの?

macOSは一応UNIX系(先祖が同じ)なので、所々Linuxと似てる部分もあります。
が、gccコマンドが何故かclangだったり、Appleの裁量(Catalinaの32bit切りとか)とかOSのアップデートで度々重要なソフトが使えなくなったりするので、正直おすすめはしません。

まあmacは界隈じゃ割と嫌われてるのでこれとかこれの冒頭とか読んでください()

ただし、iOSアプリ開発だけはmacOS(もといXCode)が必須なので、もしiOSアプリを開発する可能性があるならmacOSは必須です。

とは言っても、既にMac買っちゃった人が心配する必要はありません。
高専なのでMacに強いひとも多分いるし、なんなら仮想環境とかデュアルブートは別にMacBookとかでもできるので。
M1Macについてはなんとも言えませんが...

//ここから私の主観

ハードウェアとしてのMacは一応Linux動かせるのでまあMacBookとか極限まで弄り倒したいとかならいいんじゃないですかね。
ただ最近はアーキテクチャの違うM1MacとIntelMacがあったり、Appleの雲行きが怪しかったりなので、正直よほどそのあたりの知識に自身がないならやめたほうが良い。

//私の主観ここまで

Chrome OSじゃだめなの?

安心してください、Chrome OSはれっきとしたLinuxです。
(Gentoo Linuxがベース)

やはりGoogleが魔改造してる(どちらかというとハードウェア周りだけど)だけあって純粋なLinuxディストリビューションと比べるとやはり勝手が異なるものの、設定さえ済ませればほぼほぼそこら辺のLinuxディストリビューションと同じように使えます。

Gentoo Linuxは割と中級者~上級者向けのOSですが、Crostiniとかいうコンテナ上でDebianを動かす機能も搭載されてるらしいので、正直余程変なソフトを入れない限りは大丈夫でしょう。
ただ、ChromebookとかのChromeOS搭載端末はそもそも端末スペックが低いことが多い(日本で売られてるやつだと尚更)ので、Intel Core iシリーズとかRyzenとか搭載のやつでも無い限りは別のPC買ったほうが良いです。

//ここから私の主観

正直、Chromebookはいろいろ遊べる端末なので、レポートとかの重要データは外付けHDDとか、高専に入ると同時に貰えるOneDriveとかに突っ込んで、とことん弄り尽くしてLinuxにそこそこ強くなるのも良いと思いますよ?
一応Chrome OS本体のportageも叩けるっぽいので割と深い層でもそこそこ弄れるはず。
そういうのにあまり詳しくなくても、高専、とりわけ情報科のクラスには、たとえ1年でもその手のギークがほぼ確実にいるので、そういった人と仲良くなれば正直どうにでもなります。
最悪わからない情報はググれば出てきます多分。

//私の主観ここまで

BSD/Haiku/illumos/他じゃだめなの?

わざわざそんなOSを使ってるような人はそもそもこの記事のターゲットではありませんのでお引取りください。

こんな記事を読む暇があったら

インターネットをやめろ

Android/iOSじゃだめなの?

携帯向けOSでまともな高専生活を送るのは学科問わず無理難題です。
中古で良いのでパソコンを買いましょう。

パソコンにAndroidOSを入れてる?
あなたはこの記事のt(ry

どうやってインストールするの?

インストール方法に関しては、ググりましょう(極論)。
正直インストール方法は真面目にググればいくらでも出てきます。
一応参考になるサイトは載せますが、それでわからない情報はググりましょう。

インストール方法に関しては複数ありますが、まずインターネットからOSのisoファイルを拾ってくるのはどのOSもだいたい共通(LFSのような例外は除く)です。
Ubuntuの場合、ここ(日本語Remix版)か、あるいはここ(公式)から拾ってこれます。
なんか2つか3つぐらい選択肢がありますが、基本的にはLTSと書いてある方を選びましょう。
LTSはLong Term Support、つまり長期サポート版です。
Ubuntuの場合、通常版は9ヶ月、LTS版は5年間サポートが続きます。

UbuntuをインストールするにはここからDVDとかUSBとかにisoファイルを焼くんですが、ここから先のやり方はググってください。
それか日経Linuxを買えば大体インストールディスクが付録でついてくるのでそれを買いましょう。

まず、Linuxをインストールするにも、大きく分けて3つほどインストール方法があります。

1つは仮想環境に入れる方法。
おそらく高専とかではこの方法を推奨されるはず。
VirtualBoxやHyper-Vなどの仮想化ソフトと呼ばれる、要はパソコンの中でパソコンを動かせるソフト上にLinuxをインストールする方法です。
比較的安全かつ簡単ですが、ソフト的に動かしてる関係上重かったり一部動作が不安定なのが問題点。
やり方は、ここらへんのサイトでも見てください

2021/03/23追記
仮想環境でのインストール方法解説記事書きました。

もう一つはデュアルブート。(あるいは既にあるOSを消す)
これはWindowsだのmacOSだのとは別に、もう一つOSを入れて、起動したときにどちらで起動するかを選ぶ方法です。
仮想環境とは異なり、そのパソコン上で動いているので、ハードウェア的な部分以上のボトルネックは基本ありません。
デュアルブートでのインストール方法はここらへんでも見てください
Macに関してはrEFIndだの32bitEFI用カスタム64bit版isoだのM1だのPowerPCだのなんだのでやたら複雑なので各自の環境に合わせてググってください。

ちなみに、WindowsやmacOSなどの既に入っているOSを消し飛ばしてインストールするというやり方もありますよ。

最後にWSL
これはWindowsの機能で、簡単に言うと
「Windows上でLinuxをソフト的に動かせるようにしちまおうぜ」
みたいなやつです。
Windowsの標準機能なので、ストアから使いたいディストリビューションを落としてくればすぐに使えます。
仮想環境に近いようなものだと考えてください。
ただ、これまたなんとも事情が複雑で、予期せぬトラブルの元なのでおすすめしません。
素直に仮想環境構築してください。

入れたあとどうするの?

使え、そして慣れろ。
以上です。

と言うのは流石に丸投げなので流石に言いませんが、とりあえずvimとgccをインストールして、C言語の勉強をしてみるなんてどうでしょうか。
C言語の教材なんて探せばどこにでも転がってますし、環境構築とかしてるうちにLinuxとかの使い方も自然と覚えられると思います多分。
C言語の開発環境自体は、Ubuntu系ならターミナルを開いて

$ sudo apt update
$ sudo apt install build-essential
$ sudo apt install vim

これで出来上がりです。
あとはとりあえず"Hello, World."とか表示できれば完璧です。

あとはLinux入れたあとにこうすれば良いみたいな記事を作ろうかとも思いましたが、既に山程その手のページがあって今更感も否めないので気が向いたら作るかもしれない程度に思っておいてください。

最後に

Linuxはサーバーやら深層学習やらなんやらかんやらいろんな場面で使われてるので、使えて損はない、というか使えないほうが損です、高専生ならなおさら。
とはいってもまあ高専のパソコンたくさんおいてある部屋のパソコンはだいたいLinuxが入ってるはずなので、高専に入った以上Linuxは避けては通れない道です。
ということで、ほらLinuxを入れるんだはやく。

そしてこれから高専に入るそこの君!
高専プロコン、やらないかい?

私からは以上です。

余談

画像3

記事冒頭の画像にも出てきたこのペンギンは、タックス(tux)という名前のLinuxの公式マスコットです。。
見ての通りペンギンのマスコットで、Linuxのマスコットと言ったら誰しもがタックスのことだとわかるレベルには有名です。
タックス誕生の話やなぜペンギンなのかとかは普通にWikipediaに書いてあるのでそっちを見てください。
個人的にはかわいいと思いますよ、タックス。

この記事が気に入ったらサポートをしてみませんか?