首页 > 代码库 > Debian软件安装

Debian软件安装

配置/etc/apt/sources.list


  • 通过root权限修改/etc/apt/sources.list
    $ su #输入密码进入root权限
    $ chmod 0666 /etc/apt/sources.list  #取消只读属性
    $ gedit /etc/apt/sources.list  #修改内容
    $ chmod 0644 /etc/apt/sources.list  #恢复只读属性
    $ apt-get update #保存更新
    $ sudo apt-get dist-upgrade #发布版升级
    $ dpkg -l |grep ^rc|awk ‘{print $2}‘ |sudo xargs dpkg -P #将系统中所有安装过,现在已经删除,但保留有配置文件的包,再把这些配置文件通通都删掉。
  • source.list文件格式说明
    • 类型
      deb_二进制软件
      deb-src_软件的源代码
    • url 开源镜像站
      1.安全情报保持您 Debian 系统的安全性非常重要
      #安全情报
      deb http://security.debian.org/ jessie/updates main contrib non-free
      2.Debian 全球镜像站
      中国大陆
      #Debian 全球镜像站_中国大陆
      deb http://ftp.cn.debian.org/debian/ jessie main
      deb-src http://ftp.cn.debian.org/debian/ jessie main
      3.网易开源镜像站
      #网易开源镜像站
      deb http://mirrors.163.com/debian/ jessie main non-free contrib
      deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib
      deb http://mirrors.163.com/debian/ jessie-backports main non-free contrib
      deb-src http://mirrors.163.com/debian/ jessie main non-free contrib
      deb-src http://mirrors.163.com/debian/ jessie-updates main non-free contrib
      deb-src http://mirrors.163.com/debian/ jessie-backports main non-free contrib
      deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
      deb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
      4.阿里云开源镜像
      #阿里云开源镜像
      deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
      deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
      deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
      deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
      *url里边包含/dists/(发行版)
    • debian版本号
      lsb_release -a命令可以查看
    • 内容
    • main Debian 里最基本及主要且符合自由软件规范的软件 ( packages )。
    • contrib 这里头软件虽然可以在 Debian 里头运作,即使本身属于自由软件但多半却是相依于非自由 ( non-free ) 软件。
    • non-free 不属于自由软件范畴的软件。
    • non-us 这个分类里头的软件都来自非美国地区,当中可能有牵扯到专利、加密..等等问题。
    • marillat
      对应 Christian Marillat 的软件仓库,包括mplayer, transcode等。
    • rareware
      对应 rarewares.org 的软件仓库, 包括很多音效程序,如lame, musepack, beep media player等。
    • ustc
      对应 debian@ustc 维护的一些软件包,如 mule-gbk, gaim-openq, scim, stardictdicts, patched xpdf, irssi, xmms。
    • Java
      对应 Blackdown java。包括 j2re, j2sdk ,mozilla java plugin。
    • firefly
      对应打过firefly补丁的包,包括 fontconfig mozilla mozilla firefoxpango1.0 qt-x11-free xft
    • misc
      对应其它无分类的包,包括 nvidia-kernel,winex3, rox, chmsee等

终端命令


  • sudo
  • apt-get
    • apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
    • apt-get命令一般需要root权限执行,所以一般跟着sudo命令。
    • apt-get install packagename
      安装一个新软件包
    • apt-get remove packagename
      卸载一个已安装的软件包(保留配置文档)
    • apt-get remove --purge packagename
      卸载一个已安装的软件包(删除配置文档)
    • apt-get autoremove packagename
      删除包及其依赖的软件包
    • apt-get autoremove --purge packagname
      删除包及其依赖的软件包+配置文件,比上面的要删除的彻底一点
    • apt-get autoclean
      apt会把已装或已卸的软件都备份在硬盘上,所以假如需要空间的话,能够让这个命令来删除您已卸载掉的软件的备份。
    • apt-get clean
      这个命令会把安装的软件的备份也删除,但是这样不会影响软件的使用。
    • apt-get upgrade
      可以使用这条命令更新软件包,apt-get upgrade不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包,尽管实现后一种更新的推荐命令为apt-get dist-upgrade
      在运行apt-get upgrade命令时加上-u选项很有用(即:apt-get -u upgrade)。这个选项让APT显示完整的可更新软件包列表。不加这个选项,你就只能盲目地更新。APT会下载每个软件包的最新更新版本,然后以合理的次序安装它们。注意在运行该命令前应先运行 apt-get update更新数据库,更新任何已安装的软件包。
    • apt-get dist-upgrade
      将系统升级到新版本。
  • apt-cache
    • apt-cache search string
      在软件包列表中搜索字符串。
      * dpkg -l package-name-pattern列出任何和模式相匹配的软件包。假如您不知道软件包的全名,您能够使用“package-name-pattern”。
    • apt-cache showpkg pkgs
      显示软件包信息。
    • apt-cache dumpavail
      打印可用软件包列表。
    • apt-cache show pkgs
      显示软件包记录,类似于dpkg –print-avail
    • apt-cache pkgnames
      打印软件包列表中任何软件包的名称。
    • apt-file search filename
      查找包含特定文档的软件包(不一定是已安装的),这些文档的文档名中含有指定的字符串。apt-file是个单独的软件包。您必须先使用apt-get install来安装他,然后运行apt-file update。假如apt-file search filename输出的内容太多,您能够尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文档名)或类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文档,假如您要查找的是某个特定的执行文档的话,这样做是有帮助的)。
    • apt-get autoclean
      定期运行这个命令来清除那些已卸载的软件包的.deb文档。通过这种方式,您能够释放大量的磁盘空间。假如您的需求十分迫切,能够使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文档一并删除。大多数情况下您不会再用到这些.debs文档,因此假如您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。
  • sudo apt-get install
  • dpkg
    • dpkg -i *.deb 本地安装
    • dpkg --force-all --purge packagename
      有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。
    • dpkg -S file
      这个文档属于哪个已安装软件包。
    • dpkg -L package
      列出软件包中的任何文档。
    • dpkg -l
      列出所有已安装的软件包。
  • aptitude
    周详查看已安装或可用的软件包。和apt-get类似,aptitude能够通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。
    由于aptitude比apt-get了解更多信息,能够说他更适合用来进行安装和卸载。

子进程

已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2
一、子进程 已安装 pre-removal 脚本 返回了错误号 1或2 解决办法:

sudo gedit /var/lib/dpkg/status

找到Package: <package name>,比如Package: vsftpd

删除这部分的描述,删到下个Package: XXX前就好。存档后,再进行操作就OK了。

二、子进程 已安装 post-installation 脚本 返回了错误号 1或2 解决办法:

sudo rm /var/lib/dpkg/info/<package name>.*

比如sudo rm /var/lib/dpkg/info/vsftpd.*,存档后,再进行操作就OK了。


Linux清除已删除软件包的配置文件

今天清理一下系统,使用了一个命令行,可能对其他人有参考价值   

dpkg -l |grep "^rc"|awk ‘{print $2}‘ |xargs aptitude -y purge

用途:

删除已经删除的软件包的残留配置文件。因为 debian 中 remove 包不删除配置文件,purge 才能清除,但根据依赖关系自动清除都是 remove,在加上自己失手操作,所以用得时间长了,难免残留很多没必要的配置文件,比较烦,于是有了上述操作。

说明:

  1. dpkg -l

列出系统中安装的所有包的状态,ii‘ 开头的是正常安装的包,rc‘开头的则是删除但仍留下配置文件的包,其他状态则是有错误的状态,自己执行一次就明白了,输出结果的开头有说明的。

  1. grep "^rc"

提取以 rc 开头的包,也就是被删除但仍残留配置文件的包的信息的行。

  1. awk ‘{print $2}‘

打印这些包的名字,他们位于 dpkg -l 输出结果的第二个字段,估计有很多人是通过这个命令认识到 awk 的,也有很多人只在这个命令行中才使用 awk,我就是其中之一。

  1. xargs aptitude -y purge

把上述输出,也就是要清除配置文件的包的名字放在 aptitude -y purge 后面,purge命令会清除配置文件,而 -y 参数会自动对后面 aptitude 命令的提示回答是,这个开关通常是危险的,所以在一般情况下不要轻易使用,而在这里,如果你确定这些包的配置文件的清除是没有问题的的话,可以使用这个开关。

Debian软件安装