用mac學linux..合嗎? - Linux

Ivy avatar
By Ivy
at 2014-01-17T01:59

Table of Contents

我使用 Linux 三年多,除了非 Windows 不可的程式外,
所有事情包括桌面應用都是在 Linux 下完成。

主要使用的 distribution 為 Ubuntu,
用過的 DE 有 LXDE, XFCE, KDE, GNOME, Unity,

用 Ubuntu Server Edition, Debian 來架小型 server,
基礎建設有 software RAID 10 (LVM + mdadm),
提供 revision control (Gitolite, Gerrit, GitBlit),
project management (Redmine), file (Samba, FTP), HTTP/HTTPS (Apache, Nginx),
MTA (Postfix), wiki (Gitit, MediaWiki), forum (phpBB, Discuz),
database (MySQL, PostgreSQL), proxy (cntlm, socks 5)...,

我覺得,「學 Linux」是一個很大的題目,

DE 使用、設定應該不用學,Google 是你最好的朋友 (GIYBF),
程式 (不論有無 GUI) 的使用、設定是要摸摸沒錯,
但有時間翻手冊 (RT(F)M) 的話,好像也還好。

程式只是工具,如果因為沒有妥善的說明文件導致不知如何使用,那不是你的問題。
更值得學習的是他們所依賴的知識。

我不是本科系的,
以我的經驗,要從工具的行為來學習背後的知識是很累人的,
因為你會發現若想不囫圇地學好一套程式,
後面要學比工具本身的 interface 還龐大的東西。

舉個例子,知道 gcc -o foo foo.c 可以 compile foo.c,這樣還不算是會 gcc。

如果程式會在 run time 出現 segmentation fault,要怎麼辦?

知道 C 的各個 compilation stage,
preprocessing, compilation proper, assembly, linking,
才會知道怎麼往下偵錯。
不然就聰明一點地用 print, stepping 找出是 source code 的哪一行出錯,
再不然就是頭腦發熱地到 Google 大海撈針,
好不容易看到人家說 gcc -S 可以看到一些東西,
但是東西倒出來又看不懂。


用不用 MacBook 其實沒什麼差別,用得順手、高興比較重要。
以 Ubuntu 而言,現在都有出 for Mac 的版本,
買 Mac 回來重灌成 Ubuntu 也是可以的,只不過 C/P 值很低。

現在主流的 PC,不論桌機、筆電,只要不是太新、太冷門的,
都會有 Linux 的 driver,有些 distribution 甚至會自動幫你裝好,
所以也不太需要煩惱支援度,大不了帶 LiveUSB 去門市試一次。
像我手上的三台筆電,螢幕亮度、藍芽、Wi-Fi、HDMI 都很正常。
你的問題中的第一點,我猜只是你沒發覺那是延伸桌面。
還有桌面視窗怎麼樣跟 driver 沒有關係,那是 DE 的問題。

現在筆電大都會搭 OS,如果買回來想直接裝原生的 Linux,那就要好好想想,
買一台搭 Windows 8 的回來把 Windows 8 砍掉裝 Linux,
和買 MacBook 回來把 OS X Mavericks 砍掉裝 Linux,是完全一樣的事情。

當然如果有考慮雙系統那就另當別論。
不過如果要用雙系統,MacBook Air 和 MacBook Pro 我會選後者,
理由很簡單,效能。U 和 M 的差異很明顯。
雖然在行動裝置上追求效能剛好符合邊際效益遞減法則,
但是跑雙系統真的蠻吃資源的,尤其是可能還要 build project。

一台 1.36 KG 的 13.3" Ultrabook 和一台 2.3 KG 的 14" 普通筆電,
分別放在背包裡,我背起來的感覺都是差不多的。


不過也不一定要雙系統,假設你只是要熟悉伺服器相關的應用,
大多數時候反而不希望有 GUI 干擾。
單機可以用 VirtualBox, Vagrant,cloud 也有 EC2 之類的服務,
SSH 就可以操作,用 Android 平板一樣可以玩。

如果學習的範圍包括桌面應用,那就灌個原生的 Linux distribution,
強迫自己什麼都靠他。跳到水裡,很快就會游泳了。

有一個盲點是,
「用 Mac 學 Linux」是否隱含了「OS X 跟 Linux 很像,學 OS X 也一樣」?

既然要學的是「Linux」,在有選擇的時候,為什麼要先給自己一道難題:
「用『相似的系統』來模擬學習環境」?

假設之後 OS X 你很熟了,這等於「會 Linux」嗎?
或者其實你現在只是想先摸熟一套 Unix-like 的系統?

我相信他們的差異應該要等到你挖得夠深才會發覺,
然而如果挖得夠深,OS 的 interface 也就只是 interface,
他們 follow 的 standard、原理才是精華,所以應該很容易觸類旁通;
不過你應該也知道,走這條路來「學 Linux」是比較迂迴的。

Mac 好不好用是一回事,和學習 Linux 有無相關是另一回事。
反正公司大多會配 Windows 的電腦,你可以先買 MacBook,以後再比較看看,
學習經驗有無不同。

※ 引述《noonOut (中午外出)》之銘言:
: 建議用 VM,不建議用 Mac
: 用了 Mac 你可能會投鼠忌器怕把 Mac 玩壞
: 用 VM 你可以隨意玩,爛了就算了
: OS X 的指令和 Linux 的 GNU coreutils 還是有些不同的
: 比方說,Mac 上的 mv 沒有 -T 這個參數
: OS X 上面沒有 /proc,很多 script 寫法不同
: ..........
: 你可以買 Mac 加上 VM
: 就可以兩個願望一次滿足
: 不過個人是覺得拿 Mac 裡面開 console 看起來也沒有潮到哪去...
: ※ 引述《dophin332 (...)》之銘言:
: : 我個人買過兩三台mac ,
: : 但是你的需求, 我可能會去建議你買聯想
: : 參考
: : http://www.ubuntu.com/certification/make/Lenovo/
: : 右邊勾選laptops
: : 除非你就是想買MAC ,那就不要找理由了,我看你的回覆充滿了對MAC的愛,
: : 其實你心裡早就有定見, 那就買吧.

--
http://changyuheng.github.io/

--
Tags: Linux

All Comments

Michael avatar
By Michael
at 2014-01-18T17:37
DE: desktop environment
Rachel avatar
By Rachel
at 2014-01-19T06:16
GIYBF: Google Is Your Best Friend
RT(F)M: Read The (Funny) Manual
Blanche avatar
By Blanche
at 2014-01-24T03:48
好文推一下!^o^
Skylar Davis avatar
By Skylar Davis
at 2014-01-25T21:54
先VM busybox熟悉一下unix-like再去玩各家的distribution
Tom avatar
By Tom
at 2014-01-26T09:58
推荐好文章。
Kyle avatar
By Kyle
at 2014-01-28T15:19
(F)一般好像是說(Fxxking)
Annie avatar
By Annie
at 2014-01-28T23:14
一直講髒話不好吧 hahaha
Frederica avatar
By Frederica
at 2014-01-29T19:04
推推,但是我覺得1.3跟2.5還是有差><
Ula avatar
By Ula
at 2014-01-31T22:50
推難得好文
Connor avatar
By Connor
at 2014-02-05T19:18
壯漢 1.3 ~ 2.5kg 竟然沒差>"<
Connor avatar
By Connor
at 2014-02-07T15:15
推推
Mia avatar
By Mia
at 2014-02-07T19:23
說不定背包總重40kg,差1.2公斤真的感覺不出來 XD
Anthony avatar
By Anthony
at 2014-02-08T23:02
推原po~也推1F熱心注釋XD
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2014-02-11T06:11
推神人原PO
Yuri avatar
By Yuri
at 2014-02-15T18:35
Eden avatar
By Eden
at 2014-02-17T01:29
不要說1KG了... 0.5KG其實感覺都有差
Iris avatar
By Iris
at 2014-02-18T10:50
推好文!
Jacky avatar
By Jacky
at 2014-02-20T03:53
只要背包總重不到7、8公斤以上,筆電重差多少,真的没差。
Jacob avatar
By Jacob
at 2014-02-21T11:15
有空還是練一下身體,生活才會走得遠。
Zenobia avatar
By Zenobia
at 2014-02-23T04:18
補推。RT(F)M 我還看過Furry的注釋。XD
Puput avatar
By Puput
at 2014-02-25T17:59
雙系統不會吃資源啊,反正一次只跑一種 :p

firefox選單點不出來

Agnes avatar
By Agnes
at 2014-01-17T00:18
借這篇文來發問 小弟最近初入Linux世界,發行版是Linux Mint 16 MATE 輸入法平台是gcin 在使用firefox時遇到跟這篇一樣的問題 只要瀏覽器開一些分頁、用一段時間後,點書籤、工具列和右鍵就會沒反應 目前還沒歸納出這個情形出現的徵兆 有時候要關掉瀏覽器重開才會好,有時候不用重開自動又有 ...

GEM5 所模擬出的VM有支援Network嗎?

Zora avatar
By Zora
at 2014-01-16T20:00
爬了一下板上好像都沒有GEM5相關的文(?) 小的剛入門Linux,最近開始研究GEM5 然後想要有Network的功能 可以開啟IP, 或是可以跟其他Machines (無論是host或Emulated Guest) 溝通 也在Google上鑽了很久 好像都沒有看到相關的資訊 只有看到一篇 ...

Pandaboard開不了機...

Agatha avatar
By Agatha
at 2014-01-16T17:05
謝謝D大的回覆哦~ 剛剛拿備份的SD卡開機,使用fdisk -l顯示出所有儲存媒體資訊如下.. ---------------------------------------------------------------------- Disk /dev/mmcblk0: 31.9 GB, 31914983 ...

ubuntu web server寄圾垃信件如何處理

Rachel avatar
By Rachel
at 2014-01-16T17:00
各位版友大家好 小弟在下有些問題想請教 因為擔任學校的電腦教室管理員 現在所遇到的問題就是 web server一直對外寄圾垃信件 之前的作法是 sudo /etc/init.d/postfix stop 但是沒用 之後也有試過 sudo /etc/init.d/postfix disable ...

Pandaboard開不了機...

Megan avatar
By Megan
at 2014-01-16T16:35
※ 引述《BIAO (超越自己)》之銘言: : 各位板友大家好, : 小弟目前是在一SD卡上安裝Ubuntu Linux, : 不過就在昨晚編寫網頁(JavaScript)後.. : 今天使用pietty要登入Linux系統時,卻一直顯示無法連線... : 將Pandaboard直接接電腦螢幕也沒有要求輸入使 ...