linux安装卸载软件

一 、首先要清楚几个概念


(一)归档:


归档是把多个文件合并成一个文件的过程。生成的文件称为归档包。
归档包带后缀名。不同的归档程序,生成的归档包的后缀名不同。


(二)压缩:


压缩是把一个大文件变成一个小文件的过程。生成的文件称为压缩包。
压缩包名带后缀名。不同的压缩程序,生成的压缩包的后缀名不同。


(三)归档压缩程序

仅归档ar:archiver。后缀名为.a, .ar
Tar:Tape Archive。通过 Tar 归档的文件的后缀名为.tar
仅压缩解压Gzip:GNU zip。后缀名为.gz。如果与tar一起使用,后缀是.tar.gz,.tgz
Bzip2:bzip最新一代是bzip2。后缀是.bz2。如果与tar一起使用后缀是.tar.bz2, .tbz2, .tb2
Xz:后缀是.xz。如果与tar一起使用后缀是.tar.xz,.txz
仅解压unar:The Unarchiver。只能解压不能压缩。支持几乎所有格式,而且不依赖其他应用程序
归档并压缩zip:后缀为.zip
RAR:后缀名为.rar
7zip:后缀名为.7z

ark:Ark是KDE桌面环境的默认归档管理器。Ark本身无法理解任何的压缩格式,而是调用其他归档压缩命令工作,因此只要安装了该格式的命令行程序,就支持该格式。
fileroller:是GNOME桌面环境的默认归档管理器。也是调用其他命令工作,但是它自己集成了这些命令程序,所以不必单独安装这些命令程序。



(四)软件包:


软件包是把软件文件归档压缩得到的文件。也叫安装包。

1.软件包分为两种:
二进制包:解压就能运行
源码包:需要编译才能运行

2.软件包命名规律
软件包的命名也有一定的规律,它遵循:
  名称-版本-修正版本-可用平台-类型
名称是软件名
版本是版本号
修正版本是小的更新号
可用平台是软件运行的cpu类型。包括了:i386、i486、i586、i686、x86_64、ppc、sparc、alpha。若平台是noarch,说明这样的软件包可以在任何平台上安装运行,不需要特定的硬件平台。
类型是压缩格式


例如:software-1.2.3-1.tar.gz 
软件名称:software 
版本号:1.2.3 
修正版本:1 
类型:tar.gz


software-1.2.3-1.i386.rpm
软件名称:software
版本号:1.2.3
修正版本:1
可用平台:i386,适用于Intel 80x86平台。
类型:rpm,说明是一个rpm包。
注:由于rpm格式的通常是二进制程序,所以需指明平台。


3.软件包如何得到?
软件包一般存储在某个仓库中,需要时,从仓库下载即可。
仓库就是存储软件包的服务器。
 


(五)软件包管理程序:


简称包管理器。也叫软件安装卸载程序。是安装卸载升级软件包的程序,当然也可以把软件文件打包成一个文件,方便发行。

软件包格式软件包管理程序
.deb
它是Debain Linux提供的一种包格式。
dpkg:Debian Packager

apt:Advanced Packaging Tools
.rpm
它是Redhat Linux提供的一种包封装格式。

rpm:Redhat Package Manager

yum:Yellow dog Updater, Modified
dnf:
urpmi:
apt-rpm:
zypp:

Zypper:zypp的命令行前端
yast:zypp的图形前端

.tar 这种格式一般是源码包。
其他格式
  • ArchLinux中使用的Pacman
  • Gentoo使用的基于源代码的Portage
  • Mac系统下的Homebrew

RPM与DPKG只能做到检查相依性,在安装或移除时告知相依性的不满足,接下来就需要用户自行去找出所需的组件来安装。

这样非常不方便,为了实现可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装,高级工具如 APT及YUM就诞生了


二、安装:

(一)软件包来源


1.系统官方仓库,也叫官方应用商店

使用系统自带的包管理器安装,它能自动下载,分析依赖,把所有依赖的软件包一并下载安装。
2.第三方仓库,也叫第三方应用商店

使用第三方的包管理器,比如flatpak,snappy,也可以自动下载解决依赖,把所有依赖的库一并安装
3.软件包项目主页,就是项目官网

这种情况需要自己解决依赖,你要把它依赖的软件包一个个地下载安装,然后才能安装它自己。这种情况是当在官方仓库和第三方仓库都找不到的情况下,迫不得已的方法。
有时候不安装依赖,软件也可以运行,所以可以先不管依赖,直接安装运行试试
 


(二)根据包的格式分为:


1.源码安装


几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc、make、automake、autoconf都支持源码安装。

安装步骤:
(1)取得源码包
(2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。

tar -zxvf program.tar.gz
tar -jxvf program.tar.bz2

进入解压后目录:

cd program

(3)阅读附带的INSTALL文件、README文件;
(4)执行./configure [opts]命令为编译做好准备;
(5)执行make命令进行软件编译;
(6)执行make install完成安装;
(7)执行make clean删除安装时产生的临时文件。
(8)执行make distclean删除配置过程中产生的文件


如何卸载:
(1)打开终端
(2)进入解压目录
(3)执行反安装命令:make uninstall
注意该命令必须在源码目录下执行,使用此命令卸载软件,会比较彻底,而且各相关路径全部都会列出来。
但是,往往我们安装后,源码目录会删除掉,此时只能直接删除安装目录;


安装目录:

make install命令执行过程中会打印安装目录
也可以阅读附带的INSTALL文件、README文件了解安装目录
还可以指定安装目录,在./configure命令后面加选项–prefix=xx,如:./configure –prefix=/opt,即把软件装在/opt这个目录里。


源码安装的优点:
文档齐全
因为可以定位到代码,所以debug方便
本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)
缺点:
编译麻烦
缺乏自动依赖管理,软件升级麻烦
 


2.二进制包安装


(1)rpm包安装

①用rpm软件管理器
1)安装:

rpm –ivh xx

如果报依赖错误,使用--nodeps选项,

rpm –ivh xx --nodeps

2)卸载:

rpm -e xx

如果不知道软件包全称,可以先查找RPM包软件:rpm -qa xx*,*是通配符,代表任意字符。执行后会显示软件完整名称xxf-1.2.3-1。然后再卸载。
如果因存在依赖关系而不能卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:

rpm -e xxf-1.2.3.1 --nodeps

忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用
当卸载RPM安装包时,经常会遇到如下错误:

  • error: specifies multiple packages,出现该错误一般是因为有两个或多个同名包,(典型:是x86和x64包都安装),Linux无法区分卸载目标。这时可使用--allmatches参数,告诉卸载程序,只要匹配就卸载,相当于同名的同时都卸载。
  • 常见卸载错误xxx.so is needed by yyy时,说明这些库被程序依赖,如果确认没有问题,可以 使用--nodeps 参数,不考虑依赖关系而直接卸载包,比如 rpm -e xx --allmatches --nodeps


3)升级:

rpm -U xx

②使用yum软件管理器
1)安装

yum -y install xx

2)卸载

yum remove xx

③dnf

1)安装

dnf install nano

2)卸载

dnf remove nano 或 # dnf erase nano
dnf autoremove

3)升级

dnf update xx

④使用zypper包管理器

1)安装:

zypper install package

2)卸载:

zypper remove package
(2)deb包安装


①使用dpkg软件管理器:
1)安装:

dpkg –i xx

2)卸载:

dpkg –e xx

②使用apt软件管理器
1)安装:

sudo apt-get install xx

apt-get命令只能安装仓库中的包,不能安装本地的deb包。要想安装本地的deb包,用dpkg命令

2)卸载:

apt-get remove --purge xx # 移除应用及配置
apt-get autoremove # 移除没用的包
(3)有安装脚本的软件

有的软件包,会附带安装脚本,脚本名字一般是install.sh。脚本内容有几部分,一是把软件文件复制到/usr/local下,二是添加.desktop文件,三是安装mime类型和icon文件,四是设置默认打开方式

1)安装:
直接运行安装脚本,./install.sh

2)卸载:
直接运行卸载脚本,./uninstall.sh
有时候,卸载脚本与安装脚本是同一个文件,卸载时需要设置参数,如./install.sh un


(4)不需要安装的软件: 

有些软件解压缩后可直接运行
1)获得文件xx.tar.gz
2)解压文件:使用命令sudo tar -xzvf xx.tar.gz -C /opt
3)进入目录:cd /opt/xx/
4)在/bin目录下建立一个xx的链接,用命令sudo ln -s /opt/xx/xx /usr/bin/,注意要使用绝对路径,否则会报符号链接层数太多错误
5)添加一个.desktop文件。可以使用菜单编辑工具添加,也可以直接到/usr/share/applications目录添加

.desktop文件是Linux应用程序菜单项,也叫启动项。相当于windows快捷方式。


卸载方法:
把程序目录删除就行了

rm -rf /opt/xx

(5)AppImage包的安装

AppImage 是一个压缩的镜像文件,它包含所有运行所需要的依赖和库文件,并且几乎可以在所有的linux发行版本中使用。
你可以直接执行AppImage 文件不需要安装。当你把AppImage 文件删除,整个软件也被删除了。你可以把它当成windows系统中的那些免安装的exe文件。它在硬盘上的任何地方都可以运行。
安装步骤:
1)找到相应的软件包,比如xx.AppImage,下载到本机某个目录;
2)cd xx.AppImage所在的目录;
3)添加可执行权限: sudo chmod a+x xx.AppImage ;
4)执行它:./xx.AppImage。
5)创建一个 .desktop 文件


卸载方法:
直接删除appimage文件就行了

rm xx.AppImage

三、运行程序

安装完软件后如何执行。有几种方法执行软件:
(1)在应用程序菜单里找菜单项,和windows一样;如果程序没有菜单项,可以自己添加.desktop文件
(2)在shell终端,输入软件名。如果不知道命令全称的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令。如果找不到命令,可以自己在/usr/bin添加应用程序的软链接,比如:ln -s /opt/Xmind/xmind /usr/bin
(3)直接到安装目录下找程序文件,点击运行
 


四、安装路径:

(一)常用安装目录:

usr是unix software resource的简称

/usr     系统程序目录,通过包管理器安装的程序基本分散安装在如下子目录

/usr/bin     程序的可执行文件目录

/usr/lib    程序的库文件目录

/usr/src     程序的源码目录

/usr/share        程序间的共享文件

/usr/local     用户自定义安装程序目录,它和/usr目录具有相似的目录结构。自己手动安装的软件,包括源码编译安装的软件,基本安装在如下子目录。

/usr/local/bin     程序的可执行文件目录

/usr/local/lib     程序的库文件目录

/usr/local/src     程序的源码目录

/usr/local/share        程序间的共享文件

/opt     用户自定义安装程序目录,类似D:/Software。这里可以用于安装第三方大型软件,在这里安装不需要分散到不同目录,所有程序文件都在一个目录里,所以当你不需要时,直接删掉整个目录即可。


(二)查看软件

1.不知道软件全名,查找软件全名

apt-cache search xx*
zypper se foo*
rpm -qa foo*

2.查看软件信息

zypper if foobar

3.查看软件安装目录

rpm -ql foobar
whereis xx
which xx
find -name xx


五、总结


安装实际上就是“将文件从一个地方复制到系统中适当位置”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值