Linux下软件安装,卸载,管理

时间:2022-01-22 15:18:18

一、 软件安装包的类型

  通常Linux应用软件的安装有五种:
  1) tar+ gz包,如software-1.2.3-1.tar.gz。     他是使用UNIX系统的打包工具tar打包的。
  2) rpm包,     如software-1.2.3-1.i386.rpm。  他是Redhat Linux提供的一种包封装格式(www.rpmfind.net)。
  3) dpkg(deb)包,如software-1.2.3-1.deb。  他是Debain(ubuntu) Linux提供的一种包封装格式。
  4) bin包,如RealPlayer11GOLD.bin,它是realplayer的linux文件下的二进制安装格式,它是源程序经过编译后的一种机器语言。
  5) 脚本安装文件,这一类格式比较多,例如后缀为sh、pl、run的文件都是脚本文件。不过对于普通用户不太常见。安装这类文件要注意的问题是,多数要给文件先增加可执行权限,否则有可能会提示找不到文件。具体方法:终端或控制台下执行 chmod +x ***.*,然后再安装。

二、 软件包的命名规则

大多数Linux应用软件包的命名也有一定的规律,他遵循: 名称-版本-修正版-类型 。
  例如:
  1)software-1.2.3-1.tar.gz 意味着:软件名称:software |版本号:1.2.3 |修正版本:1 | 类型:tar.gz,说明是个tar包。
  2)sfotware-1.2.3-1.i386.rpm 意味着:软件名称:software | 版本号:1.2.3 |修正版本:1 |可用平台:i386,适用于Intel 80x86平台 | 类型:rpm,是rpm包。

三、 软件的安装

  新手:系统装好后直接可以使用apt-get update (debian类系统)或 yum update (redhat类系统) 安装所需要的大部分软件!

  1. apt 是一个很完整和先进的软件包管理程序,用来管理deb安装文件,在debian中使用它可以让你,又简单,又准确的找到你要的的软件包, 并且安装或卸载都很简洁。 它还可以让你的所有软件都更新到最新状态,而且也可以用来对ubuntu进行升级。可以自动处理相互之间的依赖关系,并且在升级过程中 维护他们的配置文件。

   (1). apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。

     (2). apt-get install packagename——安装一个新软件包(参见下文的aptitude)

   (3). apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)

   (4). apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件)

      (dpkg --force-all --purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险)

   (5). apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件

     (6).  apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。

       apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。

      如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。

      大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。

   (7). apt-get upgrade——更新所有已安装的软件包

   (8). apt-get dist-upgrade——将系统升级到新版本

   (9). apt-cache search string——在软件包列表中搜索字符串

    (10). dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。

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

       dpkg -L package——列出软件包中的所有文件。

    (11).  aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。

      由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。

    (12). apt-cache showpkg pkgs——显示软件包信息。

    (13). apt-cache dumpavail——打印可用软件包列表。

    (14). apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。

    (15). apt-cache pkgnames——打印软件包列表中所有软件包的名称。

    (16). 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这些文件夹中的文件)。

  

  2.*.tar.gz; *.tgz; *.bz2  形式的源代码软件包

  以tar.gz,  tgz,  tar.bz2  等格式结尾的软件包一般都是以源代码方式发布的软件,

    (1). 安装这类软件首先需要对软件进行解压:
      # tar -zxvf  filename.tar.gz
      # tar -zxvf  filename.tgz
      # tar -jxvf   filename.tar.bz2
    (2). 解压以后,就可以进入解压后的目录:
      # cd filename/
      对于这类文档,常见的安装步骤是:配置、编译和安装3步,其中最麻烦的就是配置,因为所有和软件安装相关的配置都是在这一步指定的:比如软件安装位置等。
    (3). 配置:./configure
    (4). 编译:make
    (5). 安装:make install
    (6). 卸载:make uninstall 或手动删除

  说明:建议解压后先阅读说明文件(ReadMe和Install),了解安装的需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用 make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动进行。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其他安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

     3.*.src.rpm 形式的源代码软件包

  安装:
    rpm  -rebuild  *.src.rpm
    cd  /usr/src/dist/RPMS
    rpm  -ivh   *.rpm
  卸载:
    rpm -e packgename
  说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的RPM软件包,然后再安装该二进制包即可。

     4 . RPM 格式软件包的安装
    1).安装
    命令格式:rpm -i(--install)  options  file1.rpm ... fileN.rpm
    参数:file1.rpm...fileN.rpm指将要安装的RPM包的文件名。
    详细选项:

      -h(--hash): 安装时输出hash记号;test只对安装进行测试,并不实际安装;
      --prefix NEWPATH: 将软件包安装到由NEWPATH指定的路径下;
      --replacepkgs: 强制重新安装已经安装的软件包;    
      --percent: 以百分比的形式输出安装的进度;
      --excludedocs: 不安装软件包中的文档;
      --includedocs: 安装文档;
      --replacefiles: 替换属于其他软件包的文件;
      --force: 忽略软件包及文档的冲突;
      --noscripts:不运行预安装和后安装脚本;
      --ignorearch: 不校验软件包的结构;
      --ignoreos: 不检查软件包运行的操作系统;
      --nodeps: 不检查依赖性关系;
      --ftpproxy HOST用HOST作为FTP代理;
      --ftpport PORT指定FTP的端口号为PORT。
      --root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;
      --rcfile FILELIST设置rpmrc文档为FILELIST;
      --dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
    通用选项:
      -v显示附加信息;
      -vv显示调试信息;

    2).删除
    命令格式:rpm -e(--erase) options pkg1 ... pkgN
    参数:pkg1...pkgN:要删除的软件包。

    3).升级
    命令格式:rpm -U(or--upgrade) options file1.rpm ... fileN.rpm
    参数:file1.rpm...fileN.rpm指软件包的名字。

    4).查询
    命令格式:rpm -q(or--query) options
    参数:pkg1...pkgN:查询已安装的软件包。
    详细选项:

      -p PACKAGE_FILE查询软件包的文件;
      -f FILE查询FILE属于哪个软件包;
      -a 查询所有安装的软件包;
      -g group查询属于group组的软件包;
      -i 显示软件包的概要信息;
      -l 显示软件包中的文件列表;
      -c 显示配置文件列表;
      -d 显示文件列表;
      -s 显示软件包中文档列表并显示每个文件的状态;
      -scripts显示安装、卸载、校验脚本;

    5).校验已安装的软件包
    命令格式:rpm -V(--verify, -y) options
    参数:pkg1...pkgN将要校验的软件包名

 5. bin结尾的安装包,这种包类似于RPM包,其实就是shell + RPM,安装也比较简单:

安装:

    (1)、打开一个shell
    (2)、用cd命令进入源代码压缩包所在的目录;
        (3)、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写);
        (4)、执行命令:./******.bin(realplayer for linux就是这样的安装包);

  卸载:把安装时中选择的安装目录删除就OK;

  安装完软件后可以有好多种方法执行软件:
    A、有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
    B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等;
    C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,

      系统会自动显示以输入字母开  头的所有命令.
    D、你也可以直接到安装目录下运行启动文件,linux下的可执行图标和shell终端图标很像.
    E、到/usr/bin目录里找安装的软件启动文件执行命令。linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,

      你可以去那个目录寻找你安装的文件的启动命令,双击启动.