转载: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. spring 理解Spring AOP 一个简单的约定游戏

    应该说AOP原理是Spring技术中最难理解的一个部分,而这个约定游戏也许会给你很多的帮助,通过这个约定游戏,就可以理解Spring AOP的含义和实现方法,也能帮助读者更好地运用Spring AOP ...

  2. Shell脚本运行报错Bad substitution解决办法

    环境Ubuntu18.4.02 脚本运行报错 # sh test.sh test.sh: 2: test.sh: Bad substitution 原因 从 ubuntu 6.10 开始,ubuntu ...

  3. Adaptive Compressive Tracking via Online Vector Boosting Feature Selection(ACT算法解读)

  4. GitToc-为你的Github仓库的Readme自动生成一个目录

    维护自己的Github仓库的时候发现Github的Readme不支持Toc目录,所以就自己写了一个小工具. 工具地址:https://github.com/Holy-Shine/GitToc 简介 如 ...

  5. nodejs ffi 调用dll

    安装依赖 npm install --global --production windows-build-tools(在管理员权限打开的命令行中执行) npm install -g node-gyp ...

  6. [转帖]Linux文件系统详解

    Linux文件系统详解 https://www.cnblogs.com/alantu2018/p/8461749.html 贼复杂.. 从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系 ...

  7. Session中清除对象方法比较

    转载. https://blog.csdn.net/u014401141/article/details/51816308 Session中清除对象方法比较   http://blog.csdn.ne ...

  8. 【hash】Power Strings

    [题意]: 给出s串出来,能否找到一个前缀 ,通过多次前缀进行拼接.构成s串.如果有多个,请输出最多次数那个. 如:aaaa 可以用1个a,进行4次拼接 可以用2个a,进行2次拼接 可以用4个a,进行 ...

  9. Spring Boot使用@ConfigurationProperties注解获取配置文件中的属性值

    注意:这种方式要提供属性的getter/setter方法—— 如果idea报错,提示没有相应的执行器,就需要在maven中添加: (虽然不配置代码也能正常运行,作用在下面会说明) 配置了该执行器后,在 ...

  10. 简单即时通讯、聊天室--java NIO版本

    实现的功能: 运行一个服务端,运行多个客户端.在客户端1,发送消息,其余客户端都能收到客户端1发送的消息. 重点: 1.ByteBuffer在使用时,注意flip()方法的调用,否则读取不到消息. 服 ...