まず、Macに載っているmacOSは、BSDベースのUNIXであり、Linuxよりも古いものです。
Linux同士でもRedHatとDebianではフレイバーが違い、BSD系でもNetBSDとFreeBSDでは違います。ましてやBSD系であるmacOSとLinuxの一派であるUbuntuは全然違います。
また、Macと言えばハードウェアのことであり、macOSは購入時にプリインストールされているOS(ソフトウェア)です。Linuxを動かす人はそのOSをLinuxに置き換えています。
Macのハードウェアの美しさと、Ubuntuの使い心地を愛する人なら、そういう風にしたいのはごく自然なことです。同じPCにいろんなLinuxのディストリビューションを毎日取っ替え引っ替えしている人もいますから。
またMacは集積度が高いクローズドなハードウェアで、古くなってもメモリの増設やCPUの換装といった延命措置が不可能ですから、より軽量なLinuxを入れたくなることもあります。さいきんではChrome BookのOSであるChromium OS Cloud Readyを入れるのが流行っています。
MacBook AirがChromium OSで復活 | 公開懺悔日記
非力なマシンや、古くなったマシンに、全然別のOSを入れて動かすのは楽しい趣味です。質問者さんも興味があったら挑戦してください。
まず前提が間違ってます。
macOSはLinuxベースではありません。
MachをベースとしたOPENSTEPをベースとするUNIXベースです。
あくまでLinuxは高価で手が出せない商用UNIXを、気軽に低コスト(OSのみなら無償)で利用できる様にするために行われた、UNIXクローンOSというだけです。
だから系譜が異なります。
だからmacOSとLinuxは先祖ではなく、はとこみたいな物です。
既に他の方々が回答されている通り、Mac は UNIX であって Linux ではないです。
ご質問への回答からはズレますが、ご参考までに UNIX や Linux の歴史を軽く紹介させて頂きます。
UNIX は AT&T のベル研究所にて開発された OS です。ちなみに、この OS を記述するために開発されたプログラミング言語が C言語 です。
当初、UNIX のソースコードは大学教育などで用いられていたものの、AT&T のライセンス問題により非公開になり、教育材料として使用不可になりました。
そこでアンドリュー・タネンバウム氏が UNIX クローンとしてゼロから開発したのが、MINIX という教育用 OS でした。これは現在でもダウンロードできますので、ご興味がありましたら、触ってみてはいかがでしょうか。
タネンバウム氏は MINIX を教育用と位置づけていたため、実用OS化には否定的でした。これに反論したのがリーナス・トーバルズ氏で、MINIX を基に実用OSを開発、それが Linux です。
以上、ご参考になりましたら、幸いです。
- UNIX - Wikipedia
- C言語 - Wikipedia
- MINIX - Wikipedia
- アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論 - Wikipedia
- Linux - Wikipedia
- Minix3 ← こちらから MINIX がダウンロードできます
- オペレーティングシステム 第3版 感想 Andrew S. Tanenbaum ← MINIX のメカニズムが詳細に記された分厚い書籍で、MINIX のソースコードもあり、コメントが日本語訳されています
意外と知らない?UnixとLinuxの違いとは | サービス | プロエンジニア
MacのOSであるmacOS は、LinuxベースではなくBSD系UNIX系OSです。
Darwin(ダーウィン)はアップルが開発するUnix系のPOSIX準拠オペレーティングシステム(OS) である。技術的にはNEXTSTEPからOPENSTEPに続く流れを汲み、Mach 3.0+BSDをベースとし、一部の機能は他のBSD系OSからも取り入れている。DarwinはmacOSやiOS、さらにはwatchOSとtvOSの基礎となる部分でもある。
MacにUbuntuに限らずLinuxをインストールするような人は技術者・ギークでしょうが、Appleエコに限定されないためです。
- 一般ユーザは、Macを選ぶ=MacBookなどのハード+MacOS+Appストアのアプリ
- ギークは、Linuxを使う⇒WindowsマシンMacマシンすべてのマシンから良さそうなやつをひとつ選ぶ、いずれにせよLinux入れる
みたいな感じです。自分がある時点でハードとしては現行MacBookAirがベストだな!と思って買ったとして(そういうタイミングはたまにあります)、そのマシンにLinuxを入れるメリットとしては、
- デスクトップOSとしては、ちょっと前まではMacOSのほうがLinuxデスクトップよりも圧倒的にGUIの完成度が高かったが、最近では同じレベル
- ダークモード搭載で話題のmacOS「Mojave(モハベ)みたいなことになっていますが、そういうテーマカラー1つをこれまでカスタマイズできなかったほどMacOSはガッチガチで自由にカスタマイズも出来ないとか、かなり物足りない
- MacOSはUnixなのでかなり良いのだが、今どきはUnixよりもLinuxのほうが圧倒的に普及している、スパコン、サーバ、AndroidOS、 Raspberry Pi を始める組み込みまで、ほぼ全てと言って過言ではないレベルで全部Linuxなので、自分の手元のOSもそれに統一したほうが絶対都合が良い LinuxがスパコンTOP500でOSシェア100%に--普及の背景、展望 - ZDNet 「Linuxが国内サーバOSシェアで79%を獲得」 - CNET Japan トヨタ、Linuxベースでの自動運転システム構築など支援 | 自動運転ラボ
- MacOSやWindows動かしたければ、マルチブートや、仮想ゲストOSとして動かせば事足りる
- そういうアプリ含めて、MacOSのアプリはイチイチ有料で面倒クサイ、Linuxは現状結構高いレベルでオープンソースの無料アプリが揃っている
今のところLinuxとMacOSの違いとかしか説明がないですね。誰もUbuntuである事の理由になっていない。MacにUbuntuを入れる必要性・・・Ubuntuしかサポートしないソフトウェアパッケージを使いたいというのが考えられます。代表例ではROSやROS2を利用したいという事では?
UNIX環境を利用したいということでしたら、必要性はないと思います。
また、仮想化技術が発達したこんにちはで、そちらを利用すると思いますし。
昔はインストールすることがチャレンジとなり趣味となっていたので、その流れでしょうか。
Ubuntu以外にもLinuxのデイストリビューションがたくさんあるのはご存知でしょうか?ご存知の前提で、それらは特徴があり、それを元に利用者は使うディストリビューションを決めます。まあ、有名だからUbuntuとかCentOSとか決めるケースが多いかとは思いますが、それも情報が多いから困ったときに解決できる可能性が高い、という意味があります。
最初からUbuntuが入っているPCというのはあまりないので、既存のものに入れるわけですが、それがMacだったというだけです。ソフトウェア開発の場とかでUbuntuが使われることが多いので、Ubuntuを前提としたネットの情報も多いです。
MacOSでも同じようなことはほとんどの場合可能ですので、応用を効かせればそれらの記事を参考にして同じことはできます。少なくともWindowsよりはやりやすいでしょう。ただ、いちいち、Ubuntuの〇〇はMacOSでは□□だから、と翻訳しながら進めていたら効率も悪いし、学びはじめの人には難しいかと思います。
それだったらMacにUbuntuを入れてそのまま使えば良いじゃないか、となるのは自然かと思います。
まあ、万人がそう思うかどうかはともかく、自分的なメリットを挙げておきます。
- Linuxディストリビューションの中でも人気が高く情報が多い
- その情報をそのまま使える(バージョンに注意は必要)
- Linux自体の学習
- MacOSとLinuxは親戚みたいなものとは言え、細部は異なる部分も多い。Linuxディストリビューション間ですら、細部は異なる。特にパッケージ管理部分
- Ubuntu(あるい他のはLinuxディストリビューション)にあってMacOSにないパッケージがある
- ソースからコンパイルすれば対応可能だが、スキルが必要。例えばプログラミング言語を学びたいのに、その周辺ツールを自前でコンパイルするとか本末転倒。
- ソフトウェア開発する場合、使うプログラミング言語やミドルウェアのバージョンが特定のものでないといけない場合がある。複数の開発をする場合にそれがバッティングすることもあるので、MacOSそのものに特定のバージョンの開発環境をインストールしたくない。その場合、仮想環境とかコンテナを用意するが、ライセンス的にそこにMacOSを使うことはできないので、必然的に別のOSを使うことになる。
以下蛇足です。
よく〇〇にメリットがあるのか?といった質問をQuora内外で見かけますが、メリットがないことをするわけがないので、(質問者にとってメリットかはともかく、やっている人には)メリットはあります。逆になんでメリットがないことを他人がやっていると思うのかと質問したくなります。礼儀として「メリットを教えてください」なら理解できます。
また何やら、MacOSはLinuxではないみたいな枝葉末節にこだわった本質の外れた回答が多いように感じたので、余計なお世話かと思いましたが補足させていただきました。
linuxじゃないよ、というのは皆さんご指摘の通り。ubuntu入れる必要性、、、というかdocker動かしたいだけじゃないですかね。
お金があるからなんじゃないかなーとおもいます。
昔からコンピュータのマニアは伝統的にお金持ちだったわけです。1980年台の頭に20万くらい出してなんに使えるかわからないPCを買うというのは、完全に生活必需品ではなくて道楽なんです。
その正当な後継者のテック系のギークはやはりたくさんお金を投資して新しいものに挑む感じの人だと思います。
それに対してLinuxは古い資源でより安定して動く世界で、昔ながらの技術者もたくさん入り込んで栄えているんですけど、でも、本当のマニア新しい技術やハードにも関心があると思います。
sourceforgeやgithubでソフト的な新たな開発をしているという意見はあると思います。
自分はMacはギークというか、ファッションブランドみたいだと思います。高級車というか、ステータス。
個人的にはもっと世間的にえーそんなのに投資するの?ってハードを買ってきて、セコセコそれで開発してるような人がギークっぽくて、そういうものが出ないかなあと思ってるんですけど、逆にラズパイなどはめちゃくちゃ安価で買えてしまい、そのベースもLinuxでなんかなぁって思う。
そういう意味で言うと、昔のマイコンマニアが取っていたスタンスで投資して入り込めるハードが今はあんまりないようにも見えます。
MacOS上で使うなら、仮想環境
ubuntu単体で使いたいならデュアルブート
mac ubuntu デュアルブート - Google Search
自己責任でどうそ。
検索してわからないなら正直やらないほうがいいと思います。
む、難しい・・・ええっと、クローン人間を親戚と認めればOKかなぁと思います。
この系譜図はWikipediaのUNIX - Wikipedia からもってきたものです。
左から2番目にLinuxがあって、3番目にmacOSがあるのが分かりますかね。
「UNIX系」という括りでは遠い親戚になります。
でも、線が切れてますよね?それについては蛇足になりますが、下記のようになります。
UNIXってなぁにと言うと話がややこしくなるので割愛しますが、コンピュータのCPUみたいな機械とのやりとりから、コマンドを打つような幅広いところを指します。
UNIXは1969年にAT&Tという会社で作られました。以後、Windowsのように色んな会社が自分の会社のコンピュータにUNIXを使う権利を買って、UNIXのプログラムをAT&Tから買って、自社のコンピュータにUNIXを載っけて売っていました。ただ、まぁ、カオスな時代だったので、各社がオレオレUNIXみたいなのが出てきたので、1990年くらいに標準団体を作ってPOSIXという共通規格を作りました。
一方でGNUというグループがUNIXと全く同じものを1から自分たちで作っていました。1からなのでプログラムは元々のUNIXとは違うものです(同じ機能だとしても、プログラムの組み方は何通りもあったりします)。その中でカーネルというOSの大切な所(機械とのやりとりをするところ)がなかなか出来なかったのですが、Linus Torvalsが作りました。このカーネルがLinuxです。
追記: LinuxがMINIX由来と書きましたが、松本さんのコメントからスクラッチとのことが分かりましたので修正しました
※石田さんの回答で思い出しました。Linusが独自に作ったように書いていましたが、元々のプログラムはMINIX由来でした。お詫びして訂正します。
このLinuxは先ほど述べたPOSIXという規格に沿っており、GNUが作っていた部分もUNIXと同じように作っていたので、結果的にLinuxはGNUのUNIXシステムに使われるようになり、UNIXの一員とみなされました。後にUNIXライクとか言われます。
これが、線が引かれている(プログラム的なつながりがない)一方で、親戚とも言える(同じ機能を持つ)と言う意味です。
詳しくは Linux - Wikipedia の歴史を読んでください。
ちなみに、今UNIXと言いたければ認定を取る必要がありますが、Linuxは取っていません。むしろ、自分たち互換の規格を制定しています。
今日ではLinuxの普及に伴い国際規格が策定されている。Linuxカーネルを使用し、Linux Standard Base (LSB) Core Specification (ISO/IEC 23360シリーズ) に準拠したOSが、OSとしてのLinuxであるとされている
んで、macOSですね。系譜図を見ると分かる通り、これはLinuxと違って元々のUNIXのプログラムの発展系になります。また、macOSはUNIXの認定を受けています。多分、iOSもtvOSもwatchOSも受けようと思えば受けられるでしょうが、何のメリットもないので受けないでしょう。
2007年に、「UNIX」の商標の所有者である標準化団体のThe Open Groupは、Single UNIX Specificationを完全に満たすと認証を受けたシステムのみが「UNIX」の商標を得られるとした。このためそれ以外のシステムは(ずっと以前から、AT&T版およびBSD以外を指して使われていた用語だが)「Unixシステムライク」または「Unixライク(Unix系)」と呼ばれるようになった。
さて、結論なんですが、互換性が高いことから遠い親戚と言えなくもないです。トヨタの自動車かホンダの自動車かくらいの違いです。
えー、なお、厳密に言うとMac OSと書かれてますと、macOS以前のOS X以前のMac OS X以前のOSとなり、これは互換が全くございません。Mac警察にご注意下さい。
なんか認知バイアスで事実が大きく歪められているような気がするので口を挟ませてください。ご質問者様が初学者であることを想定し、あまり具体的なソフトウェアの名称等は申し上げません。
結論から言いますと、Windowsのままで十二分にプログラミングは学習できます。どのようなアプリケーションを作るのにも依りますが、まずは買いたてホヤホヤのWindowsPCでプログラミング環境を作れば良いです。他の回答者方の言う「WSL」も「仮想環境」も、必要に応じて環境を構築すれば良いでしょう。
「プログラミングをするにはLinux(UNIX系)が良い」については事実ではありません。むしろ業務アプリケーションやクロスプラットフォームアプリケーションの開発にはWindowsが適しているとさえ言えます。その根拠は、エンタープライズにおけるWindowsPCの普及率です。社員全員がMacを使っている会社なんてごく少数で、ほとんどの場合、エンジニアでさえWindowsPCとなんらかの統合開発環境でプログラミングをしています。経験上、Linuxで開発する現場の方が圧倒的に少ないです。
もちろん、WebアプリケーションにおいてはWebサーバソフトウェアとの兼ね合いでLinuxのほうが相性がいい場合もあります。しかしながら、Windowsでもできないことはありません。というか最近は環境構築もラクラクです。
ご質問者様はプログラミングを学習したいということですよね。サーバを学習したいわけではなく。であればとっかかりとしてすぐにでもWindowsで、環境が多少汚くなろうと、今すぐに始められることをするべきです。我々からするとWSLや仮想環境でLinuxを使うことはなんの造作もない日常ですが、初学者にとっては大きなリソースを割くものです。Linuxの学習にも骨が折れることでしょう。
もちろんLinuxの学習はエンジニアになるには必要不可欠です。ある程度プログラミングを学び、コンピュータを学び、LinuxあるいはBSDなどが必要だと感じるようになったらそれを学んでください。プログラミングのオマケではなく。
なんとなくLinuxが良いらしいからなんとなくLinuxでプログラミングしているとなんとなく自信がついてしまうのが一番危険です。
ほぼLinuxマシンとして使用できます。WSLとは要はVirtualBoxなどよりも軽量のVMソリューションで、Windowsとのシームレスな連携できてオーバーヘッドも少ないというメリットがありますが、一方でサービス管理系の一部の機能がうまく動作しないというデメリットもあります。
したがってローカルの開発環境としての利用でしたらUbuntuやDebianをWSLにインストールすればaptなどのパッケージマネージャも使えるし、自分でソースをビルドする場合も完全にLinux扱いですのでOSSを利用する場合はMacよりも情報が集めやすくてはるかに優れています。
逆にMacと比べた場合のデメリットはやはり仮想化ゆえの問題点で、WSLのVM自体がメモリを握ったままWindows本体の方に返却しないとか、あるいはDiskも仮想ディスクで容量を自動で開放しないなどの点が挙げられます。要は長く使っているとブクブク太っていくということです。会社支給のPCとか特にWindowsを利用する必要がある場合を除けばUbuntuやDebianをマシン自体にインストールしたほうがマシンスペックを最大限利用できます。
Ubuntu は、Debian をベースとして、普通の人が使いやすくしたもので、誰でも無償で使用することができます。また、Ubuntu Advantage という有償サービスも提供しています。Debian 系には、他にも優秀なディストリビューションがありますが、Ubuntu は、Linux 全体の 50%近いシェアを持っています。他のディストリビューションよりもパケージに含まれているソフトウェアが多くまた更新も早く、デフォルトでも簡単に使えるというのが大きな利点です。
もう少し詳しく説明すると、Linux には、ざっくり分類すると Debian 系、RedHat 系、Slackware 系という3つがディストリビューションがあります。
RedHat 系の代表は、RedHat社が販売している Red Hat Enterprise Linux(RHEL)です。Open Source の Linux に RedHat社が開発したセキュリティや運用管理のツールを追加して販売しているものです。現在、RedHat社は IBM の子会社となっており、名前のとおり大企業向けでかなり高価です。最近、個人開発者はRed Hat Enterprise Linuxを無料で最大16システムまで利用可能になったようですが、個人では使いづらいと思います。
Slackware 系は、ソースベースのディストリビューションで、自分でソースをコンパイルしてインストールする必要があります。そのため、マニア向けで、ユーザは少ないですが、熱烈な支持者もいます。
最後になりましたが、Debian は、完全にボランティアの技術者の手によって開発・運営が行われており、特定企業の後援がないのが大きな特徴です。そのため、管理パッケージがしっかりしており、個人で使うのであれば、RedHat系よりも Debian 系の方がずっと便利です。
0 コメント:
コメントを投稿