linux的自由度和使用键盘的乐趣吸引了越来越多的人从windows转向linux阵营。有一句名言(出处不详):“Windows赢得了桌面,Linux却赢得了整个世界”。正是因为linux的开放性和共享精神,依赖问题成为了新手接触linux时常见的挑战。博主根据自己的实践经验,分享几种解决依赖问题的有效方法。
首先,根据提示确认缺少的依赖信息(可通过百度或谷歌查询)。特别是在生产环境中,必须反复确认,并与研发团队沟通,以确保新依赖的部署不会影响现有系统环境。记住,依赖本身也是软件,可能依赖其他软件。
在线安装方法:
centos 系列
代码语言:JavaScript代码运行次数:0运行复制“`javascript // 查找依赖 dnf search xxx // 安装依赖 dnf install xxx
Debian 系列 <p>代码语言:javascript代码运行次数:0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制javascript // 查找依赖 apt search xxx // 安装依赖 apt-get update apt-get install xxx</code>
离线安装方法:
下载对应的离线包,可以是二进制包,也可以是源码包(需要自行编译)。
deb 格式
代码语言:javascript代码运行次数:0运行复制javascript // 不能解决依赖问题 dpkg -i xxx.deb // 大部分依赖能自动处理 apt-get install xxx.deb
rpm 格式</p><p>代码语言:javascript代码运行次数:0<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> d="M6.66666 10.9999L10.6667 7.99992L6.66666 4.99992V10.9999ZM7.99999 1.33325C4.31999 1.33325 1.33333 4.31992 1.33333 7.99992C1.33333 11.6799 4.31999 14.6666 7.99999 14.6666C11.68 14.6666 14.6667 11.6799 14.6667 7.99992C14.6667 4.31992 11.68 1.33325 7.99999 1.33325ZM7.99999 13.3333C5.05999 13.3333 2.66666 10.9399 2.66666 7.99992C2.66666 5.05992 5.05999 2.66659 7.99999 2.66659C10.94 2.66659 13.3333 5.05992 13.3333 7.99992C13.3333 10.9399 10.94 13.3333 7.99999 13.3333Z" fill="currentcolor"></path></svg>运行<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制```javascript // 不能解决依赖问题 rpm -i xxx.rpm // 大部分依赖能自动处理 dnf/yum install xxx.rpm
推荐几个获取离线包的网站:
Packages for Linux and UnixOpen Suse Software
Rpmfind
总结起来,Linux的依赖问题并不难解决,只要花点时间查看报错信息,并结合网上已有的帖子进行分析,大部分问题都可以通过yum/dnf或apt直接解决。但有时在线库中找不到所需依赖,比如文章开头的截图所示的两个依赖在deepin的apt源中就未找到,此时就需要自己下载相应的二进制包进行安装。