转载:https://blog.csdn.net/qq_36119192/article/details/82866329

好长时间没有静下心来学习一下linux了

最近对linux安装软件有了点小小新的认识,特此记录下来,以备后面的学习。

  • 目录
  •   红帽派:
  •     源码包安装:
  •     rpm包安装:
  •     yum源安装:
  •   Debian派:
  •     Deb包安装:
  •     apt-get源安装:

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

红帽派:
源码包安装:

源码安装需要安装编译工具: 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 这个软件删除就可以
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  查询未安装包的详细信息
  安装与卸载

rpm  -ivh  包.rpm        i表示安装,v表示显示安装过程,h表示以‘#’作为进度,显示安装进度
        rpm  -e  包的名称       移除指定的rpm包
yum源安装:
YUM(Yellow dog  Updater Modified): 基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的yum软件仓库提供

相关文章:Redhat7配置yum源(本地源和网络源)
一些常见的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指令的操作顺序为依据的,所以需要加指定的数字执行
Debian派:
Deb包安装:
DEB是Debian软件包格式的文件扩展名,Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。
处理这些包的经典程序是dpkg,经常是通过Debian的apt-get来运作。deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包
 
dpkg指令用法:
dekg

-i:安装软件包;
    -r:删除软件包;
    -P:删除软件包的同时删除其配置文件;
    -L:显示于软件包关联的文件;
    -l:显示已安装软件包列表;
    --unpack:解开软件包;
    -c:显示软件包内文件列表;
   --confiugre:配置软件包。
apt-get源安装:
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 package  安装包 
sudo apt-get install package -- reinstall  重新安装包 
sudo apt-get -f install      修复安装"-f = --fix-missing" 
sudo apt-get remove package  删除包 
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  检查是否有损坏的依赖
---------------------
作者:谢公子
来源:CSDN
原文:https://blog.csdn.net/qq_36119192/article/details/82866329
版权声明:本文为博主原创文章,转载请附上博文链接!

Linux系统中安装软件的几种方式的更多相关文章

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

    Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...

  2. liunx中安装软件的几种方式

    服务器安装包一般有四种方式 1.源代码包安装 自由度高  需要预编译,安装速度慢    2.rpm包手动安装   安装的缺点是文件的关联性太大 3. 二进制tar.gz格式 直接解压即可 如tomca ...

  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 系统中安装Load Generator ,并在windows 调用方法

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

  6. 在Linux系统中安装caffe

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

  7. linux安装软件的几种方式(kali平台)和一些实用的软件(持续更新)

    安装软件前我们先更改镜像源,编辑 /etc/apt/sources.list 文件, 在文件最前面添加以下条目: #中科大更新源 deb https://mirrors.ustc.edu.cn/kal ...

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

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

  9. linux系统中安装MySQL

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

随机推荐

  1. android多图选择器 图片/视频 单选or多选,以及视频录制。

    PictureSelector 最近项目中用到多图选择上传的需求,考虑到android机型众多问题就自己花时间写了一个,测试了大概60款机型,出现过一些问题也都一一修复了,基本上稳定了特分享出来,界面 ...

  2. Ideal设置编码格式

    file-------settings-------file Encodings

  3. 报错:Configured broker.id 68 doesn't match stored broker.id 113 in meta.properties

    报错背景: CDH中安装完成kafka的组件后不能成功启动,发现UI界面中的broker.id和服务器中的broker.id不一致, 因此更改了服务器中broker.id 但是更改完成之后还是报错. ...

  4. Flink 在IDEA执行时的webui

    不过Flink IDEA中执行的webui 需要 flink-runtime-web 包的支持 pom 如下: <dependency> <groupId>org.apache ...

  5. LeetCode_278. First Bad Version

    278. First Bad Version Easy You are a product manager and currently leading a team to develop a new ...

  6. iOS实现简单时钟效果

    实现的效果图如下 : 实现代码如下: #import "ViewController.h" //将旋转角度转换为弧度制#define angleToRadion(angle) (( ...

  7. Windows2008R2+iis7.5环境下的dz论坛X3版伪静态设置教程

    Windows2008R2+iis7.5环境下的dz论坛X3版伪静态设置教程 因为2008R2不是那么的普及,加上X3版新出不久,所以伪静态的设置教程比较少,今天搞出来了,其实很简单,那么下面给大家简 ...

  8. 16点睛Spring4.1-TaskScheduler

    转发:https://www.iteye.com/blog/wiselyman-2213049 16.1 TaskScheduler 提供对计划任务提供支持; 使用@EnableScheduling开 ...

  9. 01点睛Spring4.1-依赖注入

    转载:https://www.iteye.com/blog/wiselyman-2210252 1.1 声明bean 使用上例建立的testMavenSpring项目,将pom.xml文件中的 < ...

  10. 【QT开发】信号转发器QSignalMapper的使用

    QSignalMapper我们可以将它理解为一个信号翻译器或者说是哥信号转发器.它的主要应用在于可以实现一个函数相应不同按钮的实现功能.比如我们 实现一个计算器的时候,很多不同的按钮都有着差不多的功能 ...