美文网首页
实践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