来源: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“,会发现结果中多了下列内容
- oracle-jdk7-installer - Oracle JDK7 Installer meta package
- oracle-java7-installer - Oracle Java(TM) Development Kit (JDK) 7
- oracle-java6-installer - Oracle Java(TM) Development Kit (JDK) 6
- oracle-java8-installer - Oracle Java(TM) Development Kit (JDK) 8
- oracle-java7-set-default - Set Oracle JDK 7 as default Java
- oracle-java6-set-default - Set Oracle JDK 6 as default Java
- 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 命令
- payne@payne-desktop:~$ dpkg -S libgstreamer0.10-dev
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/copyright
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/README.gz
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/NEWS.gz
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/README.Debian
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/changelog.Debian.gz
- libgstreamer0.10-dev: /usr/share/doc/libgstreamer0.10-dev/AUTHORS