ubuntu apt-get命令详解

来源:互联网 发布:怎么打开ntfs for mac 编辑:程序博客网 时间:2024/04/28 15:31

1. RedHat与Ubuntu软件安装对比

RedHat:

    rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件(rpm包)的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。。
    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

Ubuntu:

    dpkg用于对基于Debian的系统(Ubunut是debian的变种)进行软件(deb包或源代码)的安装及升级,dpkg同样不能很方便地处理包的依赖关系

    apt-get(Advanced Packaging Tools)适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载二进制或者源代码格式的软件包。apt-get命令一般需要root权限执行,所以一般跟着sudo命令。


2.apt-get常用命令

  • apt-get update

   在修改/etc/apt/sources.list或/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表(保存在本地)是最新的。一般我们用apt-get安装软件前都要执行此命令。

  • apt-get install packagename

    安装一个新软件包,软件包会被下载到/var/cache/apt/archives 稍后进行安装如果一个软件包坏了,或者你只是想重新安装一个软件的最新版本 ,可以使用–reinstall参数,如:

     # apt-get –reinstall install packagename

    在安装软件时,可以用apt-get install package/distribution或apt-get install package=version来指定软件的安装版本,如

     # apt-get install nautilus/unstable

  • apt-get remove/autoremove package

    

    apt-get remove package 删除包

    apt-get remove package –purge 删除包+配置文件

    apt-get autoremove packagename 删除包及其依赖的软件包

    apt-get autoremove –purge packagname  删除包及其依赖的软件包+配置文件


  • apt-get clean/autoclean 

    apt-get clean  安装软件时,软件包会被先下载到/var/cache/apt/archives/目录下,然后安装,apt-get clean可以删除/var/cache/apt/archives/ 和/var/cache/apt/archives/partial/目录下所有包(锁定的除外)。

    apt-get autoclean 仅删除已卸载掉的软件包

  • apt-get upgrade

    apt-get upgrade 更新已安装的包,加-u这个选项让APT显示完整的可更新软件包列表

  • apt-cache search/show/showpkg/depends string  

    apt-cache search string 在软件包列表中搜索字符串 

        apt-cache show string   显示软件信息,如果已经安装,并且又有了新版本,那么都会显示,安装版本在后

       apt-cache showpkg string   获取更多信息

      apt-cache depends string   查询软件的依赖性

3. 用dpkg查询软件名

dpkg -S filename  这个文档属于哪个已安装软件包。

dpkg -l 列出所有已安装的软件包

4.用apt-file查询包与文件的关系

apt-file search filename  就象dpkg -S 但可以查未安装软件包

apt-file list packagename 也可以查询一个包所含文件

apt-file update 更新数据库

5.利用apt-get下载程序源码

apt-get source packagename    下载三个文件 a .orig.tar.gz, a .dsc 和 a .diff.gz

apt-get -b source packagename 下载的源码包自动编译成软件包


    apt-get的source命令与它的其它命令有所不同,普通用 户就可以运行source命令。文件被下载到用户调用apt-source package 命令时所处的目录中 

6.编译软件

apt-get build-dep package

    通常,编译源码包时要用到某些头文件和共享库,所有的源码包的控制文件中都 有一个域“Build-Depends:”,域中指出了编译该源码包需要哪些附加包。APT提供了一个简单的方法下载这些附加包,你只需运行apt-get build-dep package,其中“package”就是你打算编译的源码包 名称。见下例:

1
2
3
4
5
6
7
8
9
     # apt-get build-dep gmc
     Reading Package Lists... Done
     Building Dependency Tree... Done
     The following NEW packages will be installed:
       comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
       libgpmg1-dev 
     0 packages upgraded, 7 newly installed, 0 to remove and 1  not upgraded.
     Need to get 1069kB of archives. After unpacking 3514kB will be used.
     Do you want to continue? [Y/n]

    这些将要被安装的包是用于正确编译gmc的。注意这个命令不 能用来搜索某个软件的源码包,你得另外运行apt-get source下载源码包。如果你想做的是检查要编译一个软件包需要哪些其它的软件包,apt-cache show可以显示它.


0 0
原创粉丝点击