首頁 > 軟體

Windows下Cygwin安裝使用教學

2020-06-16 16:39:07

Cygwin是Windows平台上執行的UNIX模擬環境,它對於學習UNIX/Linux操作環境,或者從UNIX到Windows的應用程式移植,或者進行某些特殊的開發工作,尤其是使用GNU工具集在Windows上進行嵌入式系統開發,非常有用。

一、Cygwin的安裝

1. 下載Cygwin,這個可以到這裡下載 ,至於使用32位元的還是64位元的版本可以根據自己的系統而定,開啟下載好的setup-x86.exe(以64bit Windws系統為例) 。

2. 我這裡選擇的是2.876(64位元)版本

3. 第一個選項是線上安裝,第二個選項是只下載不安裝(然後手動安裝),第三個指你已經下載了安裝包,通過已經下載的本地安裝包安裝,若是第一次安裝,選中第一個即可(預設),【下一步】

4. 指定unix系統的根目錄,以及限定那些使用者可以存取這個目錄。安裝目錄別為中文名,以免出錯,接入網站如果不行,提示錯誤,那就重新來換一個接入網站,建議這個路徑要指定在空間比較大的硬碟,在後面的開發中,這個目錄是工作目錄,隨著積累會越來越大

5. 指定包的下載目錄,安裝完成以後可刪除,下面的單選框預設即可,【下一步】

6. 選擇連線方式,如果用的是外網,選擇第一個(預設)即可,如果使用的是公司網或者其他需要代理的內網,記得使用相應的代理,一般如果預設瀏覽器有設代理,選擇第二個就好,如果預設瀏覽器沒有設代理,則使用第三項自己設定代理,【下一步】

7. 選擇一個映象站點,任選一個即可,按Ctrl鍵可選中多個。這裡需要注意一下,對於國內的使用者,強烈建議使用國內的映象,這樣可以在後面的下載過程中有更快的速度,比如我這裡使用的是http://mirrors.163.com/cygwin/,我用10M的寬頻,下載速度能夠達到2M多;【下一步】

8. 這一步很關鍵,選擇要下載和安裝的包,根據你的需要選擇包,選的包越多所需的下載時間越長,單擊【View】可以在分類、全部、已選之間迴圈切換,點選每一類前面的加號可以展開,要選中每一個包,只需單擊每一行前邊像迴圈的那個圖示,會在版本號和Skip之間切換,選一個最新的版本號即可,下邊的那個核取方塊預設即可。

為了後面的操作,我們有必要在這裡選擇一些必要的包進行安裝:

(1) curl
(2
) git* (git,git-completion, git-gui, gitk)
(3
) libreadline6, libiconv2
(4
) vim, ctags
(5
) Python;

(6) lynx

(7) wget, tar, gawk, bzip2

當然其中有一些是已經就預設勾選的,在選擇的時候只要在search裡面輸入對應名稱,它就會自動過濾出你要安裝的包了,然後將迴圈Skip切換成你需要安裝的版本就好了,一定要記得在搜尋的時候不需要按Enter, 不然就直接跳到下一步了。

9. 選好後【下一步】下圖,會顯示你選擇的安裝包:

單擊下一步開始安裝,最後會讓你讓你選擇是否生成快捷方式,然後OK了!

以後要安裝新的安裝包,或是更新,還是通過這個過程,執行setup.exe選擇安裝包即可。

二、Cygwin的設定

開啟Cygwin終端,右擊開啟 Options...選項
Text可以設定字型的一些屬性,如大小、編碼,Locale 選擇C, Character set 選擇 UTF-8,可以避免中文顯示亂碼

三、安裝apt-cyg

這時就可以開啟Cygwin64 Terminal,開始像正常linux終端一樣在windows下工作了,但是現在還是比較粗糙,缺少很多我們必要的比如一些依賴庫和命令,而且我們比較熟悉的apt-get也沒有,在Cygwin中,我們使用apt-cyg來下載和管理安裝包,下面我們來介紹怎麼安裝它:

現在googlecode關閉了,以前網上搜的好多辦法都不可行了,沒法用wget安裝apt-cyg

找了半天只有github裡有個方法可行:

apt-cyg is a simple script. To install:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Example use of apt-cyg:

apt-cyg install nano
 

四、安裝repo

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
// 如果上述 URL 不可存取,可以用下面的:
//curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo

這時候repo命令就可以用了,可以用 ~/bin/repo init --help 命令測試一下,不過關閉終端以後,需要重新設定一下環境變數

PATH=~/bin:$PATH

或者將它加到 /.bashrc 裡面,然後export一下也行。

下面我們可以用repo初始化一個倉庫:

1. mkdir WORKING_DIRECTORY    //隨便建立一個目錄
2. cd WORKING_DIRECTORY
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
//其中repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest是清華提供的映象源
//repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest是中國科技技術大學的映象源
// 如果提示無法連線到 gerrit.googlesource.com,可以編輯 ~/bin/repo檔案,把 REPO_URL 一行替換成下面的:
//REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'

初始化一個Android專案用於測試(將上面初始化倉庫的操作換成)

3. repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.4_r2.1

下載並同步原始碼樹,這時下載速度就和你的寬頻和選擇的映象源有關了,所以國內還是建議使用163的源

4. repo sync

當你需要暫停時只需要ctrl+c就可以暫停同步,repo是支援斷點續傳的,關機你也可以再次來到工作目錄執行repo sync繼續同步!
當然同步過程可能會經常性的卡住,這時候我們可以使用一個指令碼來幫忙vim dowmload.sh,將下面的祖傳程式碼寫入dowmload.sh中:

 #!/bin/bash     
    echo "======start repo sync======"     
    repo sync     
    while [ $? == 1 ]; do     
    echo "======sync failed, re-sync again======"     
    sleep 3     
    repo sync     
    done

chomd a+x download.sh讓其可以執行,然後終端輸入./download.sh就可以開始下載了,用這一步代替官方文件裡的repo sync。當連線不上終端時休息3毫秒然後再自動repo sync,這樣就不用一直等著了。

repo其實是一個指令碼,它可以同時管理多個git倉庫,而一個git倉庫只能維護一份專案程式碼,關於repo命令的詳細可以自尋搜尋,也可以參考這裡和 repo用法詳解

===================================================================================================================

cygwin作為windows下模擬Linux環境的的工具,使得我們能在windows下非常方便的使用Linux的命令和工具,下面講講怎樣在cygwin新增不支援的命令。

一、安裝cygwin工具的安裝工具apt-cyg,此工具類似於Ubuntu下的apt-get工具,所有的工具都是通過他安裝,用過Ubuntu的人應該都知道

#wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg 
wget http://w.gdu.me/wiki/files/shell/apt-cyg

或者直接從這裡clone  https://github.com/transcode-open/apt-cyg

chmod +x apt-cyg 
mv apt-cyg /usr/local/bin/ 
apt-cyg --help 
cygcheck --help 
# 修改軟體源 
apt-cyg --mirror http://mirrors.163.com/cygwin 
#下面是可選的源 
# ftp://mirror.mcs.anl.gov/pub/cygwin 
# http://mirrors.163.com/cygwin 
# ftp://ftp.ges.RedHat.com/private/releng/cygwin-1.8

二、完成以上步驟之後,就可以隨便安裝相應的軟體了

# apt-cyg install man cygwin-doc 
apt-cyg install vim screenwget subversion openssh pwgen gzip bzip2 curl rsyncbash-completion lftp nc tree p7zip connect-proxy util-linux bind-utils inetutils 

三、新增常用Linux命令

給Cygwin新增more/col/whereis等命令:安裝util-linux包:apt-cyg install util-linux
給Cygwin新增telnet/ftp工具:apt-cyg install inetutils
給Cygwin安裝dig命令
安裝bind-utils包:apt-cyg install bind-utils
檢查系統中已設定好DNS: ipconfig /all
得到Windows格式的路徑名?
cygpath
-d -m "`pwd`"

Cygwin 3.0.0-1 發布,POSIX相容環境  https://www.linuxidc.com/Linux/2019-02/156957.htm


IT145.com E-mail:sddin#qq.com