turtlechanのブログ

無知の私がLinuxをいじりながら書いていくブログ

Manjaro Linux のアップデートが遅いのでミラーサーバーを変更した

初期状態でも問題なくアップデートやインストールができるが、通信速度が遅いので時間がかかる。大体 100kbps くらいだったかな。とにかく遅い。
原因はManjaroミラーサーバーが初期状態では海外のものに設定されているからです。そのため日本のサーバーに変更すれば、かなり改善されます。

ミラーサーバーの更新

ミラーサーバーの更新(変更)の方法を書いていきます。

ミラーサーバーの記述されているファイルは /etc/pacman.d/mirrorlist です。

コマンドによる更新(変更)

こちらの方法はManjaroで推奨されている方法のようです。
公式: Pacman-mirrorsコマンドによるミラーサーバーリストの更新

次のコマンドを入力

~$ sudo pacman-mirrors --fasttrack && sudo pacman -Syy

たったこれだけで良いのです。実行するとちょっと時間かかります。
上のコマンドの意味は、ミラーサーバーにアクセスして回線速度の早い順に /etc/pacman.d/mirrorlist を書き換える。それが終わったらミラーサーバーと同期。

実行すると以下のような感じになります。

~$ sudo pacman-mirrors --fasttrack && sudo pacman -Syy
::INFO Downloading mirrors from repo.manjaro.org
::INFO Using default mirror file
::INFO Querying mirrors - This may take some time
  1.544 Canada         : https://osmirror.org/manjaro/
  ..... Austria        : http://mirror.easyname.at/manjaro/
~省略~
  0.124 Japan          : http://ftp.tsukuba.wide.ad.jp/Linux/manjaro/
~省略~
  0.109 Japan          : http://ftp.riken.jp/Linux/manjaro/
~省略~
::South_Africa    : http://manjaro.mirror.ac.za/stable
::Italy           : https://ct.mirror.garr.it/mirrors/manjaro/stable
::Brazil          : http://linorg.usp.br/manjaro/stable
::Iran            : https://repo.sadjad.ac.ir/manjaro/stable
::INFO Mirror list generated and saved to: /etc/pacman.d/mirrorlist
[sudo] turtle のパスワード:
:: パッケージデータベースの同期中...
 core                           148.0 KiB   548K/s 00:00 [##############################] 100%
 extra                         1789.3 KiB  3.66M/s 00:00 [##############################] 100%
 community                        5.3 MiB  3.49M/s 00:02 [##############################] 100%
 multilib                       182.5 KiB  5.24M/s 00:00 [##############################] 100%

/etc/pacman.d/mirrorlist は応答の早い順に書き換えられます。

手動で更新(変更)

こちらの方法は推奨はされていないが、上記の方法より早く作業が終わる。
やることは単純にテキストエディタで /etc/pacman.d/mirrorlist を編集する。あとは同期すればいい。

まず /etc/pacman.d/mirrorlist のバックアップを取っておきます。

~$ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.old

テキストエディタを開くのすら面倒なのでコマンドで mirrorlist を上書き・追記していきます。

~$ sudo sh -c "echo '##' > /etc/pacman.d/mirrorlist"
~$ sudo sh -c "echo '## Manjaro Linux my mirrorlist' >> /etc/pacman.d/mirrorlist"
~$ sudo sh -c "echo '##' >> /etc/pacman.d/mirrorlist"
~$ sudo sh -c "echo '## Country : Japan' >> /etc/pacman.d/mirrorlist"
~$ sudo sh -c "echo 'Server = http://ftp.riken.jp/Linux/manjaro/stable/\$repo/\$arch' >> /etc/pacman.d/mirrorlist"
~$ sudo sh -c "echo 'Server = http://ftp.tsukuba.wide.ad.jp/Linux/manjaro/stable/\$repo/\$arch' >> /etc/pacman.d/mirrorlist"

cat で中身を確認。

~$ cat /etc/pacman.d/mirrorlist
##
## Manjaro Linux my mirrorlist
##
## Country : Japan
Server = http://ftp.riken.jp/Linux/manjaro/stable/$repo/$arch
Server = http://ftp.tsukuba.wide.ad.jp/Linux/manjaro/stable/$repo/$arch
    

問題がないようなら、同期。

~$ sudo pacman -Syy

エラーしなければオッケーです。
今回は日本のミラーサーバーのみ書いたが、好みでサーバーを追加してください。

おわりに

私は Manjaro インストール後、インターネットに接続してアップデートしたので 5GB 程ダウンロードされた。海外サーバーだとかなり時間がかかると思うので、インストール後は最初にミラーサーバーの変更はしておいた方がいいと思います。

何かの参考になれば幸いです。