linux软件安装总结

一、软件包概念

  • 源码包(需要自己编译)
  • 二进制包(已经编译好:rpm包,系统默认包)
  • 脚本安装包:将在安装上述两种包的过程中手动输入的命令的过程写成脚本,双击执行即可,省去手动输入的麻烦。

二、rpm命令管理

1.包全名与包名

  • 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径
  • 包名:操作已经安装的软件包时,使用包名,搜索的是/var/lib/rpm/中的数据库

2.rpm命令

rpm包默认安装位置

/etc/   配置文件安装目录
/usr/bin/   可执行的命令安装目录
/usr/lib/   程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
  • 安装
rpm -ivh 包全名
选项:
-i install
-v 显示详细信息
-h 显示进度
--nodeps不检测依赖性
  • 升级与卸载
rpm -Uvh 包全名
选项:
-U(upgrade)升级
rpm -e 包名
选项:
-e(erase)卸载
--nodeps不检查依赖性
  • 查询
rpm -q 包名(查询包是否安装)
rpm -qa (查询所有已安装的包)
rpm -qi 包名(查询包信息)
rpm -ql 包名(查询包安装位置)
rpm -qR 包名 (查询软件包的依赖包)→ 会列出所有依赖
-p 查询未安装包的信息
rpm -qf 系统文件名(查询系统文件属于哪个包
查询软件包详细信息
rpm -qi 包名
选项:
-i 查询软件信息
-p 查询未安装包信息
查询包中文件安装位置
rpm -ql 包名
选项:
-l 列表
-p 查询未安装包信息
查询软件包的依赖性
rpm -qR 包名
选项:
-R 查询软件包的依赖性
-p 查询未安装包信息
  • RPM包校验
rpm -V 检查包,是否被动过
  • RPM包中文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径 
前面的【.】代表当前路径,不能省略。
文件绝对路径和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。
注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此通常要使用【|】管道符或【<】输入重定向告诉cpio应该从什么设备去取出文件。

三、yum在线安装

1. yum源文件

  • yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
  • redhat的yum在线安装需要付费,centOS不需要。
  • 在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果能上网,那它是默认生效的,而其他的都是默认不生效的。
  • [base]:名字可以随便起。
  • name:名字也是随便起。
  • mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或其他yum源更换。
  • enabled:默认最后一个容器不生效,其他容器都生效。
  • gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
  • gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。

2.光盘yum源搭建:

  • 1.挂载光盘
建立挂载点:mkdir /mnt/cdrom
挂载光盘:mount /dev/chrom /mnt/cdrom
  • 2、使网络yum源失效
进入yum源目录:cd /etc/yum.repos.d/
修改yum源文件后缀名,使其失效:
mv CentOS-Base.repo CentOS-Base.Repo.bak
  • 3、使光盘yam源生效:
vim CentOS-Media.repo

3.yum命令

  • 卸载:
yum -y remove 包名
选项:
-remove:卸载
-y:自动回答yes
(服务器使用最小化安装,用什么装什么,尽量不卸载)
  • Yum 软件组管理命令
yum grouplist
#列出所有可用的软件组列表
yum groupinstall 软件组名
#安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名
#卸载指定软件组

四、源码包安装

一般:

  • 源代码保存位置:/usr/local/src/
  • 软件安装位置:/usr/local/

1.源码包和rpm包的区别:

  • 1.rpm包安装位置不用指定,源码包安装位置必须指定。源码包没有卸载命令。卸载时直接删除文件夹即可。
  • 2.rpm包启动方式两种 service XXXX start(red hat 系列专属) 或 /etc/rc.d/init.d/xxx start 源码包不能用第一种。

2.源码包安装过程:

  • 1、由于源码都是c语言写的,所以要先安装c语言编译器:gcc
  • 2、从官方网站下载源码包 注:若已安装了二进制包,则源码包也是可以继续安装的,因为两者安装目录不一样。但是,并不建议这样做,因为端口会冲突。

3.编译

make编译
make clean 若报错,可使用该命令,删除编译缓存。
make install 编译安装

脚本安装

参考inmp

一键安装包,实际上还是安装的源码包和RPM包,只是把安装过程写成了脚本,便于安装:

  • 优点:简单,快捷、方便
  • 缺点:不能定义安装软件的版本, 不能定义需要的软件功能, 源码包的优势丧失了

其它命令

netstat -tlun
查找网络连接信息和系统开启的端口号
使用 -t 选项列出 TCP 协议的连接
使用 -l 选项列出正在监听的套接字
使用 -u 选项列出 UDP 协议的连接
使用 -n 选项禁用域名解析功能