質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • Linux

    4441questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Ubuntu

    1807questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • VirtualBox

    904questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

MacやWindows上でわざわざLinuxを使用する理由

解決済

回答 6

投稿

  • 評価
  • クリップ 2
  • VIEW 12K+

task4233

score 23

聞きたいこと

タイトルの通り、なぜMacやWindows上でわざわざLinuxを使用する人が多いのか知りたいです。

というのも、Youtubeでtutorialなどの動画を見ていると、
元々のOSがWindowsやMacOSでありながらわざわざVirtualBoxなどの仮想化ツールを使用してLinuxを使っている人が多く見られます。

その動画の中で使用しているエディタはOSに依存しないSublime TextやVim、EmacsなどといったわざわざLinuxを使用する必要性がないものばかりです。

また、ブラウザに関してもほとんどがChromeを使用しており、
正直Linuxでなくとも元々のOSで問題がないように感じます。

なぜ彼らはわざわざ仮想化をしてまでLinuxを使用するのでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 6

+12

その動画の中で使用しているエディタはOSに依存しないSublime TextやVim、EmacsなどといったわざわざLinuxを使用する必要性がないものばかりです。

また、ブラウザに関してもほとんどがChromeを使用しており、
正直Linuxでなくとも元々のOSで問題がないように感じます。

問題はそこではなく、実際にコードを書いて動かすソフトウェアの方です。たとえばRuby on RailsをWindowsでやろうとすると、Gemによっては「Windowsで動かす環境構築が手間取る」「Windows付属のライブラリが古いのでそのままではうまく動かない」、甚だしくは「Windowsに入れる手順が確立されていない」「Windowsでは新しいバージョンが動かない」など、ローカル環境のためだけに悪戦苦闘しなければならない事態となってしまいます。

実際のサーバはLinuxなどUnix系が主流ですので、ローカルでもLinuxを使えば、「ローカル環境でのインストール≒本番サーバでのインストール」となって、ローカルだけのために手間取ってしまうという事態を避けることができます。

なので、Android向けの開発のように、真にマルチプラットフォームでできるものは、わざわざLinuxを使うまでもありません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+6

LinuxはオープンソースのOSなので、世界中の誰でも利用出来ます。
その中には発展途上国等のWindowsやMacが購入出来ない人も含まれています。

そしてLinuxは20〜30年以上も昔から堅牢なOSとして人気だったUnixのクローン的な存在であり、
今日ではUnixに負けず劣らず堅牢であり、構造がシンプルなので軽いOSなのです。
つまり絶対に停止してはならないWebサーバ等の用途にはうってつけなわけですね。

このあたりの前提知識を元にすればすぐに想像出来ますが、
ありとあらゆるサーバやコマンドラインのツールがLinuxに集まってきます。
つまり、Linuxはサーバ用途の最先端を走っており、WindowsやMacはその成果を移植されるのをただ待っているような状態なんですね。

VirtualBoxなどの仮想化ツールを使用してLinuxを使っている人が多く見られます。

その結果がこれですね。

例えば最近の開発用マシンの流行はDockerですが、DockerもLinuxでしか動作しないツールです。
「Docker for Windows」や「Docker for Mac」ではLinuxの超軽量仮想マシンを起動させ、
マシン内に中継専用のDockerコマンドを導入したような作りになっています。

エディタはOSに依存しないSublime TextやVim、EmacsなどといったわざわざLinuxを使用する必要性がないものばかりです。
また、ブラウザに関してもほとんどがChromeを使用しており

GUIに比較的近い層はおっしゃる通り、
エディタやIDEもWindows、Mac、LinuxとOS問わず動くものばかりです。
しかし、サーバ用のアプリは前述の通りLinuxが強いのです。

従ってGUIに近い層は普段使い慣れているWindowsやMacを使い、
サーバーに近い層はVirtualBox越しにLinuxを操る。
こういう使い分けをしている人が多くいます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/31 16:11

    質問がそれてしまいますが、回答の中で「最近の開発用マシンの流行はDocker」とおっしゃっていましたがDockerとは何なのでしょうか?

    https://qiita.com/yuki_ycino/items/b94ae2bf7d78685cd6f5
    Dockerというのは新たな概念なのか、もしくはVirtualBoxのような仮想化ツールなのかイマイチよくわかりません……

    キャンセル

  • 2018/01/31 16:16

    はったリンクは参考にしたサイトです。すみません、記載が漏れました。

    キャンセル

  • 2018/01/31 16:21

    Dockerは、Linuxの「カーネルより上だけ」仮想化するためのツールです。仮想化がマシンごとではないので、起動が高速などの特徴がありますが、もちろんLinuxカーネルの上でしか動きません。

    キャンセル

  • 2018/01/31 16:39

    動かす部分のみを仮想化するツールってことですね。
    そうすると、DockerのためにLinuxを仮想化する必要がありますよね……?
    高速化できるといえど、なんだかややこしいですね……

    キャンセル

  • 2018/01/31 17:01

    WindowsやMacでのDockerは一度仮想マシンのLinuxを用意しなければならないので、
    速度面の優位性は殆どありませんね。
    これは補助的な役割です。

    大昔から本番環境のLinuxはツール同士の干渉等に頭を悩まされていました。
    「くそう、本番環境で出る不具合が、ローカルだと再現しない…」
    このため、WindowsやMacでVirutalBox越しにLinuxを立ち上げ、極力似たような環境を構築するという対策を行いました。
    しかしそれはあくまで似た環境なのであり、AWSなどが用意している環境を100%再現するには至りません。
    もし上司に本番環境にVirtualBoxを入れましょう、そうすれば環境の違いを無視出来ますよ!…と進言すると「アホか、オーバーヘッドデカすぎで使い物にならんわ」と頭叩かれます。

    今回のDockerというかコンテナの技術は特効薬になりえます。
    殆どオーバーヘッドが出ませんので、ローカルで作った環境をそのまま本番環境へ移植して利用出来ます。
    まさに本番環境でVirtualBoxを動かすという事をやってのけるわけですね。

    実際にはそう簡単に上手く行かず、ネットワーク関係、ファイル関係、ログ関係で苦労しているようですが、
    長い目で見れば開発者は使いこなして当然の技術になることでしょう。
    既にAWSなどでDockerのコンテナに対応するサービスはちらほら出始めています。

    キャンセル

  • 2018/01/31 17:35

    開発する際にコンテナという技術が有用だということですね。

    最初の質問からそれてしまいましたが、色々と教えてくださりありがとうございました。

    キャンセル

+5

「みんなが仮想環境を使う理由」は、簡単に言えば「タダで手に入る、どんなに汚しても壊しても構わないスペース」だからです。仮想環境の中で作業していれば、間違えてsudo rm -r /といった取り返しのつかない行為をしても、あなたのパソコンは無事で、吹き飛ぶのは仮想環境の中だけです。実験をするのにも、新たなサービスを検証するのもいいですね。仮想環境を分ければ、お互いにインストールしたものが競合することもありません。PHPやApacheのバージョンも仮想環境ごとに分ければ1つのPCに無理やり別バージョンを併用する必要もありません。
「みんなが仮想環境にLinuxを選ぶ理由」はタダで手に入るからです。そして、世の多くのサービスはLinuxで動かせるようになっているからです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+4

Linuxな理由は環境構築で無駄にハマることが少ないから。Linuxなら管理者用コマンドひとつでインストールできるソフトウェア(ライブラリ)が、Windowsに入れようとすると大変、というのが普通だからです。(こちらはすでに回答がついているとおり)

仮想環境なのには、動画収録や環境構築のテスト(動画の準備として当然やりますよね)などでは大きなメリットがあります。
なにか失敗して最初からやりなおす時に、ボタン1つ押せば元の状態に戻せるのが楽だからです。
AをやってBをやってCをやってDをやってEをやって……って進んだ後にAが間違ってた! と気づいたとしましょう。
最初から動画収録やり直しだ! って時に、Aをやる前と完全に同じ状況に戻すまで、実ハードで動いているWindwosやMacでどのぐらい時間と手間がかかりますか?
仮想環境ならボタン1つで、大抵は数秒、かかってもせいぜい数分でしょう。

動画を見ていてそう思ったのでしたら、後者の理由は大きいと思いますよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

正直Linuxでなくとも元々のOSで問題がないように感じます。 

すべての仕事がWindowsでできるわけではありません。巷に溢れかえっているネットサービスやWebアプリを動かしているサーバーの多くはLinux(を含むUnix系OS)だったりします。その手の仕事をしている人たちにとってはホームグラウンドはUnix系なので、たとえWindowsマシンを所有していたとしても、使い慣れた環境を手元に置いておくためにLinuxを入れるのです。

趣味あるいは研究用にLinuxを使うケースも多いと思います。Windowsでの開発は、基本マイクロソフトが提供する開発ツールを利用するわけですが、提供元の都合もあり、プログラミング言語の仕様が改訂されて新しい機能が追加されても使えるようになるまでにタイムラグが生じます。Linuxでは、実験的にいち早く導入するということが広く行われているため、新しい機能をすぐにでも試したいという人たちがLinuxを使うのです。

また、それと関連して、いろいろいじりたいけどリアルな環境を汚したくない、というときにも仮想マシンを利用することがあります。仮想マシンなら、たとえ起動できなくなる程いじくり回してもOSを再インストールすれば済みますし、スナップショット(あるいはチェックポイント)などの機能をうまく利用すれば、即座に元に戻せます。あるいは、ネットワーク絡みの実験をしたいときは、あたかも複数のマシンが存在するかのように振る舞う仮想マシンの利用は必然です。そのような利便性を求めて仮想マシンを利用する向きはかなり多いと思います。そして、Windowsだと仮想マシンごとにライセンス(要するにWindowsの購入)が必要ですが、Linuxは無料ということもあり、自然とLinuxを利用するようになる、ということだと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

WEBサービスを公開する時に使うサーバーOSはLinuxが多いです。
自分のPC(Windows)で動作確認したい場合にVirtulBoxに
Linuxを入れておけば簡単に動作確認できます。

またちょっとだけ試しに使ってみようという場合にも
VirtulBoxは便利です。

僕のPCのVirtulBoxにはCentOS6と7、FedoraとUbuntuが入っています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Linux

    4441questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Ubuntu

    1807questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • VirtualBox

    904questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。