用mac學linux..合嗎? - Linux

By Ivy
at 2014-01-17T01:59
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/
--
所有事情包括桌面應用都是在 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

By Michael
at 2014-01-18T17:37
at 2014-01-18T17:37

By Rachel
at 2014-01-19T06:16
at 2014-01-19T06:16

By Blanche
at 2014-01-24T03:48
at 2014-01-24T03:48

By Skylar Davis
at 2014-01-25T21:54
at 2014-01-25T21:54

By Tom
at 2014-01-26T09:58
at 2014-01-26T09:58

By Kyle
at 2014-01-28T15:19
at 2014-01-28T15:19

By Annie
at 2014-01-28T23:14
at 2014-01-28T23:14

By Frederica
at 2014-01-29T19:04
at 2014-01-29T19:04

By Ula
at 2014-01-31T22:50
at 2014-01-31T22:50

By Connor
at 2014-02-05T19:18
at 2014-02-05T19:18

By Connor
at 2014-02-07T15:15
at 2014-02-07T15:15

By Mia
at 2014-02-07T19:23
at 2014-02-07T19:23

By Anthony
at 2014-02-08T23:02
at 2014-02-08T23:02

By Skylar DavisLinda
at 2014-02-11T06:11
at 2014-02-11T06:11

By Yuri
at 2014-02-15T18:35
at 2014-02-15T18:35

By Eden
at 2014-02-17T01:29
at 2014-02-17T01:29

By Iris
at 2014-02-18T10:50
at 2014-02-18T10:50

By Jacky
at 2014-02-20T03:53
at 2014-02-20T03:53

By Jacob
at 2014-02-21T11:15
at 2014-02-21T11:15

By Zenobia
at 2014-02-23T04:18
at 2014-02-23T04:18

By Puput
at 2014-02-25T17:59
at 2014-02-25T17:59
Related Posts
firefox選單點不出來

By Agnes
at 2014-01-17T00:18
at 2014-01-17T00:18
GEM5 所模擬出的VM有支援Network嗎?

By Zora
at 2014-01-16T20:00
at 2014-01-16T20:00
Pandaboard開不了機...

By Agatha
at 2014-01-16T17:05
at 2014-01-16T17:05
ubuntu web server寄圾垃信件如何處理

By Rachel
at 2014-01-16T17:00
at 2014-01-16T17:00
Pandaboard開不了機...

By Megan
at 2014-01-16T16:35
at 2014-01-16T16:35