portsinstallでtarballのfetchにaxelを使う

この記事は公開されてから8年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。

portinstall や portupgrade でのパッケージをダウンロードするときは1コネクションの接続となるため、ダウンロードに時間がかかることがあります。
そこで、分割ダウンロードに対応している axel を使ってスピーディーにダウンロードできるようにしてみたいと思います。

参考ページ: Portsでのダウンロードを速くする|FreeBSD|@OMAKASE
FreeBSD マルチコネクションによるportsの同時ダウンロード

まずは ports から axel をインストールします

そして、/etc/make.conf でダウンロードするときのコマンドを指定します。

FETCH_BEFORE_ARGS の中身ですが、axel の引数を設定します。

-n 3 というのは「3分割してダウンロードする」という意味ですので、この数字を変更すると分割数を変更できます。
-a というのはプログレスバーの表示方法の指定です。
これを指定しないと下記のようにダウンロードが進むごとにプログレスバーの行数が増えていきます。

指定しておくと

というようにシンプルになります。

ほかにも axel の引数はありますので、 axel -h とすると確認できます。