美文网首页
实践10 . 树莓派A20的deb包管理

实践10 . 树莓派A20的deb包管理

作者: wit_yuan | 来源:发表于2017-09-23 14:39 被阅读0次

1 基本知识

树莓派A20目前使用的是linaro ubuntu系统,所以包管理机制都是按照ubuntu方式管理的。

目前需要了解以下基础知识:

  1. ls /var/cache/apt/archives/

该命令能显示出在系统中存在的所有deb包。

  1. dpkg -l

该命令能查看系统已经安装的deb包。

  1. dpkg -i xxx.deb(deb包名)

该命令能安装deb包

如安装tftp包,则如下图所示:


安装tftp
  1. apt-get remove 软件 与 dpkg -r 软件

使用apt-get remove 软件 命令,可以卸载掉安装的包文件。例如卸载tftp。可以使用apt-get remove tftp。如下图所示:


卸载tftp

也可以使用dpkg -r 软件 命令。不过一般建议使用apt-get remove软件这个方法,卸载的比较干净。

  1. dpkg -L 软件

该命令可用来查看安装的软件,相关文件放在哪些目录下。

例如,安装tftp后,文件分布的目录如下图所示:


tftp安装文件分布
  1. dpkg -x xx.deb 解压路径

也就是将xx.deb文件解压到'解压路径'位置上。

2 应用

2.1 tftp

现在我们需要做这样的一个应用。也就是,在树莓派A20板子上。目前已经有了文件系统,但是我们需要添加tftp等相关内容到A20板子上,这样每次烧写一个新的树莓派A20板子,就有了tftp命令。

首先,需要关注一个源:http://ports.ubuntu.com/ubuntu-ports/

然后要关注在A20上的一个文件地址:

root@marsboard:/var/cache/apt/archives# cat /etc/apt/sources.list
deb http://ports.ubuntu.com/ubuntu-ports/ trusty main universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main universe
root@marsboard:/var/cache/apt/archives#

我们在树莓派上针对tftp将deb包文件进行解压。

$ dpkg -x tftp_0.17-18ubuntu2_armhf.deb /root/wit
$ ls /root/wit
usr
$  tar -czvf tftp.tar.gz usr
usr/
usr/share/
usr/share/man/
usr/share/man/man1/
usr/share/man/man1/tftp.1.gz
usr/share/doc/
usr/share/doc/tftp/
usr/share/doc/tftp/copyright
usr/share/doc/tftp/BUGS
usr/share/doc/tftp/changelog.Debian.gz
usr/share/doc/tftp/README.Debian
usr/bin/
usr/bin/tftp
$ 

之后,我们将tftp.tar.gz解压到文件系统的usr目录下即可。然后将文件系统烧写到树莓派A20上,就可以执行tftp命令了。

2.2 zip

如下图所示,我们在树莓派上下载zip的deb包。


下载zip包

我们将zip的deb文件拷贝出来。

$ mkdir /root/wit
$ cp /var/cache/apt/archives/zip_3.0-8_armhf.deb /root/wit
$ cd /root/wit
$ dpkg -x zip_3.0-8_armhf.deb .
$ dpkg -i zip_3.0-8_armhf.deb 
$ zip -r zip_deb.zip usr/*
        zip warning: name not matched: usr/share/doc/zip/changelog.gz
  adding: usr/bin/ (stored 0%)
  adding: usr/bin/zipsplit (deflated 36%)
  adding: usr/bin/zipnote (deflated 39%)
  adding: usr/bin/zip (deflated 41%)
  adding: usr/bin/zipcloak (deflated 40%)
  adding: usr/share/ (stored 0%)
  adding: usr/share/man/ (stored 0%)
  adding: usr/share/man/man1/ (stored 0%)
  adding: usr/share/man/man1/zip.1.gz (stored 0%)
  adding: usr/share/man/man1/zipcloak.1.gz (stored 0%)
  adding: usr/share/man/man1/zipsplit.1.gz (stored 0%)
  adding: usr/share/man/man1/zipnote.1.gz (stored 0%)
  adding: usr/share/doc/ (stored 0%)
  adding: usr/share/doc/zip/ (stored 0%)
  adding: usr/share/doc/zip/copyright (deflated 54%)
  adding: usr/share/doc/zip/TODO (deflated 51%)
  adding: usr/share/doc/zip/WHATSNEW (deflated 58%)
  adding: usr/share/doc/zip/changelog.Debian.gz (stored 0%)
$

2.3 unzip

对应与zip,unzip也需要安装。

$ dpkg -x make_3.81-8.2ubuntu3_armhf.deb .
$ zip -r unzip.zip usr/*
  adding: usr/bin/ (stored 0%)
  adding: usr/bin/zipinfo (deflated 40%)
  adding: usr/bin/funzip (deflated 39%)
  adding: usr/bin/unzip (deflated 40%)
  adding: usr/bin/unzipsfx (deflated 37%)
  adding: usr/bin/zipgrep (deflated 59%)
  adding: usr/lib/ (stored 0%)
  adding: usr/lib/mime/ (stored 0%)
  adding: usr/lib/mime/packages/ (stored 0%)
  adding: usr/lib/mime/packages/unzip (deflated 5%)
  adding: usr/share/ (stored 0%)
  adding: usr/share/man/ (stored 0%)
  adding: usr/share/man/man1/ (stored 0%)
  adding: usr/share/man/man1/zipinfo.1.gz (stored 0%)
  adding: usr/share/man/man1/funzip.1.gz (stored 0%)
  adding: usr/share/man/man1/unzipsfx.1.gz (stored 0%)
  adding: usr/share/man/man1/zipgrep.1.gz (stored 0%)
  adding: usr/share/man/man1/unzip.1.gz (stored 0%)
  adding: usr/share/doc/ (stored 0%)
  adding: usr/share/doc/unzip/ (stored 0%)
  adding: usr/share/doc/unzip/History.600.gz (stored 0%)
  adding: usr/share/doc/unzip/copyright (deflated 54%)
  adding: usr/share/doc/unzip/BUGS (deflated 47%)
  adding: usr/share/doc/unzip/ToDo (deflated 57%)
  adding: usr/share/doc/unzip/changelog.gz (stored 0%)
  adding: usr/share/doc/unzip/changelog.Debian.gz (stored 0%)
$ 

2.4 gcc

gcc依赖的deb包比较多,为简单起见,我将/var/cache/apt/archives下的deb包全部删除了,这样可以简单的知道使用apt-get install gcc后添加的deb包。

最后将之后的目录使用zip打包,我打包成了gcc.zip。

2.5 vim

在/var/cache/apt/archives下:

$ zip vim.zip *
$

该工具可以解压,然后放到文件系统中,这样,每一次启动,vim都是配置好了的。

2.6 git

$ zip git.zip *
$

相关文章

网友评论

      本文标题:实践10 . 树莓派A20的deb包管理

      本文链接:https://www.haomeiwen.com/subject/bhzqextx.html