Linux系统中安装软件方法总结

[1]Linux系统中安装软件的几种方式

[2] Linux配置yum源(本地源和网络源)

[3] SuSE下zypper源配置

[4] SUSE zypper 本地源配置

[5] SUSE Linux的zypper命令详解

Linux有很多种发行版本,各种发行版本之间安装软件方式和命令不一样,同一个版本之间安装软件也有不同的方法。但是,大体来说,Linux有两大派系,一个是红帽派系,包含Redhat、Centos、Fedora等。还有一个是Debian派系,包含Kali、Ubuntu等。此外,Suse系统自己有一个安装工具。

一、红帽派系统安装软件

1、源码包安装

源码安装需要安装编译工具: yum -y install gcc gcc-c++ make

以Redhat下安装apache为例

  • 先网站下载源代码包 httpd-2.2.15.tar.gz
  • tar -xvf httpd-2.2.15.tar.gz -C /usr/src,将其解压到 /usr/src/目录下
  • 到其解压目录 /usr/src/httpd-2.2.15/ 下,./configure 运行configure配置文件,设置安装目录,安装模块等,不设置的话,软件默认安装在 /usr/local/apache2/目录下。如./configure --prefix=/usr/local/https/ ,则是将其安装在/usr/local/https/目录下。此时还并未安装,只是配置安装路径
  • make 编译,生成可执行的二进制文件Makefile
  • make install安装。此时,软件安装在 /usr/local/https/目录下

安装完成之后对安装包的清理

  • 进入其解压目录/usr/src/httpd-2.2.15/下,make uninstall或者make clean 用于清除上一次的编译
  • 然后返回到上一级目录,把 httpd-2.2.15 删除
  • 如果要卸载软件的话,把 /usr/local/apache2 这个软件删除就可以

2、RPM包安装:

RPM (RedHat Package Manager) :由红帽公司提出,建立统一的数据库文件,详细记录软件包的安装、卸载等变化信息,能够自动分析软件包依赖关系。

RPM包的命名格式: firefox-17.0.10-1.el6.centos.x86_64.rpm
软件名称 版本号 发行次数 硬件平台 扩展名

RPM指令管理

针对已安装软件:

  • rpm -qa:查询所有已安装软件的rpm包信息,列出包的版本
  • rpm -q httpd:查看httpd是否安装
  • rpm -qi httpd:列出httpd软件的详细信息
  • rpm -qc httpd:查看httpd的配置文件目录
  • rpm -ql httpd:查看httpd所包含的文件
  • whereis httpd:查看httpd的安装路径和可执行文件路径

根据指令搜索包的名称:

  • which vim:搜索指令在系统中的路径
  • rpm -qf 指令的绝对路径:查看该命令是由哪个rpm包所提供,如rqm -qf /usr/bin/vim

    针对未安装软件(需要把光盘文件挂载,然后进入其Package目录下):
  • rpm -qpl 包.rpm 选项p表示package,后面需要写包的完整路径信息,qpl表示列出这个包在安装之后生成哪些文件和目录
  • rpm -qpi 包.rpm 查询未安装包的详细信息

验证软件:

  • V:后面接软件名称,该软件所含的文件被改动过,才会被列出来。针对一个软件查询。
  • Va:列出系统上面所有有可能被改动过的文件。针对整个系统的。
  • Vp:后面接RPM软件包。
  • Vf:列出某个文件是否被改动过。

对于输出中每个标记的含义介绍如下:

  • S 表示文件长度发生了变化
  • M 表示文件的访问权限或文件类型发生了变化
  • 5 表示MD5校验和发生了变化
  • D 表示设备节点的属性发生了变化
  • L 表示文件的符号链接发生了变化
  • U 表示文件/子目录/设备节点的owner发生了变化
  • G 表示文件/子目录/设备节点的group发生了变化
  • T 表示文件最后一次的修改时间发生了变化

    如果在输出结果中有“M”标记出现,那么对应的文件可能已经遭到篡改或替换,此时可以通过卸载这个rpm包重新安装来清除受攻击的文件。

    不过这个命令有个局限性,那就是只能检查通过rpm包方式安装的所有文件,对于通过非rpm包方式安装的文件就无能为力了。同时,如果rpm工具也遭到替换,就不能通过这个方法了,此时可以从正常的系统上复制一个rpm工具进行检测。

    对文件系统的检查也可以通过chkrootkit、RKHunter这两个工具来完成。

安装与卸载:

  • rpm -ivh 包.rpm i表示安装,v表示显示安装过程,h表示以‘#’作为进度,显示安装进度
  • rpm -e 包的名称 移除指定的rpm包

3、YUM源安装:

YUM(Yellow dog Updater Modified): 基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的yum软件仓库提供

相关文章:Redhat7配置yum源(本地源和网络源)

配置网络yum源

由于Red Hat Enterprise Linux7的更新包只对注册的用户生效,所以需要自己手动改成Centos的更新包,Centos几乎和和Redhat是一样的,所以无需担心软件包的兼容问题。

(1)首先查看redhat7系统本身安装的yum软件包 ,redhat本身安装了6个关于yum的软件包

rpm -qa | grep yum

(2)卸载这些软件包

rpm -qa | grep yum | xargs rpm -e –nodeps # 不检查依赖关系,直接卸载

(3)然后重新安装centos的yum软件包 ,把软件包放到统一的文件夹里,然后安装,安装完后可以看到centos安装包已经安装好。

下载centos的yum软件包

rpm -ivh * # 安装该目录下所有rpm包

rpm -qa | grep yum # 查询是否安装好

(4)安装完centos的yum软件包后,修改/etc/yum.repos.d/下的文件

[base]

name= yum repo

baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/

enabled=1

gpgcheck=0

(5)配置完保存退出,清除yum缓存

yum clean all

一些常见的yum命令:

  • yum clean all 清空缓存信息
  • yum list 列出所有包的信息
  • yum list httpd 查看 httpd 是否安装
  • yum info httpd 显示 httpd 包的详细具体信息
  • yum install httpd -y 安装 httpd 包
  • yum remove httpd -y 卸载 httpd 包
  • yum search 关键词 根据关键词,在已发现的repo源中搜索包含关键词的rpm包
  • yum provides 命令 根据命令,在已发现的repo源中搜索安装指令的rpm包
  • yum history list/info/undo/redo number history可以列出,查看,重装,反安装对应的包,但是是以yum指令的操作顺序为依据的,所以需要加指定的数字执行
  • yum update -y 升级所有包同时也升级软件和系统内核
  • yum upgrade -y 只升级所有包,不升级软件和系统内核

二、Debian派系统安装软件

1、Deb包安装:

DEB是Debian软件包格式的文件扩展名,Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。

处理这些包的经典程序是dpkg,经常是通过Debian的apt-get来运作。deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合APT软件管理系统,成为了当前在Linux下非常流行的一种安装包。

dpkg指令用法:

dpkg

  • -i:安装软件包;
  • -r:删除软件包;
  • -P:删除软件包的同时删除其配置文件;
  • -L:显示于软件包关联的文件;
  • -l:显示已安装软件包列表;
  • --unpack:解开软件包;
  • -c:显示软件包内文件列表;
  • --confiugre:配置软件包。

2、apt-get源安装

(1)Ubuntu中的高级包管理方法apt-get

除了apt的便捷以外,apt-get的一大好处是极大地减小了所谓依赖关系恶梦的发生几率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的援助手段,帮你逃出魔窟。

通常apt-get都和网上的压缩包一起出没,从互联网上下载或是安装。全世界有超过200个debian官方镜像,还有繁多的非官方软件包提供网站。你所使用的基于Debian的发布版不同,你所使用的软件仓库可能需要手工选择或是可以自动设置。你能从Debian官方网站得到完整的镜像列表。而很多非官方网站提供各种特殊用途的非官方软件包,当然,使用非官方软件包会有更多风险了。

软件包都是为某一个基本的Debian发布版所准备的(从unstable 到stable),并且划分到不同类别中(如 main contrib nonfree),这个是依据debian自由软件纲领而划分的(也就是常说的dfsg),因为美国限制加密软件出口,还有一个non-us类别。

(2)常用的APT命令参数

  • apt-cache search package 搜索包
  • apt-cache show package 获取包的相关信息,如说明、大小、版本等
  • sudo apt-get install httpd 安装软件
  • sudo apt-get install package --reinstall 重新安装包
  • sudo apt-get -f install 修复安装"-f = --fix-missing"
  • sudo apt-get remove httpd 卸载软件
  • sudo apt-get remove package -- purge 删除包,包括删除配置文件等
  • sudo apt-get update 更新源
  • sudo apt-get upgrade 更新已安装的包
  • sudo apt-get dist-upgrade 升级系统
  • sudo apt-get dselect-upgrade 使用 dselect 升级
  • apt-cache depends package 了解使用依赖
  • apt-cache rdepends package 查看该包被哪些包依赖
  • sudo apt-get build-dep package 安装相关的编译环境
  • apt-get source package 下载该包的源代码
  • sudo apt-get clean && sudo apt-get autoclean 清理无用的包
  • sudo apt-get check 检查是否有损坏的依赖

三、Suse系统安装软件

SUSE系统无yum命令,若需安装软件可使用zypper,功能类似Debian下的apt-get。

1、zypper源配置

SUSE的zypper本地源配置起来跟yum的配置很相似,它们的配置文件有很多相似之处。不过,在SUSE下,可以通过一条zypper的命令,即可完成zypper源的配置。

安装源操作: zypper 参数

  • repos, lr 列出所有定义的安装源。
  • addrepo, ar 添加一个新的安装源。
  • removerepo, rr 删除指定的安装源。
  • renamerepo, nr 重命名指定的安装源。
  • modifyrepo, mr 修改指定的安装源。
  • refresh, ref 刷新所有安装源。
  • clean 清除本地缓存。

注:

(1)执行”zypper ar URI alias“后,会在/etc/zypp/repo.d/目录下生成alias.repo配置文件。

(2)zypper官方源

  ①zypper ar http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.3/repo/oss/suse main

  ②zypper ar http://download.opensuse.org/distribution/11.3/repo/non-oss/suse/ nonoss

  ③zypper ar http://download.opensuse.org/update/11.3/suse update

2、zypper软件管理

    zypper常用命令:

  • zypper install package_name 安装某个软件包
  • zypper install package_name=version 安装某个版本的软件包
  • zypper install package_name* 安装以某个单词名字开头的所有软件包
  • zypper remove package_name 卸载某个软件包
  • zypper update package_name 升级某个软件包
  • zypper install emacs -vim 要一次安装和删除多个包,使用 +/- 或 ~/! 修改键一次性安装和删除包
  • zypper remove emacs +vim 要一次安装和删除多个包,使用 +/- 或 ~/! 修改键一次性安装和删除包
  • zypper list-updates 获取所有可用新包的列表
  • zypper list-patches 要列出所有所需的包
  • zypper search package_name 查看某个软件包

Linux系统中安装软件方法总结的更多相关文章

  1. Linux系统中安装软件的几种方式

    转载:https://blog.csdn.net/qq_36119192/article/details/82866329 好长时间没有静下心来学习一下linux了 最近对linux安装软件有了点小小 ...

  2. 在 Linux 系统中安装Load Generator ,并在windows 调用方法

    在 Linux 系统中安装Load Generator ,并在windows 调用 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此 ...

  3. 【Docker】在Linux系统中安装Docker虚拟机、启动停止重启查看Docker命令

    安装Docker 文章目录 安装Docker Docker虚拟机架构 在Linux系统中安装Docker虚拟机 管理Docker虚拟机 参考资料 Docker虚拟机架构 Docker创建的所有虚拟实例 ...

  4. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  5. 在Linux系统中安装caffe

    学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录. caffe配置起来比tensorflow更麻烦一些,我 ...

  6. 详解在Linux系统中安装Tomcat

    本文以在CentOS 7.6中安装Tomcat8.5为例进行安装,其他系统和版本都是大同小异的. 安装JDK 安装Tomcat之前,需要先安装JDK,可以参看之前的文章详解在Linux系统中安装JDK ...

  7. linux系统中安装MySQL

    linux系统中安装MySQL 检查原来linux系统中安装的版本 rpm -qa | grep mysql 将其卸载掉 以 mysql-libs-5.1.71-1.el6.x86_64 版本为例 r ...

  8. 在Windows、Mac和 Linux系统中安装Python与 PyCharm

    “工欲善其事,必先利其器”,本文介绍 Python环境的安装和 Python的集成开发环境(IDE) PyCharn的安装.   一.Python安装( Windows.Mac和 Linux) 当前主 ...

  9. Jmeter(五十三) - 从入门到精通高级篇 - 懒人教你在Linux系统中安装Jmeter(详解教程)

    1.简介 我们绝大多数使用的都是Windows操作系统,因此在Windows系统上安装JMeter已经成了家常便饭,而且安装也相对简单,但是服务器为了安全.灵活小巧,特别是前几年的勒索病毒,现在绝大多 ...

随机推荐

  1. mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64的使用

    1.使用Vmware打开下载好的mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64 2.登录账号密码都为mininet 3.用命令行生成拓扑,并测试连通性 ...

  2. 力扣 - 剑指 Offer 66. 构建乘积数组

    题目 剑指 Offer 66. 构建乘积数组 思路1 按照一般的思路就是将所有的相乘,然后除以每一位数字就是答案,但是题目要求我们不能使用除法,因此我们会想到每次遍历到每个数字的时候,在遍历一遍数组, ...

  3. 剑指 Offer 20. 表示数值的字符串

    方法:分为几个部分判断 DA[.B][E/eC] D 其中D表示前后的空格,需要处理,跳过即可 A可以带正负号 有符号数 B无符号数 C可以为有符号数(带+-号) 小数点.后面必须是无符号数或者没有 ...

  4. Java测试开发--MySql之C3P0连接池(八)

    连接池C3P0! 连接池技术的目的:解决建立数据库连接耗费资源和时间很多的问题,提高性能 ! 下面以案例演示下C3P0的操作流程. 1.测试准备: ①MySql数据库一枚②database名为myte ...

  5. spring security 之自定义表单登录源码跟踪

    ​ 上一节我们跟踪了security的默认登录页的源码,可以参考这里:https://www.cnblogs.com/process-h/p/15522267.html 这节我们来看看如何自定义单表认 ...

  6. CobaltStrike上线Linux

    为获得最佳的阅读体验,请访问我的个人主页: https://xzajyjs.cn/ 在红蓝对抗中,我们常需要对目标进行长时间的控制,cobaltstrike原生对于上线windows比较轻松友好,但如 ...

  7. scrapy_电影天堂多页数据和图片下载

    嵌套的 爬取 先获取第一页的标题 点击标题到第二页的图片url 1.创建项目 > scrapy startproject scrapy_movie_099 2.创建爬虫文件 spiders> ...

  8. 菜鸡的Java笔记 - java 线程的同步与死锁 (同步 synchronization,死锁 deadlock)

    线程的同步与死锁 (同步 synchronization,死锁 deadlock)        多线程的操作方法            1.线程同步的产生与解决        2.死锁的问题     ...

  9. 微信小程序(九)

    小程序运行环境与基本架构 每个小程序都是运行在它所在的微信客户端上的,通过微信客户端给它提供的运行环境,小程序可以直接获取微信客户端的原生体验和原生能力. wxml视图文件和wxss样式文件都是对渲染 ...

  10. [gym102822I]Invaluable Assets

    令$f(x)=\frac{x^{2}+c}{x}$,换言之即$x$物品的性价比的倒数 对其求导即$f'(x)=1-\frac{c}{x^{2}}$,其导数严格递增,换言之即是一个严格下凸函数,记$x_ ...