linux 软件安装各种方法

2023-11-03

一   简单介绍

1、软件安装卸载,分几种情况:

A:RPM包

这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装

==如何卸载:
1、打开一个SHELL终端
2、因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。
查找RPM包软件:rpm -qa ×××*
注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REALPLAYER软件,可以输入:rpm -qa realplay*
3、找到软件后,显示出来的是软件完整名称,如firefox-1.0.1-1.3.2
执行卸载命令:rpm -e firefox-1.0.1-1.3.2
===安装目录,执行命令查找:rpm -ql firefox-1.0.1-1.3.2

===参考文章:http://blog.chinaunix.net/article.p...178&blogId=1438

B:tar.gz(bz或bz2等)结尾的源代码包

这种软件包里面都是源程序,没有编译过,需要编译后才能安装安装方法为:

1、打开一个SHELL,即终端
2、用CD 命令进入源代码压缩包所在的目录
3、根据压缩包类型解压缩文件(*代表压缩包名称)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
4、用CD命令进入解压缩后的目录
5、输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去)
6、然后是命令:make
7、再是安装文件命令:make install
8、安装完毕
===如何卸载:
1、打开一个SHELL,即终端
2、用CD 命令进入编译后的软件目录,即安装时的目录
3、执行反安装命令:make uninstall

===安装目录:注意make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**,
如:./configure --prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找

C:以bin结尾的安装

这种包类似于RPM包,安装也比较简单
1、打开一个SHELL,即终端
2、用CD 命令进入源代码压缩包所在的目录
3、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)
3、执行命令:./******.bin(realplayer for Linux就是这样的安装包)
===如何卸载:把安装时中选择的安装目录删除就OK
===执行安装过程中可以指定,类似于windows下安装

2、安装完软件后如何执行。安装完软件后可以有好多种方法执行软件:
A、有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等
C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令/
D、你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像
E、到/usr/bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在

/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动

以上参考自:http://soft.zdnet.com.cn/software_zone/2008/0513/858582.shtml

二 fedora下面使用 YUM安装详解

fedora 

参考:http://blog.163.com/bh_binghu/blog/static/9455351201091611446423/

1 一般都是直接安装(自动解决依赖问题)

sudo  yum search   package_name

sudo yum install  package_name

需要注意的是 很多用于开发的第三方库,一般需要安装两个包devel包是头文件,另外一个是库文件 。一般默认只输入名字的话绘制安装lib包。

例如

libconfig-devel.i686 : Development files for libconfig
libconfig-devel.x86_64 : Development files for libconfig
libconfig.i686 : C/C++ configuration file library
libconfig.x86_64 : C/C++ configuration file library

2   如果有直接的rpm包裹

首先理解YUM:基于RPM包管理,能够从指定的服务器下载RPM包并自动进行安装;并自动处理依赖关系,并一次性安装所有依赖的包。

所以用yum安装,实质上是用RPM安装,所以RPM查询信息的指令都可用。

安装软件(以foo-x.x.x.rpm为例):yum install foo-x.x.x.rpm

删除软件:yum remove foo-x.x.x.rpm或者yum erase foo-x.x.x.rpm  

升级软件:yum upgrade foo或者yum update foo 

查询信息:yum info foo  

搜索软件(以包含foo字段为例):yum search foo  

显示软件包依赖关系:yum deplist foo  其它参数参见man yum

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 软件安装各种方法 的相关文章

  • 从sourceforge下载最新版本

    我正在尝试在 bash 脚本中从 Sourceforge 下载最新版本的graphicsmagick wget q https sourceforge net projects graphicsmagick files latest dow
  • 为什么 RHEL 上的 bash 中 `read -t` 没有超时?

    Why read t在 RHEL5 或 RHEL6 上从管道读取时不会超时 这是我的示例 在从管道读取数据时 我的 RHEL 盒子不会超时 tail f logfile log grep something read t 3 variabl
  • CMake:使用其他平台的生成器。如何?

    如何使用 CMake 在 Linux 上生成 Visual Studio 项目文件 你不能 您必须在 Windows 上运行 CMake 才能为 Visual Studio 生成
  • 对于客户端服务器程序,并行接收多个客户端连接请求的最佳方法是什么?

    该程序是在 Linux 上用 C 语言开发的客户端服务器套接字应用程序 每个客户端都连接到一个远程服务器并将其自身记录为在线 在任何给定时间点很可能有多个客户端在线 所有客户端都尝试连接到服务器以将自己记录为在线 忙碌 空闲等 那么服务器如
  • 在 4.x 内核上的 64 位内存中查找系统调用表

    我正在尝试编写一个简单的内核模块来查找 Linux 中的 sys call table 但遇到了一些麻烦 我在这里找到了 32 位 Linux 的基本指南 https memset wordpress com 2011 03 18 sysc
  • C 标准库函数与系统调用。哪个是“open()”?

    I know fopen 在C标准库中 所以我绝对可以调用fopen C 程序中的函数 我感到困惑的是为什么我可以打电话给open 功能也一样 open 应该是系统调用 所以它不是标准库中的C函数 因为我能够成功地调用open 函数 我调用
  • 如何更改Linux服务器中的MySQL表名不区分大小写?

    我正在开发一个旧网站 该网站曾经托管在 Apple 服务器上 当它迁移到新的 Linux 服务器时 它停止工作 我很确定这是因为 php 脚本中使用的所有 MySQL 查询对于表名都有不同的大小写组合 我不知道为什么原始开发人员在创建表名或
  • 并发 I/O - 缓冲区损坏、块设备驱动程序

    我开发块分层设备驱动程序 所以 我拦截WRITE请求并加密数据 并解密数据end bio 例行程序 在处理和READ要求 所以在单流中一切正常 但是 如果尝试同时从两个或更多进程执行 I O 我会遇到缓冲区内容损坏的情况 我没有任何本地存储
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • 带有接收器的 boost_log 示例无法编译

    我正在考虑将 boost log 用于一个项目 一开始我就遇到了以下问题 我在以下位置找到的升压日志示例 http www boost org doc libs 1 54 0 libs log example doc tutorial fi
  • 如何从 swagger 文档生成静态 html 文件?

    我创建了一个 Swagger 文档yaml文件位于 api swagger swagger yaml 现在我想分享一个静态 HTML 文档及其定义 但它已在招摇项目 https github com swagger api swagger
  • 多线程进程的线程ID可以与另一个正在运行的进程的进程ID相同吗?

    我正在尝试找到一种方法来唯一标识多进程环境中的线程 我有一个服务器 它跟踪连接到它的不同进程 其中一些是多线程的 一些不是 为了识别多线程连接中的线程 我使用线程 ID 作为唯一标识符 在任何给定时间最多有 1 个多线程进程连接 我的问题是
  • 对符号“pthread_key_delete@@GLIBC_2.2.5”的未定义引用

    我正在尝试在 Ubuntu 中创建一个文件 当我创建时 我不断收到此错误 usr bin ld gtest 1 7 0 libgtest a gtest all cc o undefined reference to symbol pthr
  • AMD OpenCL 在 Linux 上工作所需的最小必要文件子集是什么?

    我已经使用 buildroot 构建了 Linux 内核 我已将开源 amdgpu 驱动程序和所需的固件合并到其中 驱动程序很好 检测 GPU 模式设置运行良好 调整 小文本 的分辨率 启动后会显示命令行 现在我需要运行 OpenCL 程序
  • 使用inotify监控文件

    我正在使用 inotify 来监视本地文件 例如使用 root temp inotify add watch fd root temp mask 删除该文件后 程序将被阻止read fd buf bufSize 功能 即使我创建一个新的 r
  • 如何在 .zip 文件中使用 grep

    有 3 个文件 a csv b csv c csv 压缩为 abh zip 现在可以在 abh zip 上执行 grep 命令 是否有任何通配符 仅对里面的 c csv 文件运行 grep压缩 如果你有zipgrep 据我所知 它是随zip
  • 使用多个 NIC 广播 UDP 数据包

    我正在 Linux 中为相机控制器构建嵌入式系统 非实时 我在让网络做我想做的事情时遇到问题 该系统有 3 个 NIC 1 个 100base T 和 2 个千兆端口 我将较慢的连接到相机 这就是它支持的全部 而较快的连接是与其他机器的点对
  • C:运行系统命令并获取输出? [复制]

    这个问题在这里已经有答案了 我想在 Linux 中运行一个命令并获取其输出内容的返回文本 但我do not想要将此文本打印到屏幕上 有没有比制作临时文件更优雅的方法 你想要 popen http linux die net man 3 po
  • 如何使用 sed 交换两行?

    有谁知道如何更换line a with line b and line b with line a使用 sed 编辑器在文本文件中 我可以看到如何用保留空间中的一行替换模式空间中的一行 即 Paco x or Paco g 但是如果我想采取
  • Centos/Linux 将 logrotate 设置为所有日志的最大文件大小

    我们使用 logrotate 并且它每天运行 现在我们遇到了一些情况 日志显着增长 阅读 gigabaytes 并杀死我们的服务器 所以现在我们想为日志设置最大文件大小 我可以将其添加到 logrotate conf 中吗 size 50M

随机推荐

  • 【深度学习】 Python 和 NumPy 系列教程(十八):Matplotlib详解:2、3d绘图类型(4)3D曲面图(3D Surface Plot)

    目录 一 前言 二 实验环境 三 Matplotlib详解 1 2d绘图类型 2 3d绘图类型 0 设置中文字体 1 3D线框图 3D Line Plot 2 3D散点图 3D Scatter Plot 3 3D条形图 3D Bar Plo
  • 解决Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend报错

    使用apt 或者apt get install 时 kali linux报错 Waiting for cache lock Could not get lock var lib dpkg lock frontend 出现这种报错一般是上一次
  • 短视频副业做什么比较靠谱,副业赚钱的路子有哪些

    作为上班族 如果搞副业的话 说明是一个不安分的人 今天我们说说他们的搞法吧 首先使用自动剪辑软件王者剪辑批量剪辑原创视频 然后通过多平台快速起号发布视频迅速涨粉引流 有了粉丝流量 他们就可以投放广告 开橱窗卖产品或者直接把号卖给有需要的人
  • 单目标应用:海鸥优化算法(Seagull optimization algorithm,SOA)求解无人机路径规划(提供MATLAB代码)

    一 海鸥优化算法 海鸥优化算法 Seagull optimization algorithm SOA 由Gaurav Dhiman等人于2019年提出 海鸥是候鸟 繁殖期主要栖息于北极苔原 森林苔原 荒漠 草地的河流 湖泊 水塘和沼泽中 冬
  • Tomcat服务器解决跨域问题解决方式二

    第一步 在https mvnrepository com上查询并下载cors filter 1 7 jar java property utils 1 9 jar这两个库文件 放到lib目录下 E apache tomcat gcxt li
  • Angular,Vue,React三者的区别-个人理解

    题外话 学习了jQuery后 就在公司接触了Angular 第一次接触的时候 简直一脸懵逼呀 对于曾经习惯了对DOM元素进行操作的我真的好难好难 对于曾经没工作经验的我 Angular1入门还是比较难的 还好 努力克服了这个坎 在一次公司的
  • OD(Ollydbg)简介

    ollydbg简介 Ollydbg 通常称作OD 是反汇编工作的常用工具 OD附带了200脱壳脚本和各类插件 功能非常强大 可以过SE VMP3 0 深受逆向圈内人士的喜爱 OD 是一个反汇编工具 又叫OllyDebug 一个新的动态追踪工
  • 源码、反码、补码

    接下来的一章会提到位操作符 所以我们先介绍一下这三种二进制形式 整数的二进制表示形式 一共有三种 源码 反码 补码 1 正整数的原码 反码和补码都是相同的 2 负整数的原码 补码和反码是要经过计算的 首先 不管是正整数还是负整数都可以直接写
  • GateWay启动报错:Error processing condition on org.springframework.cloud.gateway.config.GatewayAutoConfig

    错误 java lang IllegalStateException Error processing condition on org springframework cloud gateway config GatewayAutoCon
  • 15.线程同步的几种方法

    一 为什么需要线程同步 线程同步通常是出现在多线程环境下的问题 对于多个线程同时访问的共享内存中的变量 如果不进行保护 就会导致一些列数据出错问题 以下图为例 假设线程A在第一次读取变量的值为10 每次写周期会将变量A加5 理论上当线程A完
  • mysql主键id的生成方式(自增、唯一不规则)

    1 利用uuid函数生成唯一且不规则的主键id sql CREATE TABLE test id varchar 100 COLLATE utf8 estonian ci NOT NULL COMMENT 唯一不重复 create time
  • AIX软件安装的相关命令

    文件集 Filesets AIX操作系统的最小可安装单元软件包 Packages 软件包由一组可独立安装的文件集组成注册的程序产品 LPP LPP包含所有与该注册的程序相关联的软件包 软件束 Bundles 一组软件 包含文件集 软件包和L
  • moment.js 时间处理的使用方法--含有CDN链接

    范例 https cybozudev kf5 com hc kb article 211149 CDN链接 https cybozudev kf5 com hc kb article 206405
  • ORACLE等待事件类型(一)

    author skate tiime 2009 11 18 ORACLE等待事件类型 Classes of Wait Events 每一个等待事件都属于某一类 下面给出了每一类等待事件的描述 Every wait event belongs
  • linux模拟网络丢包、延迟、数据包损坏

    环境 工具 linux TC tc默认系统自带 只对物理网卡生效 不对虚拟网卡生效 如果对关联了虚拟网卡的物理网卡使用会同时生效 模拟网络延迟 tc qdisc add dev eth0 root netem delay 1000ms ro
  • 解读es6 class 中 constructor 方法 和 super 的作用

    ES6 的 class 属于一种 语法糖 所以只是写法更加优雅 更加像面对对象的编程 其思想和 ES5 是一致的 类和模块的内部 默认就是严格模式 所以不需要使用use strict指定运行模式 定义类 class Point constr
  • c++ 文件类型判断

    要判断文件类型 即判断文件名是否包含文件的后缀 例如 txt文件的判断 string str abcd txt string str1 txt 当 str find str1 string npos时则说明字符串str中不存在 txt 这个
  • MonoField MonoReflectionField FieldInfo

    mono mcs class corlib System Reflection MonoField cs StructLayout LayoutKind Sequential internal class MonoField RtField
  • 环形链表问题

    题目 给定一个链表的头节点 head 返回链表开始入环的第一个节点 如果链表无环 则返回 null 如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环 为了表示给定链表中的环 评测系统内部使用整数 pos 来表示
  • linux 软件安装各种方法

    一 简单介绍 1 软件安装卸载 分几种情况 A RPM包 这种软件包就像windows的EXE安装文件一样 各种文件已经编译好 并打了包 哪个文件该放到哪个文件夹 都指定好了 安装非常方便 在图形界面里你只需要双击就能自动安装 如何卸载 1