热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux操作系统的软件安装方法

文章标题:Linux操作系统的软件安装方法。Linux是中国IT实验室的一个技术频道。包含桌面应用,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 将查询包含有文件的软件包
 
  -q
 
  查询软件包文件名为的软件包
 
  信息选择选项:
 
  -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一样。
 
推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 标题: ... [详细]
author-avatar
志信俊霖2542
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有