歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

多線程proz代替fetch用於ports的安裝

  在安裝ports時需要下載需要安裝的文件,默認的下載程序是/usr/bin/fetch,這是一個單線程的下載工具,並不能滿足大批量下載的要求,因此需要使用多線程下載工具proz來代替fetch。    ports下載使用哪個程序是由/usr/ports/Mk/bsd.port.mk中FETCH_CMD這個變量決定的。因為所有的ports中的Makefile都會包含這個文件,所以只需要更改這個文件就可以。    設置FETCH_CMD有好幾種方法,其中一種是在/etc/make.conf中設定FETCH_CMD=/usr/local/bin/proz。但是這方法會存在一些問題,因為有些ports在安裝下載的時候會在/usr/ports/distfiles中創建一個目錄,比如:vim,下載的文件是應該穵+旁诏usr/ports/distfiles/vim中的,在bsd.port.mk文件中會傳遞一個參數給fetch,讓它把下載來的文件放在對應的地方,在使用fetch的時候這個參數是-o,但是在使用proz時應該是-P,所以用這種方法在下載文件是放在一個目錄內時就會出錯。所以應該采用以下的方法:    1、備份文件  # cp /usr/ports/Mk/bsd.port.mk /usr/ports/Mk/bsd.port.mk    2、更改FETCH_CMD的設置  # vi /usr/ports/Mk/bsd.port.mk  把1626行的  FETCH_CMD?= /usr/bin/fetch  更改為:  FETCH_CMD?= /usr/local/bin/proz    把1628行的  FETCH_CMD?= /usr/bin/fetch -Afr  更改為:  FETCH_CMD?= /usr/local/bin/proz -r    把1636行的  FETCH_CMD?= /usr/bin/FTP  更改為:  FETCH_CMD?= /usr/local/bin/proz    把1633行注釋掉:  #FETCH_BEFORE_ARGS+= $${CKSIZE:+-S $$CKSIZE}    3、更改傳遞目錄的參數:  把2865行的  args="-o "${file} $${site}$${file}  更改為:  args="-P "${_DISTDIR} $${site}$${file}    把2913行的  args="-o "${file} $${site}$${file}  更改為:  args="-P "${_DISTDIR} $${site}$${file}




Copyright © Linux教程網 All Rights Reserved