Linux Mint 17 “Qiana” Mate筆記及安裝紀錄(虛擬機)

Linux Mint 17 “Qiana” 按照原定計畫(無正式官方資料來源、參考資訊為 List of Linux Mint releases – Wikipedia) 在五月底(昨天)推出正式版了,初期只有 Cinnamon 以及 Mate 兩種桌面環境的版本,KDE 及 xfce 桌面環境的版本還得再多等一小段時間。奇妙的是這次官網上資訊截至目前為止都還沒有更新,只有 RC released 的消息,應該是太忙還沒更新吧。

科技網站 ZDNet 日前針對 Linux Mint 17 RC(release candidate) 候選發布版本發表了一篇 Mint 17: The best Linux desktop to date 來推薦這套作業系統,由於 Linux Mint 主要發行版都是基於Ubuntu的關係,這次的版本同樣和所基於的 Ubuntu 14.04 是所謂的 LTS(long-term support) 長期支援版本,擁有五年的後續支援,所以也是公司企業可以考量使用的版本。

剛好最近有些人問到推薦的 Linux distribution,個人在 Debian GNU/Linux系列遊走至目前為止的經驗,以 Desktop 來說,Linux Mint的使用者體驗真的不錯,這邊就記錄一下 Linux Mint 17 Mate的安裝過程,因為在虛擬機上記憶體比較小一點,這邊選的是32位元的 Mate 版本,如果記憶體有到4GB或是更大的容量則建議選擇64位元版本。

閱讀全文

Visual Studio(2012)使用nuGet管理套件,搭配版本控制系統的處理

有些不相關程式本身的東西習慣上不會送進版本控制系統

在Visual Studio裡面有個還滿好用的套件管理機制 – NuGet

透過NuGet可以很方便的安裝各種套件,如 nunit,而裝進來的套件會被放在專案目錄底下的packages資料夾,如果這個目錄沒有進版本控制系統,重新拉一份專案repository則會遇到相關檔案遺失的問題

可以透過以下步驟解決這問題

1.在Visual Studio選項裡面啟用Allow NuGet to download missing packages during build
VisualStudio2012-options- packages
(這個設定是跟著開發環境的)

2.在專案上面啟用 Enable NuGet Package Restore
VisualStudio2012-project-menu
(這個設定是跟著專案的)

然後專案的csproj, sln裡面會加上對應的設定,專案底下還會多一個.nuget資料夾,裡面會有binary的nuget以及nuget的設定,把這些東西加進專案repositry送個commit,之後build project的時候就會自動把需要的packages拉下來了

Git repository 中,檔案名稱大小寫的重新命名

Git-Logo-1788C

先前以為 Git 對於檔名的處理是不區分大小寫的(case-insensitive),後來發現其實 Git 是會區分檔名大小寫的,只是作業系統和檔案系統就不一定是這樣了

例如 FAT 檔案系統本身是不區分大小寫的,Mac OS 使用的 HFS+ (或叫做 Mac OS Extended) 雖然支援區分檔名大小寫,但 Mac OS 預設沒有啟用區分大小寫,要重新格式化磁碟為有區分大小寫的檔案系統才行,至於 NTFS 雖然有支援區分大小寫,但 Windows 預設的行為也是不區分大小寫的,所以結論幾乎可以說是在 Mac OS 和 Windows 系統上,檔案系統預設都是不區分大小寫的果然還是用 Linux 或 FreeBSD 比較簡單

如果只是把檔名從 program.cs 改為 Program.cs,用 git status 指令看狀態時會看不到任何改變:

~/test $ git status
On branch master
nothing to commit, working tree clean

~/test $ mv program.cs Program.cs

~/test $ git status
On branch master
nothing to commit, working tree clean

如果自己動手 git mv 呢?有可能會遇到 destination exists 這個問題:

~/test $ git mv program.cs Program.cs
fatal: destination exists, source=program.cs, destination=Program.cs

在網路上有看到一種作法,先將檔案改為另外一個沒有完全相同字母的檔名,再改為目標檔名,藉此替換大小寫:

~/test $ git mv program.cs program.temp && git mv program.temp Program.cs

不過這也太累了,後來發現加上 --force (-f) 的參數就可以搞定這問題了:

~/test $ git mv -f program.cs Program.cs

這時候再用 git status 看狀態就會發現 git 已經可以成功識別重新命名了:

~/test $ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	renamed:    program.cs -> Program.cs

關於 git mv--force 參數說明是這樣的:

Force renaming or moving of a file even if the target exists

看來只能暫時這樣處理了,用到的機會目前看起來也不是很多就是了~

註:在新版(明確是哪個版本就沒去追了)的 git 直接用 git mv 操作的看起來已經沒問題了,不需要加 -f 也不需要兩段式操作了,讚!

台灣 Portsnap mirror (portsnap.tw.FreeBSD.org) 好像掛了

昨天跟今早陸續試了三次

$sudo portsnap fetch
Password:
Looking up portsnap.tw.FreeBSD.org mirrors… none found.
Fetching snapshot tag from portsnap.tw.FreeBSD.org… failed.
No mirrors remaining, giving up.

$sudo portsnap fetch
Password:
Looking up portsnap.tw.FreeBSD.org mirrors… none found.
Fetching snapshot tag from portsnap.tw.FreeBSD.org… failed.
No mirrors remaining, giving up.

$sudo portsnap fetch
Password:
Looking up portsnap.tw.FreeBSD.org mirrors… none found.
Fetching snapshot tag from portsnap.tw.FreeBSD.org… failed.
No mirrors remaining, giving up.

日本有沒有呢?
閱讀全文