Debian安装wine

最近因为要在Linux上交叉编译Win平台的应用,根据报错显示需要安装wine,所以就有了这篇文章。

注意:本教程默认为root用户,根据自己的实际情况进行提权

首先,开启 32 位支持

1
dpkg --add-architecture i386

然后安装被用于签发安装包的密钥
1
2
wget -nc https://dl.winehq.org/wine-builds/winehq.key
apt-key add winehq.key

根据自己的发行版本进行修改/etc/apt/sources.list或创建一个 *.list 文件于 /etc/apt/sources.list.d/,并包含以下内容

Debian发行版本向/etc/apt/sources.list填入
Debian 8(Jessie)deb https://dl.winehq.org/wine-builds/debian/ jessie main
Debian 9(Stretch)deb https://dl.winehq.org/wine-builds/debian/ stretch main
Debian 10(目前的 Testing) (Buster)deb https://dl.winehq.org/wine-builds/debian/ Buster main

之后更新软件库

1
apt-get update

然后选择分支进行安装:

分支安装命令
稳定分支apt install --install-recommends winehq-stable
开发分支apt install --install-recommends winehq-devel
Staging分支apt install --install-recommends winehq-staging

安装失败报错解决

安装过程中可能会报一个错误

1
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 

解决办法

报这个错是因为gcc更新后,库文件没有随着更新,只需更新即可。
首先下载linstdc++6

1
wget http://ftp.us.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.3.0-7_amd64.deb

解包并解压
1
ar -x libstdc++6_8.3.0-7_amd64.deb && tar xvf data.tar.xz

进入具体文件夹找到libstdc++.so.6.0.25
1
cd usr/bin/lib/x86_64-linux-gnu/

删除原先的静态库

1
rm -rf /usr/lib/x86_64-linux-gnu/libstdc++.so.6

把当前文件夹下的libstdc++.so.6.0.25复制到/usr/lib/x86_64-linux-gnu/文件夹下

1
cp libstdc++.so.6.0.25 /usr/lib/x86_64-linux-gnu/

创建软连接

1
ln libstdc++.so.6.0.25 libstdc++.so.6