MSYS2のバージョンを固定する » 履歴 » バージョン 4
開発 次郎, 2025/05/10 12:22
| 1 | 3 | 開発 次郎 | %{color:red}だめだ、うまくいかない。 |
|---|---|---|---|
| 2 | パッケージをインストールする前にダウンロードして(保管して)、再利用しようとしても同じ名前でインストールすることができない。 |
||
| 3 | 例えば、msys2-develというパッケージ名でインストールはできるが、これでローカルインストール(-U)はできない。 |
||
| 4 | 4 | 開発 次郎 | ひょっとしてインストール(-S)か? |
| 5 | 3 | 開発 次郎 | % |
| 6 | |||
| 7 | 1 | 開発 次郎 | h1. MSYS2のバージョンを固定する |
| 8 | |||
| 9 | MSYS2にインストールするパッケージは、Linuxと異なり過去のパッケージをインストールすることができない。 |
||
| 10 | 所望のバージョン、例えば安定版に固定する方法は自分で見つける必要がありそう。 |
||
| 11 | ここでは、自分なりの方法を示す。 |
||
| 12 | |||
| 13 | h2. MSYS2インストールして最初のフルセットを残しておく |
||
| 14 | |||
| 15 | MSYS2インストーラは、過去のものを残しておいてもあまり意味がない。 |
||
| 16 | なぜなら、古いインストーラがあっても、それに対応したパッケージがMSYS2パッケージ・リポジトリからなくなっていることが多いからである。 |
||
| 17 | |||
| 18 | MSYS2をインストールして安定版を作る前に、インストール直後の状態を保管しておく。 |
||
| 19 | |||
| 20 | p((. ※ MSYS2インストーラは20250221msys64.7zというようなファイルを解凍しているようなので、公式リポジトリからこれがダウンロードできるならインストール直後の状態を保管しておく必要はないが、これがどこにあるのか、現時点(2025/5/10)で分かっていない。 |
||
| 21 | |||
| 22 | h3. パッケージ・データベースの更新 |
||
| 23 | |||
| 24 | <pre><code class="bash"> |
||
| 25 | $ pacman -Sy |
||
| 26 | </code></pre> |
||
| 27 | |||
| 28 | h3. コア・ファイル(仮称)の更新 |
||
| 29 | |||
| 30 | <pre><code class="bash"> |
||
| 31 | $ pacman -Suw --cachedir [バックアップ先パス] |
||
| 32 | # おそらく次の3種がダウンロードされる。 |
||
| 33 | # Packages (3) filesystem-2025.02.23-1 mintty-1~3.7.8-1 msys2-runtime-3.6.1-4 |
||
| 34 | $ cd [バックアップ先パス] |
||
| 35 | $ pacman -U filesystem-2025.02.23-1-x86_64.pkg.tar.zst mintty-1~3.7.8-1-x86_64.pkg.tar.zst msys2-runtime-3.6.1-4-x86_64.pkg.tar.zst |
||
| 36 | </code></pre> |
||
| 37 | |||
| 38 | h2. パッケージをインストールする時はダウンロードしたパッケージを保管する |
||
| 39 | |||
| 40 | 2 | 開発 次郎 | %{color:red}この方法ではMSYS2ターミナル(mintty)が終了させられなくなる。msys2-runtimeの更新までやった後、ディレクトリをバックアップするのが良いかもしれない。% |
| 41 | |||
| 42 | 1 | 開発 次郎 | 通常パッケージをインストールするときはインターネットからインストールするが、それでは手元にパッケージファイルが残らない。 |
| 43 | MSYS2にインストールしたパッケージは、MSYS2を作り直すときに再度使いたいので、自分で補完しておく。 |
||
| 44 | ゆえに、通常のインストール方法ではなく、次のようにインストールする。 |
||
| 45 | |||
| 46 | <pre><code class="bash"> |
||
| 47 | $ pacman -Sw --cachedir [バックアップ先パス] [パッケージ名] |
||
| 48 | $ pacman -U [パッケージのパス][パッケージ名] |
||
| 49 | </code></pre> |