APT教学,apt怎么使用

  APT教学,apt怎么使用

  第六章使用源代码包

  6.1下载源代码包

  在自由软件包的世界里,学习源代码或者纠正错误的源代码是非常常见的。为此,我们必须下载程序的源代码。APT系统提供了一种非常简单的方法来获取发行版中程序的源代码,包括创建程序的所有文件。deb套餐。

  debian源代码的另一个常见用途是修改不稳定发行版程序的新版本,以适应稳定版本。编译一个相对稳定版本的软件包会创建一些Deb包,这些Deb包与当前版本中可用软件包的依赖项相匹配。

  为此,我们的/etc/apt/sources.list文件中的deb-src实体应该指向不稳定版本。也应该允许(但不建议)。

  要下载源包,我们可以使用以下命令:

  $ apt-get获取源包名

  这将下载三个文件:a.origtar.gz,a.dsc,a.diff.gz。如果你正在下载一个特殊的Debian软件包,上面三个文件的最后一个通常不会被下载,第一个文件通常没有orig的名字。

  的。dpkg-source使用dsc文件将源包提取到packagename-version目录中。每个下载的包都有一个debian目录,其中包含创建。deb套餐。

  如果我们想在下载后自动创建这个包,我们可以在命令行中添加-b选项,比如下面的命令:

  $ apt-get -b源包名称

  如果我们没有创造。deb包下载后,我们可以运行下面的命令来创建它:

  $ dpkg-build package-rfakeroot-UC-b

  这个命令应该在为下载源代码而创建的目录中运行。

  要安装由上述命令创建的安装包,我们需要直接使用包管理器。例如,以下命令:

  # dpkg -i file.deb

  apt-get的源方法和其他方法有一些区别。普通用户无需特殊的root密码即可使用source方法。存储下载文件的目录就是我们调用apt-get source package命令的目录。

  6.2编译源包所需的包

  通常,为了编译一个源码包,需要特殊的头文件和共享库。所有源代码包在它们的控制文件中都有一个名为“Build-Depends”的区域,用来指示从源代码编译这个包所需的额外的包。

  APT有一个非常简单的方法来下载这些包。我们只需要运行apt-get build-dep包,其中package是我们要创建的包的名称。例如:

  # apt-get build-dep gmc

  将以这种方式安装的包是我们正确编译gmc包所需的包。这里需要注意的一点是,这个命令不会找到我们要编译的程序的源代码,所以我们需要运行一个单独的apt-get源码来获取我们需要的源代码。

  如果我们想要的只是检查创建指定包所需的包,那么有许多apt-cache show可以满足我们的要求。在该命令的显示信息中,Build-Depends部分将列出所需的包。例如:

  # apt-缓存显示src包

  第7章如何处理错误

  7.1一般错误

  错误总是会发生,很多错误都是由于用户的疏忽造成的。这里我们将列出一些最常见的错误和一些解决方案。

  如果我们尝试运行apt-get安装包,将会出现类似如下的错误消息:

  读取包装清单.完成的

  构建依赖关系树.完成的

  w:无法统计源包列表“http://people . debian . org unstable/Package”

  w:您可能需要运行apt-get更新来纠正这些丢失的文件

  e:找不到企鹅包

  这是因为在您上次更改/etc/apt/source.list文件后,我们忘记了运行apt-get update命令。

  如果错误如下:

  e:无法打开锁文件/var/lib/dpkg/lock - open (13权限被拒绝)

  e:无法锁定管理目录(/var/lib/dpkg/),你是root吗?

  如果我们试图运行任何apt-get方法而不是源方法,我们没有root权限,也就是说,我们是以普通用户的身份运行这些命令。

  如果我们同时运行apt-get命令两次,或者如果在我们试图运行apt-get时dpkg进程被激活,将会出现类似的消息。与其他方法同时运行它的唯一方法是源方法。

  如果安装过程中途中断,并且我们发现无法安装或删除安装包,我们可以尝试运行以下两个命令:

  # apt-get -f安装

  # dpkg -配置-a

  然后再试一次。与上面两个命令相比,似乎第二个命令更有必要。对于使用‘不稳定’的用户来说,这是重要的一课。

  如果在运行apt-get update时出现“E:Dynamic MMap run out of room ”,我们可以在/etc/apt/apt.conf中添加下面的句子:

  APT:Cache-Limit 10000000;

  (完)

APT教学,apt怎么使用