• DPKG命令与软件安装、APT


    ====Linux软件包====
    Linux系统中,软件通常以源代码或者预编译包的形式提供。
    1. 软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化
    2. 预编译包通常由软件发布者进行编译,用户只要将预编译包拷贝到系统中即可。考虑到预编译包的通用性,预编译包一般不会针对某种硬件平台优化,所包含的功能和组件也是通用的组合。
    3. ubuntu系统中,软件通常以deb格式的包发布,它是一种预编译包
     
    ====Linux DPKG命令====
    deb包命令遵循如下约定:
    soft_ver-rev_arch.deb
     
    soft:软件包名称
    ver:软件版本号
    rev:ubuntu修订版本号
    arch:目标架构名称
     
    使用dpkg命令来管理deb包
     
       dpkg -i :安装deb软件包
       dpkg -r : 删除软件包
       dpkg -r -P :连同配置文件一起删除
       dpkg -I : 查看软件包信息
       dpkg -L : 查看包内文件
       dpkg -l : 查看系统中已安装软件包信息
       dpkg-reconfigure xxx 重新配置软件包
     
    同时安装多个软件包:
    dpkg -i aaa.deb bbb.deb ccc.deb
     
     
    ====Linux apt命令====
    如果一个软件依赖关系过于复杂,使用dpkg安装就不是一个明智的选择,这个时候就需要用到apt软件包管理系统。apt可以自动检查依赖关系,通过您预设的方式来获得相关软件包,并且自动安装和配置它
     
    apt至少需要一个软件信息数据库和至少一个存放大量deb的软件仓库,我们称之为“源”,源可以是网络服务器、CD或者本地仓库,需要修改/etc/apt/sources.list文件,使apt系统能够连接到源。
     
    apt系统主要包括apt-get和apt-cache等命令:
     
        apt-get install xxx :安装xxx
        -d 仅下载
        -f 强制安装
        apt-get remove xxx :卸载xxx
        apt-get update :更新软件信息数据库
        apt-get upgrade :进行系统升级
        apt-cache search :搜索软件包
     
    建议经常使用 sudo apt-get update 命令来更新您的软件信息数据库
     
     
    ====源码包====
    在少数情况下,例如某软件没有以deb包的格式发布,或者需要定制适合自己的软件,可以通过编译源代码的方式安装它。
     
    源码目录中通常有一个 configure 脚本,用来配置即将开始的编译过程。您可以执行它
        sudo ./configure [--prefix=/usr/loca/xxx ......]
    它会自动检测软件的编译环境和依赖关系,并且生成 Makefile 文件。
    使用带参数的命令 ./configure --help ,或者阅读 INSTALL 文件,查看该脚本允许的参数。例如使用
    --prefix=/usr/local/xxx 参数,将软件的安装目录设定为 /usr/local/xxx/ 。(如果一定要将软件安装在单独目录下,建议您安装在这里)
     
    使用make命令,系统会根据Makefile文件中的设定,通过make工具调用编译器和所需的资源文件,将源代码编译成目标文件
     
    再调用make install命令,make工具会自动连接目标文件和库文件,将最终生成的文件拷贝到Makefile文件设定的路径中,并完成更改文件的的属性,删除残留文件的活动
     
    编译安装完成后,为了更方便使用它,需要给程序的可执行文件做一个符号链接
    sudo ln -sf /usr/local/xxx/可执行文件 /usr/local/bin/可执行文件
  • 相关阅读:
    【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】
    【2016-11-5】【坚持学习】【Day20】【通过委托事件,关闭窗口】
    【2016-11-5】【坚持学习】【Day20】【Linq where in 语句】
    【2016-11-4】【坚持学习】【Day19】【MVVM ICommand】
    【2016-11-5】【坚持学习】【Day20】【MVVM DelegateCommand】
    【2016-11-3】【坚持学习】【Day18】【我认识的ORM】
    【2016-11-3】【坚持学习】【Day18】【Oracle 数据类型 与C#映射关系】
    【2016-11-3】【坚持学习】【Day18】【ADO.NET 】
    【2016-11-2】【坚持学习】【Day17】【通过反射自动将datareader转为实体info】
    【2016-11-2】【坚持学习】【Day17】【微软 推出的SQLHelper】
  • 原文地址:https://www.cnblogs.com/amghost/p/3572158.html
Copyright © 2020-2023  润新知