LINUX下安装卸载软件

2024-05-09 10:48
文章标签 linux 卸载 软件 安装

本文主要是介绍LINUX下安装卸载软件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

1、源代码包的安装    
  gzip   -d   apache_1.3.20.tar.gz   (解压)    
  tar   xvf   apache_1.3.20.tar   (解包)    
  cd   apache_1.3.20    
  ./configure   (配置)   ----./configure   --help(查看configure选项)    
  make   (编译)    
  make   install   (安装)    
  make   clean   (卸载)    
   
  注:典型的源代码包可以这样安装,但不都是这样,如webmin    
  要执行其目录下./setup.sh进入交互式配置安装    
  卸载用uninstall程序    
  具体如果不清楚看要安装的包下的README文件    
   
  2、RPM包的安装    
  RPM软件包的一个例子:    
  foo-1.0-1.i386.rpm    
  其中包括软件包的名称(foo),版本号(1.0),发行号(1),和硬件平台(i386)。    
  (1)安装    
  #   rpm   -ivh   foo-1.0-1.i386.rpm    
  foo    
  #######################    
  A.   软件包已被安装    
  #   rpm   -ivh   foo-1.0-1.i386.rpm    
  foo   package   foo-1.0-1   is   already   installed    
  error:   foo-1.0-1.i386.rpm   cannot   be   installed    
  如果你仍旧要安装该软件包,你可以在命令行上使用--replacepkgs   选项,这将忽略该错误信息。    
  B.   文件冲突    
  如果要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:    
  #   rpm   -ivh   foo-1.0-1.i386.rpm    
  foo   /usr/bin/foo   conflicts   with   file   from   bar-1.0-1    
  error:   foo-1.0-1.i386.rpm   cannot   be   installed    
  要想让RPM   忽略该错误信息,   请使用--replacefiles   命令行选项    
  C.未解决依赖关系    
  RPM软件包可能依赖于其它软件包,   在安装了特定的软件包之后才能安装该软件包。    
  #   rpm   -ivh   bar-1.0-1.i386.rpm    
  failed   dependencies:    
  foo   is   needed   by   bar-1.0-1    
  你必须安装完所依赖的软件包,才能解决这个问题。如果想强制安装   (但是,这样安装后的软件包未必能正常运行),请使用-nodeps   命令行选项。    
   
  (2)   卸载    
  #   rpm   -e   foo    
  注意:这里使用软件包的名字foo,而不是软件包文件的名字“foo-1.0-1.i386.rpm”.    
  如果其它软件包依赖于你要卸载的软件包,卸载时则会产生错误信息。如:    
  #   rpm   -e   foo    
  removing   these   packages   would   break   dependencies:    
  foo   is   needed   by   bar-1.0-1    
  要想RPM忽略该错误信息继续卸载的话   (但是,依赖于该软件包的程序可能无法运行),   请使用-nodeps   命令行选项。    
  (3)升级    
  #   rpm   -Uvh   foo-2.0-1.i386.rpm    
  foo    
  ###############################    
  当使用旧版本的软件包来升级新版本的软件时,会产生以下错误信息:    
  #   rpm   -Uvh   foo-1.0-1.i386.rpm    
  foo   package   foo-2.0-1   (which   is   newer)   is   already   installed    
  error:   foo-1.0-1.i386.rpm   cannot   be   installed    
  要使RPM   坚持这样“升级”,可使用--oldpackage   命令行参数。    
  (4)查询    
  #   rpm   -q   foo    
  foo-2.0-1    
  软件包指定选项:    
  -a   查询所有已安装的软件包.    
  -f   <file>   将查询包含有文件<file>的软件包    
  -p   <packagefile>    
  查询软件包文件名为<packagefile>的软件包    
  信息选择选项:    
  -i   显示软件包信息,如描述,   发行号,   尺寸,   构建日期,   安装日期,   平台,   以及其它各类信息。    
  -l   显示软件包中的文件列表。    
  -s   显示软件包中所有文件的状态。    
  -d   显示被标注为文档的文件列表(man   手册,   info   手册,   README's,   etc).    
  -c   显示被标注为配置文件的文件列表。这些是要在安装完毕以后加以定制的文件(sendmail.cf,   passwd,   inittab,   etc)。    
  对于那些要显示文件列表的文件,可以增加-v   命令行选项以获得如同   ls   -l   格式的输出。    
  (5)验证    
  验证软件包是通过比较软件包中安装的文件和软件包中的原始文件信息来进行的。除了其它一些东西,验证主要是比较文件的尺寸,   MD5   校验码,   文件权限,   类型,   属主和用户组等。    
  rpm   -V命令用来验证一个软件包,如    
  rpm   -V   foo    
  验证包含特定文件的软件包:    
  rpm   -Vf   /bin/vi    
  验证所有已安装的软件包:    
  rpm   -Va    
  根据一个RPM来验证某个软件包:    
  rpm   -Vp   foo-1.0-1.i386.rpm    
  如果你担心RPM数据库已被破坏,就可以使用这种方式。如果一切校验均正常将不会产生任何输出。如果有不一致的地方,就会显示出来。    
  输出格式是8位长字符串,c   用以指配置文件,接着是文件名.   8位字符的每一个用以表示文件与RPM数据库中一种属性的比较结果。“.”   (点)表示测试通过。    
  以下字符表示某种测试的失败:    
  5   MD5   校验码    
  S   文件尺寸    
  L   符号连接    
  T   文件修改日期    
  D   设备    
  U   用户    
  G   用户组    
  M   模式e   (包括权限和文件类型)    
  如果有信息输出,应当认真加以考虑,是删除,重新安装,还是修正出现的问题。    
  (6)RPM应用的几个例子    
  A.   如你误删了一些文件,   但是不能肯定到底删除了哪些文件。如果你想验证一下整个系统看看都丢失了哪些文件的话,可以键入:    
  rpm   –Va    
  B.若是一些文件丢失了或已被损坏,   就可以重新安装或先卸载再安装该软件包。如果碰到了一个自己不认识的文件,要想查处它属于哪个软件包,可以输入以下命令:    
  rpm   -qf   /usr/X11R6/bin/xjewel    
  而输出的结果会是:    
  xjewel-1.6-1    
  C.   如果发生综合以上两个例子的情况,如文/usr/bin/paste出了问题。你想验证一下拥有该文件的软件包,可又不知道软件包的名字,这时可以简单的键入:    
  rpm   -Vf   /usr/bin/paste    
  这样相应的软件包就会被验证。    
  D.   如果你想了解一个正在使用的程序的详细信息,可以键入如下命令来获得拥有该程序的软件包中的文档信息:    
  rpm   -qdf   /usr/bin/ispell    
  输出结果为:    
  /usr/man/man4/ispell.4    
  /usr/man/man4/english.4    
  …………………………………………………………    
   
  E.   如果你发现了一个新的koules   RPM,但是不知道它是什么东西,可以键入如下命令:    
  rpm   -qip   koules-1.2-2.i386.rpm    
  F.   现在你想了解koules   RPM   所安装的文件。可以键入:    
  rpm   -qlp   koules-1.2-2.i386.rpm    
  图形管理工具:kpackage    
   
  3、shell或java脚本安装    
  基于图形界面的安装,一般基于SHELL或Java语言编写,主要应用于一些办公软件和制图软件及安装程序,如staroffice、oracle的安装,很容易,和windows一样     
   

 

这篇关于LINUX下安装卸载软件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973202

相关文章

centos7安装docker及启动

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令: [root@localhost ~]# yum install docker 启动docker:[root@localhost ~]# systemctl start docker.service 开机启动docker:[root@localhost ~]

Linux命令学习之二

每日一结 ​               命令置换:是将一个命令的输出作为另一个命令的参数,命令格式如下: commond1 `command2` 其中,命令command2的输出将作为命令command1的参数,需要注意的是, 命令置换的单引号为ESC键下方的 ` 其意思就是说,先运行单引号内的命令,再将其命令作为

Linux命令学习之一

每日一结                                                                                        注:当用户不确定一个软件包的类型时, 可使用file命令查看文件类型

Linux文件I/O之一

每日一结(标准I/O)   一  库    本质 :一组实现函数接口 [printf,scanf,strcpy,strlen]   使用标准库好处:屏蔽底层细节,向上层提供统一的接口,提高程序的可移植性   windows 库 : *.dll  linux   库 : *.so    二 系统调用接口    本

Linux网络编程之五

每日一结 组播: ​ 网络地址: 一些特殊的组播地址:   一 组播包收和发 1.发送方 (1)创建用户数据报套接字 (2)填充组播地址和端口  (3)发送数据到组播地址 2.接收方  (1)创建用户数据报套接字 (2)加入组播组  struct ip_mreq mreq; mreq.imr_m

Linux网络编程之四

每日一结 一 UDP并发  核心思想:父进程接收到客户端的数据,就创建子进程,在子进程中创建一个新的套接字  和客户端交互  int do_client(接受客户端地址,数据,数据长度) { 1.创建用户数据报套接字  2.自动分配地址  3.处理数据[例如:输出数据内容] 4.通过新创建的套接字将数据回发给客户端  w

Linux网络编程之三

每日一结 Tftp服务器的实现: server.c ​       client.c     代码分析如下:     一 Linux IO模型  (1)阻塞IO  (2)非阻塞IO  非阻塞IO

Linux网络编程之二

每日一结   一 TCP 函数接口  int listen(int sockfd, int backlog); 功能:设置流式套接字为监听模式  参数: @sockfd    流式套接字的fd  @backlog   请求队列的长度,最大128  返回值: 成功返回0,失败返回-1    int accept(i

Linux网络编程之一

每日一结 一 网络基础知识 (一)IP地址 1.IP   :网络中一台主机唯一标识  2.组成 :网络号 + 主机号  3.IP 分类 最高位    第一个字节 A  1 + 3     0        [0-127]     B  2 + 2    10        [128-191]

Linux进程与线程之五

每日一结 一 共享内存 :内核空间预留出来的一块内存,用于进程间通信  (1)int shmget(key_t key, size_t size, int shmflg); 功能:获取共享内存段的ID  参数: @key    IPC_PRIVATE  或 ftok()  @size   申请的共享内存段大小 [4k的倍