ubuntu 安装依赖,ubuntu安装程序崩溃
大家好,今天小编来为大家解答以下的问题,关于ubuntu 安装依赖,ubuntu安装程序崩溃这个很多人还不知道,现在让我们一起来看看吧!
Ubuntu18.04安装OpenCV依赖包libjasper-dev无法安装的问题
在使用Ubuntu18.04系统安装OpenCV时,遇到了安装依赖包libjasper-dev的困难,具体表现为安装命令执行时出现“errorE: unable to locate libjasper-dev”的错误提示。许多博客建议通过修改访问路径来解决问题,然而实践过程中,这种方法不仅未能解决问题,反而引发了更多问题,包括sudo apt-get update命令执行失败。
正确的解决策略是,在系统的/etc/apt/sources.list文件末尾添加国内清华源路径。这一步骤旨在优化软件包的获取效率,并解决因网络问题导致的安装失败。添加源路径后,使用sudo apt-get update更新系统环境,确保所有已安装软件包的依赖关系得到及时更新。
完成系统更新后,尝试再次执行库包安装命令。通过遵循上述步骤,成功解决了在Ubuntu18.04系统上安装OpenCV时遇到的依赖包libjasper-dev无法安装的问题。此方法不仅解决了当前问题,还为后续软件安装提供了更稳定的基础环境。通过优化系统源,有效提升了软件包的获取效率,确保了软件安装过程的顺利进行。
Ubuntu下安装依赖的几个解决方案
但是如图中所示,这次不行,为什么呢?因为一般而言安装制定版本的软件所对应的问题是软件版本过高的的问题.但是在这里并不是这样,而是因为安装这个软件还有很多的其他依赖这里无法提供.
这个时候就要轮到下面的这种方法了.
那就是使用aptitude来代替apt,aptitude与 apt-get一样,是 Debian及其衍生系统中功能极其强大的包管理工具。与 apt-get不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。而在安装软件时,它不仅仅可以提供像apt那样的普通功能,还能够提供在安装依赖冲突时的解决方案。
比如我在安装R时发现安装冲突,这个时候我们就可以使用sudo aptitude install r-base-core来解决这个问题。一开始的时候,aptitude也会想apt那样检测到依赖冲突,然后给出一个解决方案。但是不同的地方在于对于解决方案你有三个选择(y/n/q),y就是同意,n不同意,然后会继续给出下一个解决方案。q–>退出,放弃安装。假如一开始它推荐给你不安装的时候,你就可以选择n,然后一般而言第二个解决方案将会自动降级安装依赖的软件(如果是一系列软件版本过高的话),这个时候选择同意基本都可以安装成功。
如图:
不过唯一美中不足的问题在于,这样安装之后的软件版本会比较低。不过好在确实可以用了。
如何制作定制的ubuntu镜像
具体操作如下:
一、从零开始构建Ubuntu-Server系统安装镜像
1)、Debian-installer--initrd.gz、vmlinuz和isolinux/的制作
Debian-installer是Debian的系统安装程序,ubuntu的server和alternate版都是使用Debian-installer作为系统安装程序。Debian-installer是一种字符界面的安装程序,可以对系统安装的软件包进行定制。
1、使用Debian-installer的ubuntu分支的源码
2、安装构建Debian-installer的依赖包:sudoapt-get build-dep debian-installer
3、创建debian-installer所需的源列表sources.list.udeb.local,构建debian-installer时会根据本机的sources.list生成所需的sources.list.udeb,可根据需要创建合适的sources.list.udeb.local来代替sources.list.udeb。
例,在debian-installer源码/build/下建立sources.list.udeb.local,其内容如下:
debcopy:/home/xin/work/version/debian-installer/build/ localudebs/
deb raring main/debian-installer
deb raring-securitymain/debian-installer
deb raring-updates main/debian-installer
deb raring-proposedmain/debian-installer
4、根据需要(光盘启动、硬盘启动和网络启动等)构建带有debian-installer的内核文件,例如:makebuild_cdrom_isolinux
结果将在dest/目录下生成如下文件:
├── cdrom
├──debian-cd_info.tar.gz
├── initrd.gz
└── vmlinuz
其中debian-cd_info.tar.gz内容为光盘启动所需的syslinux相关文件,也可供debian-cd使用自动生成光盘镜像。
5、定制:
config目录下修改给之文件可具体对内核等功能进行配置,具体有待根据实际需求进行分析。
2)、debootstrap&mksquashfs--filesystem.{manifest,size,squashfs}的制作
filesystem.squashfs是由debootstrap生成的ubuntu基础系统经过mksquashfs打包而成。
1、生成标准ubuntu基础系统:sudodebootstrap raring./testfs
2、为安装系统时增加自定义的包集合菜单
3)、光盘引导--isolinux/的制作
isolinux/下为光盘引导的相关文件,可使用debian-installer生成的debian-cd_info.tar.gz提供的文件,也可使用自定义引导程序。
4)、自动化安装系统--preseed/的制作
preseed/下放置的是各种自动化安装系统的seed文件,可根据需要按照相关规则编写seed文件,ubuntuserver所使用的为ubuntu-server.seed。在引导参数中需指定seed文件。
5)、光盘中源的软件包--pool/的制作
pool/下是光盘中本地源的所有软件包,软件包按照源的标准文件结构放置。使用apt-move工具可将指定文件夹下的所有软件包按照源的标准文件结构放置,即可生成所需的pool目录。Apt-move是一个专为已下载到/var/cache/apt/archives的软件包生成debian软件包仓库文件结构的工具。光盘中所携带的所有软件包之间必须没有冲突并有完整的依赖关系,同时不能和debootstrap生成的基础系统中已安装的软件包有冲突。
6)、光盘中源的包列表--dists/的制作
dists/下是光盘中本地源的包列表,其中至少应包含两个包列表:1)光盘中所有供系统安装的.deb包的包列表(Packages),2)Debian-installer所需的.udeb包的包列表。
7)、光盘信息–.disk/目录
.disk/目录下为记录一些光盘属性的文件,此目录是制作镜像所必须的。debian-installer会读取其中信息以判断是否为ubuntu的系统安装盘。
8)、 simple-cdd--自动化构建ubuntu-server系统安装镜像
simple-cdd可以根据配置文件,利用Debian-installer和Debian-cd等工具自动构建ubuntu-server系统安装镜像。(由于这些软件默认配置都是针对Debian的,具体配置和使用还有待分析)