apt 安装,Deb包安装和aptitude安装解决依赖性问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apt 安装,Deb包安装和aptitude安装解决依赖性问题相关的知识,希望对你有一定的参考价值。

参考技术A 本文部分资料来源,在此对作者表示感谢!
aptitude 命令详解
依赖: XXX 但是它将不会被安装
Ubuntu 16.04 安装程序的三种方式

此时便可以使用

常用命令

APT(Advanced Packaging Tool)是Debian/Ubuntu类Liunx系统中的软件包管理程序, 使用它可以找到想要的软件包, 而且安装、卸载、更新都很简便;也可以用来对Ubuntu进行升级; APT的源文件为/etc/apt/目录下的sources.list文件.

APT常用命令包括:

Apt下载安装包时Hash校验和不符

近期我的电脑在使用apt-getaptitude下载Linux安装包时总是出现如下图所示的Hash校验和不符的问题。以至于下载过程被频繁中断,不得不反复运行apt-get或者在aptitude中按g键,才能够断点续传,完成全部的下载,非常讨厌。而若令电脑连接手机热点,则没有这样的问题。对此,初步判断是由网络服务提供商代理服务器的配置问题所导致的。

技术图片

技术图片

经过搜索与文档查阅,找到了解决方法:在目录/etc/apt/apt.conf.d下创建文件99FixHashCheckSumError,其中包含如下内容。

 Acquire::http::Pipeline-Depth 0;
 Acquire::http::No-Cache true;

之后,再运行apt-getaptitude则一切正常。需要说明的是,虽然网上有人提到还应加入Acquire::BrokenProxy true;,但是该配置选项并未被apt.conf的文档提及。

参考apt.confman说明和RFC 2616,以上各配置条目的含义摘录如下:

  • Acquire::http::Pipeline-Depth can be used to enable HTTP pipelining (RFC 2616 section 8.1.2.2) which can be beneficial e.g. on high-latency connections. It specifies how many requests are sent in a pipeline. APT tries to detect and workaround misbehaving webservers and proxies at runtime, but if you know that yours does not conform to the HTTP/1.1 specification pipelining can be disabled by setting the value to 0. It is enabled by default with the value 10.

    RFC 2616 8.1.2.2 Pipelining

    A client that supports persistent connections MAY "pipeline" its requests (i.e., send multiple requests without waiting for each response). A server MUST send its responses to those requests in the same order that the requests were received.

    Clients which assume persistent connections and pipeline immediately after connection establishment SHOULD be prepared to retry their connection if the first pipelined attempt fails. If a client does such a retry, it MUST NOT pipeline before it knows the connection is persistent. Clients MUST also be prepared to resend their requests if the server closes the connection before sending all of the corresponding responses.

    Clients SHOULD NOT pipeline requests using non-idempotent methods or non-idempotent sequences of methods (see section 9.1.2). Otherwise, a premature termination of the transport connection could lead to indeterminate results. A client wishing to send a non-idempotent request SHOULD wait to send that request until it has received the response status for the previous request.

  • Acquire::http::No-Cache tells the proxy not to use its cached response under any circumstances.

以上是关于apt 安装,Deb包安装和aptitude安装解决依赖性问题的主要内容,如果未能解决你的问题,请参考以下文章

dpkg ---- apt-get ------ aptitude 三种方式的区别 及命令格式

Apt下载安装包时Hash校验和不符

Yocto之apt-get安装deb包环境搭建

ubuntu只下载不安装deb包

ubuntu 使用apt/apt-get安装deb包

通过deb包安装Jekins时发生错误,导致apt-get安装其他软件时会报错的奇怪问题