====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/可执行文件

DPKG命令与软件安装、APT的更多相关文章

  1. 使用dpkg命令卸载已经安装的软件包

    如何在Ubuntu中使用dpkg命令卸载软件 http://jingyan.baidu.com/article/f54ae2fc2724a71e92b849c4.html sudo dpkg -i x ...

  2. Linux基础命令、软件安装

    常用命令 查看当前系统中存在哪些shell cat /etc/shells [root@** ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /us ...

  3. Ubuntu使用(一)——常用命令与软件安装配置

    1.安装输入法 2.配置JDK 3.eclipse 3.1 eclipse启动错误 修改eclipse.init的配置,主要加-vm以及下面的jre路径,路径前别留空格 之前因为加了空格,一直找不到原 ...

  4. shell 命令下载软件 安装软件

    下载命令:wget URL地址 wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noa ...

  5. dpkg命令的用法

    dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除. 所有源自"Debian"的Linux的发行版都使 ...

  6. ubuntu 软件安装配置使用总结(由xmind:Depends:java8-runtime but is not installed引出)

    ubuntu 软件安装总结(由xmind:Depends:java8-runtime but is not installed引出) 不知道抽什么风,这几天PC上又用起了linux操作系统.其实之前断 ...

  7. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  8. Ubuntu下软件安装的几种方式,apt,dpkg工具的使用

    通常 Linux 上的软件安装主要有四种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而大多数软件包会采用多种方式发布软件,所以我们常常需要全 ...

  9. ubuntu的dpkg命令安装和卸载软件

    实际使用中,可以先到网上下载deb文件,然后用dpkg命令来安装. sudo dpkg -l | grep 360 #查看包含360的软件sudo dpkg -i browser360-cn-stab ...

随机推荐

  1. JS鼠标滑轮事件的写法和按键的事件

    在body注册一下滑轮事件 <body onload="win_onload();"></body> 然后JS代码如下: function win_onlo ...

  2. POJ3974 Palindrome (manacher算法)

    题目大意就是说在给定的字符串里找出一个长度最大的回文子串. 才开始接触到manacher,不过这个算法的确很强大,这里转载了一篇有关manacher算法的讲解,可以去看看:地址 神器: #includ ...

  3. Java 理论与实践: 流行的原子——新原子类是 java.util.concurrent 的隐藏精华(转载)

    简介: 在 JDK 5.0 之前,如果不使用本机代码,就不能用 Java 语言编写无等待.无锁定的算法.在 java.util.concurrent 中添加原子变量类之后,这种情况发生了变化.请跟随并 ...

  4. mysql中间件研究(Atlas,cobar,TDDL)

    mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...

  5. IIS7/8 HTTP Error 500.19 错误 0x80070021

    IIS7.0/8.0的错误HTTP Error 500.19 - Internal Server Error ,错误代码为0x80070021,大概原因为IIS7.0的安全设定相比前版本有很大的变更. ...

  6. centos下 Apache、php、mysql默认安装路径

    centos下 Apache.php.mysql默认安装路径 http://blog.sina.com.cn/s/blog_4b8481f70100ujtp.html apache: 如果采用RPM包 ...

  7. [效果]JS折叠菜单-使用方法 (Moo.Fx)

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-06-24) 用法: 1.添加JS库 CODE:<script src="prototype.lite.js& ...

  8. jquery网页字体变大小

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. udt nat traverse

    https://github.com/bakwc/udt-nat-traverse Example of nat traversal using udt library. UDT is a udp b ...

  10. tomcat配置文件server.xml具体解释

    元素名 属性 解释 server port 指定一个port,这个port负责监听关闭tomcat 的请求 shutdown 指定向port发送的命令字符串 service name 指定servic ...