s3v*_*ch7 5 apt dpkg software-installation mega
我已经下载了 MEGAsync 的 debian 包并尝试在 Ubuntu 16.04 上安装:
sudo dpkg -i mega.deb
Run Code Online (Sandbox Code Playgroud)
但它抛出这个错误:
Selecting previously unselected package megasync.
(Reading database ... 204976 files and directories currently installed.)
Preparing to unpack megasync-xUbuntu_16.10_amd64.deb ...
Unpacking megasync (3.5.3-2.1) ...
dpkg: dependency problems prevent configuration of megasync:
megasync depends on libcrypto++6; however:
Package libcrypto++6 is not installed.
megasync depends on libqt5core5a (>= 5.6.0~beta); however:
Version of libqt5core5a:amd64 on system is 5.5.1+dfsg-16ubuntu7.5.
megasync depends on libqt5svg5 (>= 5.6.0~beta); however:
Version of libqt5svg5:amd64 on system is 5.5.1-2build1.
dpkg: error processing package megasync (--install):
dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils (0.22-1ubuntu5.1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Errors were encountered while processing:
megasync
Run Code Online (Sandbox Code Playgroud)
然后我尝试sudo apt -f install尝试修复这些缺失的依赖项并得到这个:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
megasync
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 8.368 kB disk space will be freed.
Do you want to continue? [Y/n]
Run Code Online (Sandbox Code Playgroud)
如何使它修复依赖项而不删除 MEGAsync?
也尝试sudo apt -y install ./megasync-xUbuntu_16.10_amd64.deb并得到:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'megasync' instead of './megasync-xUbuntu_16.10_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
megasync : Depends: libcrypto++6 but it is not installable
Depends: libqt5core5a (>= 5.6.0~beta) but 5.5.1+dfsg-16ubuntu7.5 is to be installed
Depends: libqt5svg5 (>= 5.6.0~beta) but 5.5.1-2build1 is to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
使其可执行后,您只需通过 GUI 双击该文件即可。这是您可以选择的最快且轻松的选项,它让系统处理依赖项。如果您坚持使用 GUI 解决方案gdebi进行安装,则执行相同的操作。因此,在您的情况下,sudo apt install -f将其删除,然后执行以下操作。
# get the right package for your Ubuntu version 16.04 if this step fails
# because you not have 'wget' installed do 'sudo apt install wget' and retry
wget https://mega.nz/linux/MEGAsync/xUbuntu_16.04/amd64/megasync-xUbuntu_16.04_amd64.deb
#update the package archives
sudo apt update
#if the next step tells you that gdebi is already installed skip to the line after that
sudo apt install gdebi
# installing it with gdebi
sudo gdebi megasync-xUbuntu_16.04_amd64.deb
Run Code Online (Sandbox Code Playgroud)
这应该安装所有必要的依赖项和包本身。