Ubuntu软件安装方法

1. 软件的安装

界面安装

通过 Ubuntu Software Center 图形界面安装,search and install, that’s it.

通常需要update软件源,Edit-> software sources ->Download from->other->'some sources', 一般163.com。

或者通过命令行添加,( 给Ubuntu 换源 )

# deb http://mirrors.163.com/ubuntu/ rating main restricted
sudo gedit /etc/apt/sources.list
# after adding it
sudo apt-get update
命令安装
  1. apt-get: 最常见的一种安装方法,会帮我把所有的依赖包都一起安装了。apt-get理论上是要求能够联网,但是如果制作了本地源,就不需要联网,制作本地源可以参考 ubuntu制作本地源
    # 1. 普通安装
    sudo apt-get install softwarename1 softwarename2
    # 2. 修复安装
    sudo apt-get -f install softwarename
    # 3. 重新安装
    sudo apt-get --reinstall install softwarename
    # others: 指定安装版本, apt-get install softwarename=版本号 或则 softwarename-版本号
    sudo apt-get install autoconf=2.50
    sudo apt-get install gcc-4.4
    
  2. Dpkg安装 deb包

    dpkg -i package_name.deb
    
    1. dpkg会绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。
    2. dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install尝试解决依赖性这个问题。
    3. apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。
  3. 源码安装: 如果要使用make安装的话,那么必须得安装build-essential这个依赖包,安装方法已经在前面说过了。在安装完毕以后,我们就可以进行源码安装。源码安装大致可以分为三步骤:配置(./configure)-> 编译(sudo make) -> 安装(sudo make install)

    #1. 解压
    tar zxf xx.tar.gz 	// *.tar.gz
    tar zxf xx.tar.Z	// *.tar.Z
    tar zxf xx.tgz 		// *.tgz
    bunzip2 xx.bz2 		// *.bz2
    tar xf xx.tar		// *.tar
    #2. 进入目录,查看可执行的文件,读README文档
    cd ~/xxx
    ls -F --color
    #3. 配置:常用'--prefix=PREFIX'指定程序的安装位置,通过'--help'查询更多的选项.
    ./configure --prefix=/home/zhen/software/hello
    #4. 编译: 通常会碰到问题无法圆满结束,需要根据错误提示逐个解决
    sudo make
    #5. 安装, 有时候会用 ‘make clean’ 删除旧的objects。
    sudo make install
    

2. 软件的卸载

  1. 通过 Ubuntu Software Center 图形界面remove安装的包和软件

  2. APT命令

    # given 软件包a,依赖软件包b,软件配置c
    # 移除式卸载--- 只删除a
    apt-get remove softname1 softname2
    # 清除式卸载, 同时清除配置 -- 删除 a,c
    apt-get --purge remove softname1 softname2
    apt-get purge softname
    # 删除没用的依赖包 --- 删除为满足依赖而安装的但现在不再需要的软件包(包括已安装包),保留配置文件
    apt-get autoremove <package>
    
  3. dpkg命令

    #移除式卸载:
    dpkg -r pkg1 pkg2 ...
    #清除式卸载:
    dpkg -P pkg1 pkg2...
    

###3. 查看&运行安装的软件

  1. 通过dash菜单: 键入相关字,or 点击Application Tab查看。

  2. 通过application文件夹:go to the directory /usr/share/application

  3. 通过terminal终端:查找相关字 or 直接敲入命令运行

    # 1.查看安装的所有软件 dpkg -l, 查找特定文件加上grep
    dpkg -lgrep typora
    # 查看安装软件的路径 dpkg -L <查找的文件>
    dpkg -L typora 
    # 2.路径查看到文件位置, whereis <查找的文件>
    whereis typora
    # 3.或者用 find <查找的根目录> -name <查找的文件>
    find /usr -name typora
    # 4.查看执行文件的位置 which/type <查找的文件>
    which typora
    # 5.1 查看软件的详细信息, aptitude show <软件名>
    aptitude show typora
    # 5.2 查看软件的详细信息
    dpkg -s typora
    

如果是将软件通过源码安装在自定义的路径下,要运行软件,则:

1)把bin或可运行命令添加到环境变量中 2)给可运行文件做软连接,复制到/usr/bin目录下 3)输入完整的自定义路径+命令的整条语句 4)也可以把3)的方法做成一个别名 5)cd到文件的目录下,./+命令名.

方法5)中,点号表示当前目录,表示在当前目录下执行一些命令,.如果想不加./执行的话,需要把命令添加到环境变量PATH中即可。windows是先默认在当前文件夹查找,再去PATH查找,而linux则相反。

4. 关于apt和dpkg命令的更多解释

APT Related Command Meaning
apt-get (-f) install software 安装软件
apt-get remove softname 卸载软件
apt-get remove –purge softname 卸载并清除配置
apt-get autoremove –purge 删除包及其依赖的软件包+配置文件等
apt-get update 更新软件信息数据库
apt-get upgrade 更新已安装的包
apt-get dist-upgrade 升级系统
apt-get dselect-upgrade 使用 dselect 升级
apt-get build-dep 构建源码包的编译环境
apt-get source 下载该包的源代码
apt-get clean && apt-get autoclean 清理下载文件的存档 && 只清理过时的包
apt-get check 检查是否有损坏的依赖
apt-cache search softname 搜索软件包
apt-cache show softname 获取包的相关信息
apt-cache depends softname 了解包的使用依赖
apt-cache rdepends 了解该包是哪些包的依赖
apt-file search filename 查找filename属于哪个软件包
apt-file list packagename 列出软件包的内容
apt-file update 更新apt-file的数据库
DPKG related commands Meaning
dpkg -i xxx.deb 手动安装软件包,并不能解决软件包之前的依赖性问题
dpkg -r xxx.deb 删除软件包, 不是完全的卸载,它的配置文件还存在.
dpkg -r –purge xxx.deb 连同配置文件一起删除
dpkg -info xxx.deb 查看软件包信息
dpkg -L xxx.deb 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
dpkg -l 列出当前系统中所有的包.可以和参数less一起使用分屏查看. (类似于rpm -qa)
dpkg -l xxx.deb 查询deb包的详细信息,下载软件包到本地之后可以看看信息,用不用安装
dpkg -l |grep -i “软件包名” 查看系统中与”软件包名”相关联的包.
dpkg -s 查询已安装的包的详细信息.
dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)
dpkg-reconfigure xxx 重新配置软件包

References

[1]. http://blog.csdn.net/jx232515/article/details/51892195

[2]. http://blog.csdn.net/yandawcheng/article/details/51331467

[3]. http://blog.csdn.net/baolin1389/article/details/6097568

[4]. http://ghosertblog.github.io/blog/2012/10/22/ubuntu-living-handbook-experience/

[5]. http://blog.csdn.net/xhhjin/article/details/46846999

[6]. http://blog.csdn.net/get_set/article/details/51276609

Table of Contents