用 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