目录
一、Linux应用程序基础
1. 典型应用程序的目录结构
文件类型 | 保存目录 | 说明 |
普通可执行程序文件 | /usr/bin | 所有用户可执行 |
服务器撤销、管理程序文件 | /usr/sbin | 只有管理员可执行 |
应用程序配置文件 | /etc | 通过rpm或yum方式安装的程序 |
日志文件 | /var/log | 关于应用程序的参考文档等数据 |
应用程序参考文档文件 | /usr/share/doc | 执行文件及配置文件的man手册页 |
2. Linux系统常见的软件包封装类型【☆】
文件类型 | 保存目录 |
RPM软件包 | 适用RHEL、CentOS、OpenSUSE等系统; 软件包格式XXX.rmp,相当于已经封装好的软件包; 安装管理命令:rpm / yum |
DEB软件包 | 适用Ubuntu、Debian等系统; 软件包名称格式XXX.deb,相当于已经封装好的软件包; 安装管理命令:dpkg / apt-get |
源代码软件包 | 一般格式为:XXX.tar.gz/XXX.tar.bz2等格式的压缩包; 包含程序的原始代码,需要自行编译安装(源代码为英文字母,要编译成系统能识别的二进制语言) |
附带安装程序的软件包 | 解压后里面就有二进制文件或脚本,能自行安装软件 |
二、RPM包管理工具 centOS
RPM软件包管理器有红帽公司提出,安装软件时会自动分析软件包依赖关系。通过rpm安装软件包时先用df查看新的操作系统的挂载情况(mount /dev/sr0 /mnt)mnt目录下存在的rpm包即可直接安装,没有则需要通过逛网下载对应的软件包以及依赖包。
1. 查询rpm软件包信息
rpm命令 rpm -q <软件名> | rpm -q | #根据软件名查看软件是否安装,软件名是精确比配的(输入的软件名和实际的软件名字不一致时则会查不到) |
rpm -qa | #列出系统通过rpm安装过的所有软件,可配合grep命令 | |
rpm -qi | #通过软件名查看软件包的相关详细信息 | |
rpm -qpi | #通过软件包名查看软件包的相关详细信息,效果同上 | |
rpm -ql | #列出关于该软件的所有文件 | |
rpm -qc | #列出该软件的配置文件及其所在的目录位置 | |
rpm -qd | #查看该软件的文档文件及所在位置 | |
rpm -qR | #查看软件的依赖包和文件 | |
rpm -qf | #查看该文件/目录属于哪个软件 | |
rpm -qpi | #跟rpm -qi效果一样 | |
rpm -qpl | #跟rpm -ql效果一样 | |
rpm -qpc | #跟rpm -qc效果一样 | |
rpm -qpd | #跟rpm -qd效果一样 | |
rpm --nod --nodeps --force | #忽略依赖安装 |
【示例】查看系统中有没有安装某个系统
rpm -q <软件名>
【示例】查看通过rpm安装的nfs相关的所有文件,配合grep命令
rpm -qa | grep nfs
2. 安装升级卸载RPM软件包
安装软件包 | rpm -i | #安装一个新的软件包 |
rpm -h | #在安装升级软件包的过程中,以#号显示安装进度 | |
rpm -v | #安装时显示详细过程 | |
rpm -ivh | #安装一个新的软件包,显示详细过程,显示进度 | |
升级软件包 | rpm -U | #升级或安装 |
rpm -F | #只升级软件包,如果没有安装过,则放弃操作 | |
rpm -ivh [--force --nodeps] | #强制安装,不安装依赖包(系统建议安装最好安装) | |
卸载软件包 | rpm -evh [--force --nodeps] | #卸载软件包显示进度和详细过程(被依赖的软件包不能直接被删除) |
3. 维护RPM数据库
3.1 重建RPM数据库(一般不需要,只有误删、非法关机、黑客攻击后重建RPM数据库)
rpm --rebuilddb
rpm --initdb
3.2 向RPM数据库导入密钥文件
rpm --import <指定密钥文件>
三、DEB包管理工具(ubuntu)
dpkg命令 | dpkg -i <软件名> #安装 |
dpkg -r <软件名> #卸载 | |
dpkg -l <软件名> #查询 | |
dpkg -l | grep <软件名> #过滤查询 | |
apt命令 | apt -get install <软件名> #安装 |
apt -get remove <软件名> #卸载 | |
apt -get update #更新 |
四、yum软件包管理器
使用rpm方式安装有时非常繁琐,我们还可以使用yum方式进行一键安装,解决依赖包依赖关系。
1. 配置yum本地仓库源具体步骤【☆】
①将光盘镜像挂载到/mnt目录下
mount /dev/cdrom(或者sr0) /mnt/
df #验证挂载情况
②进入yum仓库配置目录,备份源仓库配置文件
cd /etc/yum.repo.d/
mkdir repo.bak #新建备份目录
mv *.repo repo.bak/ #移动所有repo文件到备份目录
③创建yum本地仓库源配置文件
cd /etc/yum.repo.d/
vim local.repo进入输入模式,文件名自定义
- [local] #与文件名保持一致
- name=local
- baseurl=file:///mnt # fiel//表示固定格式 /表示光盘挂载路径
- enabled=1开启,0关闭
- gpgcheck=1,0不做密钥验证(密钥可防止安装被篡改的软件包)
- gpgkey=/mnt/文件名,设置密钥文件路径
- 保存退出
yum clean all && yum makecache
④使用yum安装软件
yum install -y 软件名
2. yum卸载软件和其他命令
yum更新和卸载 | yum install -y <软件> #自动确认,安装或升级 |
yum install -q <软件> #系统默默自己装好软件 | |
yum update <软件名> #只升级,不安装 | |
yum remove/erase #卸载 | |
yum其他命令 | yum list <软件名> #查找该软件相关的软件包 yum list | grep <软件名> |
yum installed/available/update | |
yum info <软件名> #查看软件信息 | |
yum search all <软件名> #根据关键词搜索软件包 | |
yum search <软件名> #查询软件包信息 | |
yum whatprovides <命令> #查看某个命令由哪个软件包提供的 |
五、源码编译
源码编译安装步骤【☆】
1.yum安装编译软件的依赖包
yum install -y gcc、gcc-c++、make、pcre-devel、zlib-devel、openssl-devel
2.官网下载软件包,可以通过xshell第三方拖拽上传解压
tar xf xxxx.tar.gz
3.cd进入软件包目录找到configure文件执行,
./configure --prefix=/usr/local/<XXX>
4.make编译,将源代码装换成可执行的二进制程序文件;
5.make install安装,复制二进制程序文件和软件配置文件等到软件安装目录,cd /usr/local/XXX可查看安装是否成功