linux环境下(非UI操作)所有软件的安装与卸载总结
UI界面的软件管理
linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。
在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到文件上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm文件才会出现)show info,upgrade和install,这 三项的意思大家都很清楚了,我就不多说了。
rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的文件就会自动解压 缩的,是解压缩而不是像rpm那样有install选项的,install文件会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建 议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。
linux软件的分类
我们把Linux程序的安装,分为三个部分:一是通用的源码安装方法;二是通用的二进制包安装方法;三是发行版相关的安装方法。
qt是KDE的开发库,gtk+是Gnome的开发库。qt的作者呢,是 Trolltech,就是生产opera浏览器的那个公司了。因为最初的qt是GPL不兼容的,所以就有了GNOME,全称是 GNU Network Object Model Environment。当然,现在在Linux平台,qt已经是GPL兼容的了。如果你想要编译KDE程序,qt库是必须安装的。gtk库包括 glib、pango、atk、gtk+四个组成部分,如果你要编译相应的软件,就必须把它们都装上。
文本命令行的软件管理
1. Linux可能的软件格式
Linux程序安装,总的来说,可以分为两种:一是源码包,文件名一般是*.tar.gz,*.tar.bz2,*.tgz和*.tbz2是它们相应的缩写格式;二是二进制包,一般是为特定发行版制作的,种类较多,*.rpm,*.deb,*.run,我也见过*.tbz2格式的二进制包。
linux环境下软件的格式:
(1).rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用
现在centos中使用rpm来管理.rpm的软件,是一种编译好的文件,直接使用rpm来操作。
(2)后缀为.deb是Debain Linux提供的一种包封装格式
(3)后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的源码文件,可能需要编译,或者已经包含编译好的文件
(4)后缀为.bin的一般是一些商业软件。
2. linux不同格式下的安装方式与卸载
(1)在线软件安装、卸载工具:
centos: yum install * , yum remove *, yum list *
ubuntu: apt-get install *, apt-get remove *
(2).rpm格式软件安装与卸载
RPM命令主要参数:
-i 安装软件。
-t 测试安装,不是真的安装。
-p 显示安装进度。
-f 忽略任何错误。
-U 升级安装。
-v 检测套件是否正确安装。安装软件: rpm -ivh MYsoftware-1.2 -1.i386.rpm
卸载软件: rpm -e 软件名
需要说明的是,上面代码中使用的是软件名,而不是软件包名。
(3)安装.src.rpm类型的文件
目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。
rpm --rebuild Filename.src.rpm
这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:
rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm与.rmp软件安装方式相同
(3)源代码进行软件安装
和RPM安装方式相比,使用源代码进行软件安装会复杂一些,但是用源代码安装软件是Linux下进行软件安装的重要手段,也是运行Linux的最主要的优 势之一。使用源代码安装软件,能按照用户的需要选择定制的安装方式进行安装,而不是仅仅依靠那些在安装包中的预配置的参数选择安装。另外,仍然有一些软件 程序只能从源代码处进行安装。
tar.gz(bz或bz2等)结尾的源代码包,这种软件包里面都是源程序,没有编译过,需要编译后才能安装,安装方法为:
【1】打开一个SHELL,即终端
【2】用CD 命令进入源代码压缩包所在的目录
【3】根据压缩包类型解压缩文件(*代表压缩包名称)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
【4】用CD命令进入解压缩后的目录阅读说明文档:成功解压缩源代码文件后,进入解包的目录。在安装前阅读Readme文件和Install文件。尽管许多源代码文件包都使用基本相同的命令,但是有时在阅 读这些文件时能发现一些重要的区别。例如,有些软件包含一个可以安装的安装脚本程序(.sh)。在安装前阅读这些说明文件,有助于安装成功和节约时间。
在安装软件以前要成为root用户。实现这一点通常有两种方式:在另一台终端以root用户登录,或者输入“su”,此时系统会提示输入root用户的密码。输入密码以后,就将一直拥有root用户的权限。如果已经是root用户,那就可以进行下一步。
#. /configure #配置#
make #调用make#
make install #安装源代码#
【5】配置软件:./configure(有的压缩包已经编译过,这一步可以省去)
【6】然后调用make命令:make
【7】再是安装文件命令:make install
【8】安装完毕【9】删除安装时产生的临时文件:
#make clean===如何卸载:
【1】打开一个SHELL,即终端
【2】用CD 命令进入编译后的软件目录,即安装时的目录
【3】执行反安装命令:make uninstall
有些软件包的源代码编译安装后可以用make uninstall命令卸载。如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,应该在编译前进行配置。
注意:
(1)阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,
即在./configure命令后面加参数--prefix=/**,
如:./configure --prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。
(2)有些的***.tar.gz软件,在tar解压后,会出现一些可执行文件
如: ****.sh
说明解压后的文件,是已经编译后的文件。执行执行就可以了:当前文件执行如下命令:
./****.sh
针对这样的文件,如果删除,只需要把解压后的文件删除就可以了。
(4)以bin结尾的安装包,这种包类似于RPM包,安装也比较简单
扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包,
【1】打开一个SHELL,即终端
【2】用CD 命令进入源代码压缩包所在的目录
【3】给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)
【4】执行命令:./******.bin (在当前的目录下进行生成安装目录)
===如何卸载:把安装时中选择的安装目录删除就OK
===执行安装过程中可以指定,类似于windows下安装。
().deb软件安装
是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管 理器dpkg只出现在Debina Linux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具。
1. 安装
# dpkg -i MYsoftware-1.2.-1.deb
2. 卸载
# dpkg -e MYsoftware
说明:
(1)对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。
(2)提供安装程序的软件包 这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;
.sh脚本的运行:
(1)a.sh在当前工作目录
而卸载 时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的 功能
3. linux环境下安装软件后,如何执行软件
安装完软件后可以有好多种方法执行软件:
(1)也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令/
(2)你也可以直接到安装目录下运行启动文件
(3)到/usr/bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动
endl;
linux环境下(非UI操作)所有软件的安装与卸载总结的更多相关文章
- DBA 应该要注意Linux 环境下的一些操作
DBA 对OS的依赖.一丁点儿也不亚于DB.对于Oracle DBA.尤为突出 DB和OS的感情也与日俱增.耦合度高的让人一度以为这两要劳燕双飞了 例如.Oracle里面. 而且.故障诊断以及 ...
- Linux 下configure 参数配置与软件的安装与卸载
Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...
- Linux环境下没有权限操作文件或目录
linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录,如果出现了没有权限的提示,可以尝试用su命令解决. 比如: #mkdir aaa 我要创建一个aaa的文件夹,没有操作 ...
- linux环境下固定ip操作
背景: 使用虚拟机管理软件VMvare workstation 安装好liunx虚拟机(centos)成功,下面为了固定linux的ip进行一系列设置 参考的文件有部分不是很详细,在借鉴它的基础上进行 ...
- linux环境下mongodb启动操作
pkill mongod 进入mongo shell :运行 db.shutdownServer() 1.进入mongo的shell : mongo --port 1008 2.进入bin目录下 m ...
- linux环境下写C++操作mysql(二)
main.cpp #include<stdio.h> #include<stdlib.h> #include"mysqlInterface.h" int m ...
- linux环境下写C++操作mysql(一)
/***************** connect.cpp g++ connect.cpp -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ ...
- Linux 环境下自动化测试工具,Redhat dogtail的安装
dogtail基于Accessibility(a11y)的GUI图形界面测试工具和自动化框架可以与linux桌面应用程序进行交互操作. dogtail是用Python语言写的.dogtail的测试脚本 ...
- Linux环境下,MongoDB 3.6.10 的安装步骤,以及设置用户和密码,配置随处执行mongo命令启动客户端,以及所遇到的问题
https://blog.csdn.net/qinaye/article/details/87920651 二.设置MongoDB用户和密码2.1 利用./mongo命令连接mongoDB客户端../ ...
- Linux环境下Swap配置方法
Linux环境下Swap配置方法 场景: 今天下午安装一个CentOS6.5操作系统,忘记配置swap分区.看看如何安装系统之后,增加和删除swap分区.方法如下:1.内存占用情况[root@josh ...
随机推荐
- Springboot IDEA eclipse 打包
在开发springboot项目中,我们会进行打包发布项目,springboot推荐以jar包方式发布,相对之下 jar运行的效率比起war项目快很多. 打包切记: 1.查看项目里面有没有其他的main ...
- distinct top執行順序
select distinct top 3 from table; 先distinct后top
- tf.unstack()、tf.stack()
tf.unstack 原型: unstack( value, num=None, axis=0, name='unstack' ) 官方解释:https://tensorflow.google.cn/ ...
- C++中纯虚函数
1.纯虚函数 virtual ReturnType Function()= 0; 纯虚函数可以让类先具有一个操作名称,而没有操作内容,让派生类在继承时再去具体地给出定义.凡是含有纯虚函数的类叫做抽象类 ...
- java和数据结构的面试考点
目标:不要有主要的逻辑错误.2遍以内bug free.注意代码风格 不要让面试官觉得不懂规矩 Java vs C++ Abstract class vs interface pass by refe ...
- C# 发送电子邮件(含附件)用到的类 system.web.mail
主要是用到了System.Web.Mail命名空间,用到了此空间的三个类,分别是: ●MailMessage类,用于构造电子邮件●MailAttachment类,用于构造电子邮件附件●SmtpMail ...
- [leetcode]381. Insert Delete GetRandom O(1) - Duplicates allowed常数时间插入删除取随机值
Design a data structure that supports all following operations in average O(1) time. Note: Duplicate ...
- 使用bcp工具对boost库裁剪
有些时候,我们需要通过源代码来发布我们的产品,在使用了CI工具之后,一般我们要求每天对源码进行构建,以防止代码不可用了还不自知.如果我们使用了Boost库,我们就需要在构建的过程中将Boost同时构建 ...
- code1213 解的个数 扩展欧几里得
很不错的题,加深了我对exgcd的理解 (以前我认为做题就是搜索.dp...原来数学也很重要) 理解了几个小时,终于明白了.但我什么都不打算写. 看代码吧: #include<iostream& ...
- laravel的函数asset()、url()
1.asset():用于引入静态文件,如 css/JavaScript/images,文件必须存放在public文件目录下 src="{{ asset('home') }}/images/t ...