进一步解 apt-get 的几个命令

来源:http://blog.csdn.net/span76/article/details/41313591

 

用 apt-get 也很久了,没多想它的实现,最近遇到 gstreamer 装不上的问题,才多看看了它

 

apt-get 就是从网上下载包,并安装到本地

手工下载 dpkg 包,而后 ”dpkg -i 包名“ 也可以

但找包,检查dependency 太辛苦,这就是 apt-get 帮助做的事情

 

从哪里下载, 官方url

在/etc/apt/sources.list中,可以看看

sudo vi /etc/apt/sources.list

 

sources list  中的格式如下 ( ref: https://wiki.debian.org/SourcesList)

 

deb http://site.example.com/debian distribution component1 component2 component3
deb-src http://site.example.com/debian distribution component1 component2 component3

开头 deb  代表编译好的包, des-src代表源代码 

 

distribution 代表发行版本,比如 12.07 是 precise 

deb http://cn.archive.ubuntu.com/ubuntu/ precise main restricted

 

component 说明

Main - Officially supported software.
Restricted - Supported software that is not available under a completely free license.
Universe - Community maintained software, i.e. not officially supported software.
Multiverse - Software that is not free.

比如:

deb http://cn.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

(ref : https://help.ubuntu.com/community/Repositories/Ubuntu)

 

更改了 /etc/apt/sources.list , 要用用 apt-get update 更新 index 文件

更新的 index 文件在 /var/lib/apt/lists/ 

 

安装 ppa

PPA,表示 Personal Package Archives,也就是个人软件包集。
有很多软件因为种种原因,不能进入官方的 Ubuntu 软件仓库。 为了方便 Ubuntu 用户使用,launchpad.net 提供了 ppa,允许用户建立自己的软件仓库, 自由的上传软件。PPA 也被用来对一些打算进入 Ubuntu 官方仓库的软件,或者某些软件的新版本进行测试。
PPA 上的软件极其丰富,如果 Ubuntu 官方仓库中缺少您需要的某款软件,可以去 PPA 上找找看。

sudo add-apt-repository ppa:user/ppa-name

比如jdk1.6不再index中

sudo apt-get install python-software-properties  < for installing add-apt-repository >
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

用命令 “sudo apt-cache  search jdk“,会发现结果中多了下列内容

 

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. oracle-jdk7-installer - Oracle JDK7 Installer meta package  
  2. oracle-java7-installer - Oracle Java(TM) Development Kit (JDK) 7  
  3. oracle-java6-installer - Oracle Java(TM) Development Kit (JDK) 6  
  4. oracle-java8-installer - Oracle Java(TM) Development Kit (JDK) 8  
  5. oracle-java7-set-default - Set Oracle JDK 7 as default Java  
  6. oracle-java6-set-default - Set Oracle JDK 6 as default Java  
  7. oracle-java8-set-default - Set Oracle JDK 8 as default Java  

 

 

之前我不能安装gstreamer 也是通过下面命令解决的

 

sudo add-apt-repository ppa:gstreamer-developers/ppa

之后也发现/var/lib/apt/lists/ 多了几个index文件

 

ppa.launchpad.net_gstreamer-developers_ppa_ubuntu_dists_precise_main_binary-i386_Packages
ppa.launchpad.net_gstreamer-developers_ppa_ubuntu_dists_precise_main_source_Sources
ppa.launchpad.net_gstreamer-developers_ppa_ubuntu_dists_precise_Release
ppa.launchpad.net_gstreamer-developers_ppa_ubuntu_dists_precise_Release.gpg

 

update 三个命令的区别

apt-get update 更新软件列表。
apt-get upgrade 更新软件。
apt-get dist-upgrade 更新系统版本。

 

查询可安装的 package 

很多时候忘记了package 的名字

用 apt-cache search <包名>  查询就是了,其原理应该是到 package  的index文件中去做正则匹配

 

查询已经安装的package 

使用 dpkg -S 命令

 

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
    1. payne@payne-desktop:~$ dpkg -S libgstreamer0.10-dev  
    2. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/copyright  
    3. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/README.gz  
    4. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev  
    5. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/NEWS.gz  
    6. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/README.Debian  
    7. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/changelog.Debian.gz  
    8. libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/AUTHORS
posted @ 2016-01-23 16:22  von · van  阅读(189)  评论(0编辑  收藏  举报