去年公司空了幾臺臺式機,當時看了下彷佛配置比我用的乞丐版 air 略高一些,並且除了 ssd 之外還有一個 1T 的大硬盤,加上後面可能會有一段時間不作 iOS 了,那就不須要 macOS 了,因而順了一臺過來桌上用來打算作開發機,當時可選的方案有 Windows 10 和 Linux,思考了下機器上 60G 的 ssd 估計是不能裝那麼多東西的,而 Windows 要把好多東西裝到 D 盤,其實用起來好麻煩,感受本身不太會用,因而選擇了 Linuxhtml
本文寫在我使用 Linux 做爲開發環境後的三個月,也就是主力開發環境爲純 Linux 環境,偶爾使用虛擬機作配合,Linux 是天生爲喜歡折騰的人準備的,固然也是爲了知道本身想要作什麼和想要什麼的人準備的,因此本文的目的是爲了以 Linux 做爲生產開發環境爲目標的人準備的,若是隻有想要裝個 Linux 的想法,或者只有想要試試玩玩的想法,我的建議使用本身熟悉的環境(Windows 或者 macOS)搭配虛擬機從完整配置一個 ArchLinux 開始學習python
本文主要是爲了將要以 Linux 做爲本身主力開發環境的同窗準備的一些意見建議,以及本身的踩坑經歷,若是你想要以 Linux 做爲主力開發環境能夠把本文做爲開始,可是本文絕對不是結束,linux 的折騰是無止境的linux
Linux 中折騰,既是好處也是壞處,好的地方是讓你知道盒子裏究竟是哪一個齒輪壞了,壞的地方是找來找去,發現盒子裏齒輪沒壞,只是每一個齒輪都有那麼一丟丟不正常,因此我一直以爲開源那幫人實際上是很是不靠譜的,若是沒有需求,真心不須要折騰 Linux,你看得沒錯,我在勸退git
上面介紹完了,有興趣的同窗繼續往下看吧,接下來咱們開始正題吧,Linux 之路折騰無限,可是做爲開發環境,咱們須要在折騰和穩定之間找到平衡點github
下面是我在 Linux 世界探索(碰壁)以及對我使用 Linxu 有幫助的一些經驗,但願對你們有用web
上面幾點,是我此次能成功把工做環境遷移到 Linux 的一個基本保障,接下來我在下面列下我折騰了哪些東西,讓個人工做絲般順滑chrome
做爲生產開發環境不一樣於實驗研究環境,最主要是須要穩定可以持續支持工做,至少不常常崩潰或者每過幾個月就須要重裝系統。我曾經在大學時候和工做之後,體驗過不少主流的發行版(這裏說主流就是真的主流主要包括,Debina,Fedora,Ubuntu,openSuse,ArchLinux),最終選擇了 Fedora 27(當時是測試版,可是我相信本身有坑能踩過而且正式版還有一個月就發佈了,不太信本身的同窗能夠在選擇的時候選擇正式版,畢竟是用於支持生產開發的環境,最主要是穩如老狗)數據庫
Linux 上的開放性,因此,咱們在不喜歡當前用着的桌面環境的時候,能夠換一個。。。這彷佛是個很美好的事情。。。可是很遺憾,開源社區再次 show 出了他們的不靠譜小程序
最終我選擇了 GNOME on Xorg,緣由以下:vim
爲何不直接全盤命令行?
這裏能夠說下,我的建議使用 KDE 或者 GNOME,由於個人目的是穩定,固然你們也能夠嘗試其餘的桌面環境,畢竟 linux 最大的優點就是開放
上面就是安裝 fedora 須要的全部材料了
由於安裝的時候我沒有截圖,這裏用虛擬機打開了鏡像給你們看下安裝界面,等待半小時左右,就能夠安裝完成了,安裝完成後重啓就會進入到新的系統了,咱們就進入純 linxu 的世界了
安裝完成後,這只是一個恰好能夠用,並附帶了 GNOME 所附帶的大部分應用程序的系統,那麼離咱們可使用,其實仍是有距離的,接下來我會介紹我對系統的初步調配
個人初衷就是爲了想要一個啓動快速的系統,而且能安裝大量應用,因此第一步,我將會把不少消耗磁盤空間的路徑連接到 1T 的機械硬盤上(哎呀,好長,下面統一叫 HDD 了),若是這一步失敗了,那麼也不會有剩下的步驟了,連接後給個人感受是,總體系統速度並無變慢不少,不過在打開大應用(好比 Jetbrain 家的大型 Java 應用)時會有一些卡頓,可是打開後,整個使用體驗是很流暢的,不過也由於本機內存不是很大(8G)因此應用開多了仍是會卡,特別開了虛擬機以及某些大型 Java 應用的時候很容易出現卡頓的現象
下面是我電腦上磁盤使用的截圖,data 1 - 3 就是 HDD(切勿嘲笑別人取名無力),這裏沒有顯示 home 的分區,個人 home 分區大約是 20G,root 分區大約是 40G(固然還有 boot 啊之類的分區,這個在選擇自動分區的時候,安裝程序會幫你搞定)
不過我並非一次性把全部的路徑連接好的,而是在用的過程當中發現 SSD 空間不足的時候,找到一些消耗空間大的路徑,把他連接到 HDD 上,這裏是我連接的一部分路徑,供你們參考下:
~/.icons
和 ~/.themes
:主題和圖標路徑,連接這個主要是裝主題方便~/.local
:當前用戶的應用數據,連接這個幫你解決大部分的空間問題~/.var
:當前用戶的 var 路徑,一部分(主要是 flatpak 打包的)應用會把數據寫到這個路徑/opt
:部分應用會安裝到這個路徑/var/lib/flatpak
:flatpak 的應用會安裝到這裏/var/log
:日誌把這些路徑連接後,相信磁盤空間會空閒出不少了,這樣小 SSD 的電腦也能愉快玩耍了
另外,除了上面的路徑外,還有一些比較特殊的路徑也會佔用大量空間,這裏也列舉下
~/.stack
:學 haskell 的時候,stack 是 haskell 的包管理器,經過 stack 安裝的包會在這裏~/.nixnote
:nixnote 是 linux 下的 evernote 實現,他的數據會放這裏/usr/share/dotnet
:.net 相關的東西,老佔空間了/usr/lib64/ghc-x.x.x
:haskell 的編譯器,老佔空間了除了這些若是你們在使用過程當中發現某個路徑,或者某個應用特別佔空間,也能夠把他們連接到 HDD 上,節約 SSD 上寶貴的空間
參考 -> RPMFusion 配置 根據系統版本啓用 RPMFusion 自由(free)和非自由(nonfree)的軟件源配置
參考 -> FDZH 配置 根據系統啓用 FDZH 中的源,同時 FDZH 的 wiki 中也包含了一些經常使用軟件的安裝配置,你們能夠參考下
第一次安裝完成,或是添加了 RPMFusion 和 FDZH 的源後,須要刷新一下 dnf 的源,這樣咱們就能安裝到新添加的軟件包了
sudo dnf update --refresh
複製代碼
Development Tools 包含了開發使用到的各類工具,因此咱們首先要把他裝上
sudo dnf group install "KDE Plasma Workspaces"
複製代碼
這一步是可選的,若是喜歡 KDE 的,那麼能夠輸入下面的命令安裝
sudo dnf group install "KDE Plasma Workspaces"
複製代碼
使用 Linux 做爲主力環境最方便的地方就是咱們須要什麼那麼就安裝什麼,可使用下面的命令看下還有些什麼軟件組能夠安裝使用
dnf group list
複製代碼
安裝配置結束後,接下來介紹下 linux 的平常存活指引
本文介紹是以主力使用 Linux 開發爲主,因此優先介紹開發使用到的工具,其實大部分工具都是開源或是跨平臺的,在其餘系統中咱們也能用到
有了上面的一堆開發工具相信是能夠從容面對平常開發工做了,linux 上除了 DataGrip,Navicat 之類的商業軟件之外確實沒找到很好用的多數據庫連接工具,這點算是一個遺憾了,你們要是有推薦的能夠聯繫我
若是虛擬系統是 linux 系而且不使用 GUI,建議直接使用系統自帶的 qemu 或是 kvm,另外不要使用 GNOME 帶的 Boxes,Boxes 是爲了簡化虛擬機操做而開發的應用,可是實際上還不是很成熟,建議安裝 Virtual Machine Manager 做爲虛擬機管理工具,雖然 Virtual Machine Manager 上手會比 Boxes 稍微麻煩一些,可是可配置性要好不少,而且 qemu 和 kvm 對共享文件系統支持要好一些,聽說文件讀寫速度接近原生
而且 qemu 是系統服務,Virtual Machine Manager 只是一個管理界面,在啓動好虛擬機後,咱們能夠直接 ssh 上虛擬機便可操做,無需繼續開着管理界面,而且在系統 UI 崩潰的時候,虛擬機服務並不會崩潰,也不會影響咱們運行在虛擬機中的程序
若是虛擬系統是 Windows 系或是使用 GUI 的 linux,那麼建議使用 Virtual Box 或 VMWare 商業軟件,qemu 在圖形化操做系統上始終並非很好用,常常有鼠標位移,速度慢之類的問題
平常存活主要包括了聊天和 Office 辦公系列,以及筆記之類的平常應用
程序起動器咱們能夠理解是 Windows 裏面的快捷方式,linux 中不少應用最主要就是執行二進制文件,可是有些應用卻沒有提供一個起動器(在 Launcher 中),這讓咱們每次打開的時候還需源經過命令行去運行,固然還有的應用更過度好比用 python 寫的,還須要用 python 去找到那個應用的腳本去執行,既然咱們都進入圖形界面了,那不能倒退啊,這裏說下怎麼建立起動器
這裏我用 Typora 來舉例,Typora 並無提供 rpm 包裝,也沒有在 dnf 的軟件源中,因此 Typora 在下載後就是一個樸實無奇的壓縮包,解壓後,就是一堆文件,看下圖我圈起來那個文件,那就是 Typora 的可執行文件,雙擊他也能運行,那麼咱們起動器的目標就是打開這個可執行文件
在 linux 中,每個起動器都對應一個 desktop 文件,全部的 desktop 文件都在 /usr/local/share/applications
路徑下,用戶本身的起動器,也能夠放到 ~/.local/share/applications
路徑下,接下來咱們來看看起動器的內容,起動器其實就是一個文本文件,告訴系統如何啓動這個應用
Name=Typora
Comment=Markdown Writer
Exec=/home/noark9/data1/Applications/Typora/current/Typora
Icon=/home/noark9/data1/Applications/Typora/current/resources/app/asserts/icon/icon_512x512@2x.png
StartupWMClass=Typora
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Productive;
Name[en_US]=Typora.desktop
複製代碼
這裏就描述了 Typora 這個應用如何啓動,以後把這個文件放到 /usr/local/share/applications
或是 ~/.local/share/applications
路徑下,這樣在應用程序中就能看到他了,在 /usr/local/share/applications
路徑下還有不少起動器,你們在本身寫的時候能夠多多參考
心情愉悅啊,那就包括一些娛樂活動了
使用了 linux 一年之後,我發現我已經能夠很好的在 linux 桌面下存活了,也能很好的完成個人工做,我並不推崇你們盲目的上 linux,畢竟這並非一個想上就能上的系統,在使用過程當中仍是遇到了不少奇奇怪怪的問題,也有做死把桌面環境網絡全搞掛最後本身恢復的時候,可是 linux 確實是一個能鍛鍊人的好系統,使用 linxu 能大大加強本身查找資料的能力,解決問題的能力,以及獨立思考的能力
原本本文應該是今年年初的時候就會寫完了,因此這裏最先的標題是在使用 Linux 工做三個月後,直到年底了,我也開始用回 Mac 後才完成本文的撰寫,可是本文依然是徹底在 linxu 下撰寫完成,並未使用到 Mac 作任何的輔助,中途因爲個人失誤把 GNOME,KDE 等桌面環境卸載了,而且刪掉了網卡驅動後從新配置了網卡驅動和從新安裝桌面環境,致使部分我使用的部分應用已經沒有安裝在系統裏面了,這樣也讓我遺失了一些資料
你們也能夠常常看看 Fedora Magazine ,我挺喜歡 Fedora Magazine 的,裏面常常有有趣的開源工具和 linux 使用經驗分享
最後歡迎你們訂閱個人微信公衆號 Little Code