Ubuntu系统的ECS实例中Apt-get安装使用相关问题

本文介绍在Ubuntu系统的ECS实例中Apt-get安装使用方法及常见问题解决方案。

如何通过Apt-get安装软件

通过Apt-get在线安装软件,下述操作以安装Nginx为例。

  1. 远程连接Ubuntu实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行如下命令,安装Nginx软件。

    apt-get install nginx

    系统显示类似如下,表示是否继续安装Nginx。

  3. 根据提示信息,输入Y确认后,开始安装软件,直至软件安装完成。

  4. 软件安装完成后,执行如下命令,列出软件包所在的目录,及该软件包中的所有文件。

    dpkg -L nginx
    image
  5. 执行如下命令,安装Nginx。

    dpkg -l nginx

Apt-get常见问题

通过Apt-get安装软件时,提示“error processing package install-info (--configure)”错误怎么办?

问题现象

在Ubuntu系统的ECS实例中,通过Apt-get安装软件时提示“error processing package install-info (--configure)”错误。

问题原因

可能是由于Ubuntu软件包损坏,导致软件安装失败。

解决方案

请参考以下操作进行apt源更新同步,重新安装软件。

  1. 远程连接Ubuntu实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 将info文件夹更名。

    mv /var/lib/dpkg/info/ /var/lib/dpkg/info.bak.old/
  3. 新建一个新的info文件夹。

    mkdir /var/lib/dpkg/info/
  4. 执行如下命令,进行apt源更新同步。

    apt-get update
  5. 执行如下命令,重新安装xxxxx软件,若不再提示以上报错信息,则表示问题已修复。

    apt-get install  xxxxx

通过Apt-get安装软件或更新时,提示“Segmentation faultsts”错误怎么办?

问题现象

在Ubuntu系统的ECS实例中,通过Apt-get安装软件或更新时提示“Segmentation faultsts”错误。

问题原因

可能是由于apt的cache出现冲突,导致软件安装或更新失败。

解决方案

请参考以下操作进行apt源更新同步。

  1. 远程连接Ubuntu实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. /var/cache/apt/目录进行备份。

  3. 备份完成后,执行如下命令,删除/var/cache/apt/目录中所有.bin文件。

    rm /var/cache/apt/*.bin
  4. 执行如下命令,进行apt源更新同步。

    apt-get update
  5. 测试是否可以正常使用apt-get。

    说明

    如果实例内存配置过低(比如内存大小只有512MB)的情况下,当提示“Segmentation faultsts”错误时,您还可以使用top命令检查内存使用情况,将一些非必须的进程先暂时关闭,再尝试执行apt-get。

通过Apt-get安装软件时,提示“Reading package lists... Error!”错误怎么办?

问题现象

在Ubuntu系统的ECS实例中,通过Apt-get安装软件时出现类似如下报错信息。

Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/AZ.archive.ubuntu.com_ubuntu_dists_natty_main_i18n _Translation-en E: The package lists or status file could not be parsed or opened.

问题原因

软件包列表损坏,导致软件安装报错。

解决方案

请参考以下操作清除已损坏的列表,重新生成更新列表。

  1. 执行如下命令,清除目录下已经损坏的列表。

    rm -rf /var/lib/apt/lists/*
  2. 执行如下命令,重新生成更新列表。

    apt-get update

  3. 再次安装软件,若不再提示以上报错信息,则表示问题已修复。

执行apt-get install unzip或aptitude install unzip命令时,提示“Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]”错误怎么办?

问题现象

在Ubuntu系统的ECS实例中,执行apt-get install unzipaptitude install unzip命令时,提示如下错误提示。

Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]
Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]
Error http://mirrors.aliyun.com/ubuntu/ trusty-updates/main unzip amd64 6.0-9ubuntu1.1 404 Not Found [IP: 112.124.XXX.XXX 80]

问题原因

该问题通常是由于初始系统中的软件版本库与apt源中的版本不一致(即apt-get请求的资源在apt源中不存在)所导致的。

解决办法

请参考以下操作进行apt源更新同步。

  1. 远程连接Ubuntu实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行如下命令,进行apt源更新同步。

    apt-get update
  3. 源更新同步完成后,通过使用apt-get install命令安装所需软件。

执行apt-get update命令时,提示“The following signatures were invalid: KEYEXPIRED 1544811256”错误怎么办?

问题现象

在Ubuntu系统的ECS实例中,执行apt-get update命令时,提示以下信息。

The following signatures were invalid: KEYEXPIRED 1544811256

问题原因

由于使用的软件源签名到期,导致更新报错。

解决方案

请参考以下操作更新已过期的key。

  1. 远程连接Ubuntu实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,获取过期的key。

    sudo apt-key list | grep -A 1 expired
  3. 执行以下命令,更新过期的key。

    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys [$Key]
    说明

    [$Key]指的是之前获取到的过期的key。

  4. 重新执行以下命令,进行apt源更新同步。

    apt-get update