转载: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. Day2作业:购物商城

    ReadMe: 注意事项: 1.本程序需要提前安装prettytable模块,在商品展示时使用了prettytable 2.数据库使用json模块,有中文数据,在mac系统上编写,运行没有出现问题,在 ...

  2. 压力测试 Apache ab

    https://www.jianshu.com/p/166a4ea8aade https://httpd.apache.org/docs/2.4/programs/ab.html 安装: 按照提示安装 ...

  3. 学习activiti的时候使用truncate命令清空表

    参考文档: https://blog.csdn.net/iw1210/article/details/79586033 https://www.cnblogs.com/hougang/p/mysql_ ...

  4. html测试页LODOP的内容反复进入打印设计

    打印设计是给开发人员使用的工具,用打印设计辅助开发后,打印设计的界面本身的菜单下,可以生成代码,然后把对应的内容信息补充上,拷贝到自己的页面的JS里或存起来,作为模版使用. 也可以关闭打印设计,可返回 ...

  5. 【Leetcode_easy】1042. Flower Planting With No Adjacent

    problem 1042. Flower Planting With No Adjacent 参考 1. Leetcode_easy_1042. Flower Planting With No Adj ...

  6. 【VS开发】如何判断客户端SOCKET已经断开连接?

    http://biancheng.dnbcw.info/linux/366100.html    最近在做一个服务器端程序,C/S结构.功能方面比较简单就是client端与server端建立连接,然后 ...

  7. 安装本地 jar 文件

    Maven 提供了 maven-install-plugin 可将 jar 文件安装至本地 repository.安装命令如下: mvn install:install-file -Dfile= -D ...

  8. 洛谷 题解 P1772 【[ZJOI2006]物流运输】

    题目描述 物流公司要把一批货物从码头\(A\)运到码头\(B\).由于货物量比较大,需要\(n\)天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过 ...

  9. (模板)AC自动机模板

    模板1. 给出模式串和文本串,文本串长度小于1e6,模式串长度之和小于1e6,求文本串中有多少模式串出现. 题目链接:https://www.luogu.org/problem/P3808 AC co ...

  10. java8中常用的新功能

    Lambda表达式的用法,并行流.Optional.循环.线程池等