参考文章:
centos7安装网易云音乐
http://blog.csdn.net/u010526125/article/details/72526694
结合rpm,rpm2cpio,cpio提取rpm包的特定文件
http://blog.csdn.net/cloud_ll/article/details/20709515
关于libstdc++.so.6这个库与网易云音乐版本不兼容问题
https://segmentfault.com/a/1190000006863994
测试安装过版本:
1.0.0--16.04--x86.64:netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb
1.0.0-2--14.04--x86.64:netease-cloud-music_1.0.0-2_amd64_ubuntu14.04.deb
1.1.0--16.04--x86.64:netease-cloud-music_1.1.0_amd64_ubuntu.deb
备注:
针对centos7:在虚拟机中1.0.0--ubuntu16.04--x86.64运行最流畅,1.1.0--ubuntu16.04--x86.64因为需要使用vlc所以运行起来卡顿。
针对fedora27:只能安装1.1.0--ubuntu16.04--x86.64,其他两个版本所需glib库太老了,在fedora27上会有错误。
正文:
一、安装环境
cat /etc/redhat-release
centos:CentOS Linux release 7.4.1708 (Core)
fedora :Fedora release 27 (Twenty Seven)
二、下载 1.0.0-ubuntu16.04版( netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb)
各版本下载链接,其他版本自己拼接:
http://s1.music.126.net/download/pc/netease-cloud-music_1.0.0_amd64_ubuntu14.04.deb
http://s1.music.126.net/download/pc/netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb
http://s1.music.126.net/download/pc/netease-cloud-music_1.0.0-2_amd64_ubuntu14.04.deb
http://s1.music.126.net/download/pc/netease-cloud-music_1.0.0-2_amd64_ubuntu16.04.deb
http://d1.music.126.net/dmusic/netease-cloud-music_1.1.0_amd64_ubuntu.deb
三、解压
mkdir netease-cloud-music
mv netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb netease-cloud-music/
cd netease-cloud-music
ar -xv netease-cloud-music_1.0.0_amd64_ubuntu16.04.deb
tar Jxvf data.tar.xz
四、安装
sudo cp -rvf usr/ /
五、设置chrome-sandbox 权限: sudo chmod 4755 /usr/lib/netease-cloud-music/chrome-sandbox
注:1.1.0-16.04版本:neteasecloud-music_1.1.0_amd64_ubuntu.deb不需要此步。
六、添加音频解码库有关第三方源(Fedora27不需要此步骤)
1)elrepo (提供最新内核等)
sudo rpm -Uvh http://elrepo.org/linux/elrepo/el7/x86_64/RPMS/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#yum --enablerepo=elrepo-extras --enablerepo=elrepo-testing --enablerepo=elrepo-kernel install elrepo-release
2)epel (提供10000多个额外拓展包)
sudo rpm -Uvh http://mirror.centos.org/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm
或
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
3)nux-dextop (有人把其他所须相关的软体全放在这个rpm包面)
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64//nux-dextop-release-0-5.el7.nux.noarch.rpm
注:
1)ls -al /etc/yum.repos.d/ 或 yum repolist (查看已安装的源,用来确定epel, elrepo, nux-dextop 是否正确安装),
2)想添加其他源、或其他发行版、或其他版本、或以上地址失效,请前往:https://pkgs.org/,选择你的发行版和系统版本,即可看到相关的源,选择一个源进入,点击各个xxx.noarch.rpm的详情页,找到 Install Howto 项即可看到最新安装方法。
七、安装音视频解码器和qt库
安装音视频解码器:
sudo yum -y install gstreamer1-libav gstreamer1-plugins-bad-freeworld gstreamer1-plugins-base-tools gstreamer1-plugins-ugly gstreamer1-plugins-bad-free gstreamer1-plugins-good gstreamer1-plugins-base gstreamer1 gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly
安装qt库 (构建图形界面)
sudo yum install qt5-qtbase-gui qt5-qtx11extras qt5-qtmultimedia
八、解决未满足依赖
1)查看相关依赖
查看所需全部依赖:ldd /usr/lib/netease-cloud-music/netease-cloud-music #
注:1.1.0-16.04是 ldd /usr/bin/netease-cloud-music
查看未满足的依赖:ldd /usr/lib/netease-cloud-music/netease-cloud-music | grep "not found" #注fedora27因为我安装过Gnome桌面和KDE桌面,依赖都装完了,所以没有结果。
执行结果:
/bin/netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found(required by /bin/../lib/netease-cloud-music/lib/libcef.so)
/bin/netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found(required by /bin/../lib/netease-cloud-music/lib/libcef.so)
/bin/netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found(required by /bin/../lib/netease-cloud-music/lib/libcef.so)/bin/netease-cloud-music:libXss.so.1 => not found
2)解决:libXss.so.1 => not found
前往:https://pkgs.org 搜索 libXss.so.1
看到它来自: libXScrnSaver-1.2.2-6.1.el7.i686.rpm 这个包,点击进详情页面,可以找到下载方式(在Download下),安装方式(在Install Howto 下),及该包包含的文件(在Files下)。然后使用Install Howto中推荐方式安装它:
yum install libXScrnSaver
3)解决:/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found类似问题:
网易云音乐,有道字典在CentOS Linux release 7.2.1511 下不能运行的问题
原因:由于开发人员使用的更高版本的gcc,而centos7上面使用的gcc和对应的动态链接库版本过低
解决方式 一:下载高版本的gcc进行编译安装(我使用此法,安装的是gcc7.2.0。)
具体方法:http://blog.csdn.net/qq_15304853/article/details/78941264 或者 https://segmentfault.com/a/1190000006863994
解决方式二:升级libstdc++.so.6和glibc
1、升级libstdc++.so.6
前往:https://pkgs.org 搜索 libstdc++.so.6,注意要的是64位的软件包。
找到centos7中相关包: libstdc++-4.8.5-16.el7_4.1.i686.rpm,属于gcc4.8.5,进入软件包详情页,找到 Provides项 ,查看到包含标准库版本为:libstdc++.so.6(GLIBCXX_3.4.19),同时Files项中包含文件如下:
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.19
不包含`GLIBCXX_3.4.21',达不到要求,重新搜索,在 fedora27发行版里找到一个含有libstdc++.so.6高版本的软件包:libstdc++-7.2.1-2.fc27.x86_64.rpm
找到 Provides项 ,查看到包含标准库版本为:libstdc++.so.6(CXXABI_1.3)(64bit) 到 libstdc++.so.6(GLIBCXX_3.4.24)(64bit),含有3.4.20、3.4.21版本,满足要求。
下载:libstdc++-7.2.1-2.fc27.x86_64.rpm
下载地址(在Download里包名上右键:复制链接地址):http://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/l/libstdc++-7.2.1-2.fc27.x86_64.rpm
下载方式一:curl -C -O http://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/l/libstdc++-7.2.1-2.fc27.x86_64.rpm
下载方式二:wget -C http://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/l/libstdc++-7.2.1-2.fc27.x86_64.rpm
提取软件包中libstdc++.so.6:rpm2cpio ./libstdc++-5.3.1-6.fc22.x86_64.rpm | cpio -id
升级替换原来版本:
sudo cp usr/lib64/libstdc++.so.6.0.21 /usr/lib64/
sudo ln -sf /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6
2、升级glibc
前往:https://pkgs.org 搜索 glibc,找到 Fedora27(因为Fedora上软件都是最新的,而它的最高版本是27) 提供的64位版本:glibc-2.26-15.fc27.x86_64.rpm.
下载:wget http://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/g/glibc-2.26-15.fc27.x86_64.rpm
安装:yum install ./glibc-2.26-15.fc27.x86_64.rpm
出现依赖错误,无法安装。
解决方法:百度glibc,找到最新版源码:glibc-2.26.tar.xz,地址https://ftp.gnu.org/gnu/glibc/glibc-2.26.tar.xz。然后下载、编译、安装:
wget https://ftp.gnu.org/gnu/glibc/glibc-2.26.tar.xz
tar -xvf glibc-2.26.tar.xz
cd glibc-2.18/
mkdir build
cd build
../configure --prefix=/usr
make && sudo make install
4)1.1.0-16.04版本还有以下:
1、/bin/netease-cloud-music: /lib64/libdbus-1.so.3: no version information available (required by /bin/../lib/netease-cloud-music/lib/libcef.so)
注:可忽略,不影响使用。
2、libvlc.so => not found 问题。
解决方式:
centos7:yum install vlc --skip-broken
Dedora27:
sudo rpm -Uvh http://download1.rpmfusion.org/free/fedora/releases/27/Everything/x86_64/os/Packages/r/rpmfusion-free-release-27-1.noarch.rpm
sudo dnf install vlc
九、运行:
root用户无法使用,以root身份启动时会无法出现界面。不知原因。
非root用户运行: netease-cloud-music
运行效果:
十、创建启动的快捷方式
sudo vim /usr/share/applications/netease-cloud-music.desktop
需要修改Icon图标路径,和Exec可执行命令路径,修改内容如下:
Icon=/usr/share/icons/hicolor/scalable/apps/netease-cloud-music.svg
Exec=/usr/bin/netease-cloud-music %U
修改文件的权限:sudo chmod 744 /usr/share/applications/netease-cloud-music.desktop
修改、保存、退出后可以在应用程序中看到启动图标
十一、卸载方法:
sudo rm -rvf /usr/bin/netease-cloud-music
sudo rm -rvf /usr/lib/netease-cloud-music/
sudo rm -rvf /usr/share/doc/netease-cloud-music/
sudo rm -rvf /usr/share/icons/hicolor/scalable/apps/netease-cloud-music.svg
sudo rm -rvf /usr/share/applications/netease-cloud-music.desktop