CentOS7中一直沒有一個像樣的音樂播放器,網易雲音樂與深度科技團隊在半年前就啟動了“網易雲音樂Linux版“, 但是只提供了Ubuntu(14.04&16.04)和deepin15版本,並不涉及CentOS7,不過花點時間還是可以在CentOS7中 安裝上的。
一、下載安裝包
1.1 下載ubuntu14.04版本 這里下載的是ubuntu16.04(64位)安裝包,下載其他的版本有些依賴包找不到。
二、解壓安裝包
2.1 解壓 netease-cloud-music_1.1.0_amd64_ubuntu.deb
使用如下命令解壓:
ar -vx netease-cloud-music_1.0.0-2_amd64_ubuntu14.04.deb
得到如下三個文件
x - debian-binary
x - control.tar.gz
x - data.tar.xz
2.2 繼續解壓data.tar.xz
xz -dk data.tar.xz
tar -xvf data.tar
解壓后得到的usr文件夾的內容如下
將他們放入到CentOS7中對應的/usr目錄下
sudo cp -r usr/* /usr/
三、根據提示安裝依賴
3.1 執行如下命令
[root@localhost opt]# cd /usr/bin/
[root@localhost bin]# ./netease-cloud-music
命令執行后會提示缺少某些依賴包,我們可以通過如下幾個步驟解決。
- 根據提示使用yum命令去倉庫中查找是否有對應的安裝包,有則安裝上
- 如果yum命令查詢不到對應的安裝包則手動去http://www.rpmfind.net/下載對應的rpm包安裝。
提示:只有很少的包需要去http://www.rpmfind.net/中下載對應的CentOS7的rpm包安裝,多數是通過yum命令安裝上的,請耐心查詢對應的依賴包,馬上就要成功了。
我啟動后報的錯是:
問題1:
[root@localhost bin]# ./netease-cloud-music
./netease-cloud-music: error while loading shared libraries: libvlc.so.5: cannot open shared object file: No such file or directory
解決辦法:
[root@localhost bin]# yum -y install vlc
問題2:
[root@localhost bin]# ./netease-cloud-music
./netease-cloud-music: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
解決辦法:
[root@localhost bin]# yum -y install libXScrnSaver.x86_64
問題3:
[root@localhost bin]# ./netease-cloud-music
./netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/bin/../lib/netease-cloud-music/lib/libqcef.so.1)
./netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/bin/../lib/netease-cloud-music/lib/libcef.so)
./netease-cloud-music: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/bin/../lib/netease-cloud-music/lib/libcef.so)
原因:由於開發人員使用的更高版本的gcc,而本機上面使用的gcc和對應的動態鏈接庫版本過低
解決方法:下載高版本的gcc進行編譯安裝
[root@localhost lib64]# strings libstdc++.so.6 |grep GLIBCXX GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19
3.2 下載高版本的gcc
下載地址:http://mirrors.hust.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2
編譯,安裝過程
解壓后進入目前 ./contrib/download_prerequisites ./configure --prefix=/usr --enable-languages=c,c++ --disable-multilib make -j4 #等50分鍾左右 sudo make install
處理libstdc++問題(在實際情況中,上一步make完畢之后就自動幫你做好連接了,不放心的話可以查看一下)
1:進入剛才編譯的gcc5.4的如下目錄 /home/cherish/gcc-5.4.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs 2:將libstdc++.so.6.0.21 復制到/lib64目錄下 sudo cp libstdc++.so.6.0.21 /lib64 3:將/lib64之前的舊的鏈接刪掉,建立新的軟鏈接 cd /lib64 sudo rm libstdc++.so.6 sudo ln -sv libstdc++.so.6.0.21 libstdc++.so.6
四、再次啟動
[root@localhost bin]# ./netease-cloud-music [0531/095339.240154:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name [0531/095351.300614:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name [0531/095356.358927:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name [0531/095528.374076:ERROR:edid_parser.cc(181)] invalid EDID: human unreadable char in name
這個報錯暫時在網上找不到,不知道是什么原因,但是網易雲音樂能夠使用
感謝大神們的貢獻:
https://github.com/caojx-git/learn/blob/master/notes/linux/CentOS7%E4%B8%AD%E5%AE%89%E8%A3%85%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90.md
https://segmentfault.com/a/1190000006863994
https://blog.csdn.net/hong_sir1988/article/details/72716690