67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
|
+++
|
||
|
date = "2018-10-16"
|
||
|
tags = ["arch"]
|
||
|
title = "archでpackageをdowngradeする"
|
||
|
slug = "manga"
|
||
|
+++
|
||
|
|
||
|
archでpackageをdowngradeするには、いろいろな方法があります。
|
||
|
|
||
|
一つは`downgrader`をinstallして実行する方法です。
|
||
|
|
||
|
```sh
|
||
|
$ yay -S downgrader
|
||
|
$ downgrader wine-mono
|
||
|
```
|
||
|
|
||
|
しかし、パッケージによっては、古いバージョンが見つからないことがあります。
|
||
|
|
||
|
そのような場合は、git.archlinux.orgからPKGBUILDを持ってきて対応したりします。
|
||
|
|
||
|
```sh
|
||
|
# https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/wine-mono
|
||
|
$ vim PKGBUILD
|
||
|
pkgname=wine-mono
|
||
|
pkgver=4.7.x
|
||
|
pkgrel=1
|
||
|
pkgdesc="Wine's built-in replacement for Microsoft's .NET Framework"
|
||
|
arch=('any')
|
||
|
url="https://wiki.winehq.org/Mono"
|
||
|
license=('GPL' 'LGPL2.1' 'MPL')
|
||
|
depends=('wine')
|
||
|
source=("https://dl.winehq.org/wine/$pkgname/$pkgver/$pkgname-$pkgver.msi")
|
||
|
sha512sums=('xxxxx')
|
||
|
package() {
|
||
|
install -Dm644 $pkgname-$pkgver.msi "$pkgdir"/usr/share/wine/mono/$pkgname-$pkgver.msi
|
||
|
}
|
||
|
```
|
||
|
|
||
|
こんな感じのPKGBUILDを用意して、内容を書き換えます。この場合は、pkgverとsha512sumですね。内容を見て判断してください。
|
||
|
|
||
|
```sh
|
||
|
# http://dl.winehq.org/wine/wine-mono/
|
||
|
$ curl -sLO http://dl.winehq.org/wine/wine-mono/4.7.2/wine-mono-4.7.2.msi
|
||
|
$ sha512sums wine-mono-4.7.2.msi
|
||
|
1234 wine-mono-4.7.2.msi
|
||
|
```
|
||
|
|
||
|
あとは、`makgepkg`を実行して`pkg.tar.xz`を作り、それをpacmanでインスールします。
|
||
|
|
||
|
```sh
|
||
|
$ cat PKGBUILD
|
||
|
pkgver=4.7.2
|
||
|
sha512sums=('1234')
|
||
|
|
||
|
$ makepkg
|
||
|
|
||
|
$ sudo pacman -U wine-mono-4.7.2-1-any.pkg.tar.xz
|
||
|
```
|
||
|
|
||
|
archはこういうことがサクッとできるのでいいですね。
|
||
|
|
||
|
|
||
|
## 注意
|
||
|
|
||
|
本来、checksumは、ファイルをダウンロードする前に確認するんですけど、ファイルの整合性(安全性)?をチェックするために、ただ、今回は、面倒だったので、ダウンロードしたファイルのものを入れてます。つまり、実質的にチェックしてない。気になる方はちゃんとしたほうがいいですね。
|
||
|
|