linux 文件系统和包管理工具rpm,yum
文件系统
1.什么是文件系统?
文件系统是一种存储和组织计算机中数据文件的机制或方法,他使得对计算机内的数据的存储.访问和查找变得更容易,简单.
文件系统落到计算机里其实就是一个应用软件
ext2 ext3(C5.x) ext4(C6.x) xfs(CentOS7.x) zfs和Reiserfs或FAT,NTFS等都是常见文件系统.
2.为什么磁盘分区后需要格式化?
磁盘分区在没有格式化之前,操作系统无法识别系统上磁盘分区格式的,也就无法存取文件目录属性和权限等内容,把分区格式化成操作系统支持的某个文件
系统后,在存放数据,系统就会根据这个文件系统的格式进行存取文件了.
创建一个文件,inode,block (格式化生成文件系统时候产生的)
常见的文件系统
不同的系统采用的文件系统:
SUSE Linux的默认文件系统ReiserFS文件系统。
IBM的AIX使用的jfs日志文件系统。
Sun OS所用的文件系统ufs。
CentOS7采用XFS文件系统。
CentOS6采用ext4文件系统。
CentOS5采用ext3文件系统。
生产文件系统选型
1.SAS/SATA磁盘对应文件系统的选择:
a.业务应用是[大量小文件]可选reiserfs(100K以内)。
大量小文件访问,衡量指标是IOPS,文件系统性能瓶颈在于文件元数据操作、目录操作、数据寻址。reiserfs对小文件作了优化,并使用B+ tree组织
数据,加速了数据寻址,大大降低了open/create/delete/close等系统调用开销。mount时指定noatime, nodiratime, notail,减少不必要的inode操
作,notail关闭tail package功能,以空间换取更高性能。因此,对于随机的小I/O读写,reiserfs是很好的选择。ext4文件系统也是适合的,IO调度算
法选择deadline,block size = 4096, ext4关闭日志功能。
reiserfs mount参数:-o defaults, async, noatime, nodiratime, notail, data=writeback
ext4 mount参数:-o defaults, async, noatime, nodiratime, data=writeback, barrier=0
关闭ext4日志:tune2fs -O^has_journal /dev/sdb1
CDN公司,ext2
b.高并发的数据库业务可选xfs,例如:有门户网站MySQL业务选择xfs。
c.视频下载、流媒体、数据库选择ext4、xfs、小文件业务ext4也是OK的,通用文件系统。
d.有些CDN公司的cache业务服务器,曾经还选择了ext2文件系统,因为它没有日志功能,速度快,CDN是做网站加速服务的,对数据完整性要求不高,对速
度要求高。
常规的服务应用建议,系统默认是什么就选择什么就好,简单方便
RPM
RPM全称 Redhat Package Manager 由红帽开发用于软件包的安装升级卸载与查询
RPM包命名以-将软件分成了若干部分bash-4.2.46-28.el7.x86_64.rpm
eI7表示rhel7
3.如何获取rpm包
1.使用本地CentOS7的镜像(ISO),挂载 mount /dev/cdrom /mnt,此时你会在/mnt/Packages目录下看到很多rpm的包文件。(版本过低 数量少)
2.通过联网的方式获取rpm包。
3.特定的软件官方获取软件包
其他安装软件方式?
分类 | 安装 | 版本 |
---|---|---|
rpm包 | 预先编译打包,安装简单 | 软件版本偏低 |
源码包 | 手动编译打包,安装繁琐 | 软件版本随意 |
二进制包(绿色包) | 解压即可使用, 安装简单 | 不能修改源码,软件包大 |
二.RPM使用示例
1.rpm包如何安装
选项描述
-i安装rpm
-v显示安装详细信息
-h显示安装rpm进度
--force强制重新安装
--nodeps忽略依赖关系
rpm -ivh 包名
cd /usr/src/
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-2.el7.ngx.x86_64.rpm
rpm -ivh nginx-1.18.0-2.el7.ngx.x86_64.rpm
---------------------------------------------------
如果软件包存在, 强制再次安装
rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm
安装samba服务需要依赖其他组件, 使用--nodeps可重新强制安装
rpm -ivh --nodeps /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
2.RPM包升级
rpm -U 包名
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.0-1.el7.ngx.x86_64.rpm
rpm -Uvh nginx-1.20.0-1.el7.ngx.x86_64.rpm
3.如何查询已安装好的rpm包
rpm -q 查看指定软件包是否安装
rpm -qa 查看系统中已安装的所有RPM软件包列表*****
rpm -qi 查看指定软件的详细信息
rpm -ql 查询指定软件包所安装的目录、文件列表***
rpm -qc 查询指定软件包的【配置文件】
rpm -qf 查询文件或目录属于哪个RPM软件*****
rpm -qip 查询未安装的rpm包详细信息
rpm -qlp 查询未安装的软件包会产生哪些文件
------------------------------------------
查看系统中已安装的所有RPM软件包列表
rpm -qa tree
查询指定软件包所安装的目录、文件列表
rpm -ql vsftpd
查看指定软件的详细信息
rpm -qi vsftpd
查询指定软件包的【配置文件】
rpm -qc vsftpd
查询文件(命令)或目录属于哪个RPM软件
rpm -qf /etc/vsftpd/vsftpd.conf
查询未安装的软件包会产生哪些文件
rpm -qlp /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm
查询未安装的rpm包详细信息
rpm -qip /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm
---------------------------------------------------
5.rpm包练习
1)查询arp命令是由哪个RPM软件包安装的?
rpm -qf `which arp`
2)查询/etc/ssh/sshd_config属于哪个软件包。
rpm -qf /etc/ssh/sshd_config
3)查询tree软件包都有哪些文件。
rpm -ql tree
4.RPM包卸载
先查询, 然后卸载
rpm -qa nginx
rpm -e 包名
--force强制重新安装
--nodeps忽略依赖关系
强制卸载,忽略依赖关系
rpm -e --force --nodeps 包名
解决依赖 yum
yum remove 卸载依赖
删除有关,都要谨慎
rm mv find +xargs
rpm -e --nodeps 永远不用.
yum remove 卸载依赖,永远不用
rpm工具用途查询,尽量不安装
yum软件自动解决依赖,并安装
rpm软件包安装软件痛点
1)软件包依赖问题。
错误:依赖检测失败:
2)需要肉眼去寻找。
rpm工具常用用途是查询,尽量不用其安装。
yum软件自动帮管理员解决依赖,并安装。
5.RPM包校验(扩展了解)
软件相关的数据库存放于/var/lib/rpm目录
参数描述
S 文件的容量大小是否被改变
M 文件的类型或者文件的属性是否被修改
5 MD5 这一种指纹加密的内容已经不同
L 路径已经被改变
U 文件的所属主已被修改
G 文件的所属组已被修改
T 文件的创建时间已被改变
三.yum基本介绍
1.什么是YUM
yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。
2.YUM源是什么
要成功的使用yum工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以
是本地源、网络源)
1)互联网yum源 (阿里 网易)
2)局域网yum源(自己做一个yum源,http/ftp)(1.速度快,2制作的rpm放到yum源)
3)服务器本地yum源(上不了网,把光盘iso作为yum源)
3.常见互联网yum源
官方yum源:很多软件集合的在线仓库,也称为base基础源
epel源:也称为拓展源,拥有很多base源没有的软件
第三方源:比如nginx,zabbix,Docker等软件开发方开源软件的官方仓库
PS.yum源默认都放在/etc/yum.repos.d/目录下,以*.repo结尾
常见互联网yum源地址:
http://mirrors.aliyun.com/repo/
https://mirrors.tuna.tsinghua.edu.cn/
https://mirrors.tuna.tsinghua.edu.cn/help/centos/
https://mirrors.tuna.tsinghua.edu.cn/help/epel/
4.Linux系统本地yum源配置
1)互联网阿里云yum源配置
默认系统是国外源,需要替换为国内的源
方法1:
wget -q -O /etc/yum.repos.d/CentOS-Base.repo \ http://mirrors.aliyun.com/repo/Centos-7.repo
方法2:
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2)互联网epel源配置
扩展源,有很多软件在基本源中没有
方法1:
wget -q -O /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
方法2:
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
方法3:
yum install epel-release
3)互联网特定软件官方源配置
Nginx web软件官方源,有最新的nginx版本,查找方法:
1)进入nginx.org,进入download页面。
2)页面结尾进入“Linux packages for stable and mainline versions.”即可。
3)配置如下
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
PS. http://nginx.org/en/linux_packages.html
3.YUM源配置实例
配置仓库
1.vim 手动编写.repo文件
2.wget下载已编写好的.repo文件
3.安装 zabbix-release软件. 会释放一个.repo文件至/etc/yum.repos.d/目录
如果在安装软件时,提示没有该软件
1)软件名写错了
2)当前系统仓库中搜索不到该软件
4.yum的基本使用、安装、卸载、升级、查询等操作?
安装
yum install vim wget unzip sl tree lrzsz -y
可以对软件进行重新安装
yum reinstall vsftpd
升级
yum check-updates 查看系统中哪些软件包可以更新
yum update openssl 升级已安装的软件包
yum update 适合刚装完系统使用
卸载(不要随便用)
yum remove XXXX -y
查询
yum list 列出所有的已安装和未安装的软件包
yum info ftp 看软件包的详细信息
yum list installed 列出系统中已成功安装的软件包
---------------------------------------------
cowsay 牛说 sl 小火车
注意事项:
1)生产线慎用,最好不用。
2)安装系统之后,上线前。
3)测试环境,模拟正式环境。然后上正式。
gzip(仅对文件有效)
yum -y install gzip
gzip file 对文件进行压缩(打包)
zcat file.gz 查看gz压缩后的文件(查看)
gzip -d file.gz 解压gzip的压缩包(解包)
让某个文件不生效时
gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
zcat CentOS-Vault.repo.gz --> 查看不想解压的压缩包文件内容
zip
使用zip命令可以对文件进行压缩打包,解压则需要使用unzip命令
默认情况下没有zip和unzip工具,需要进行安装 yum -y install zip unzip
压缩文件为zip包
zip filename.zip filename
压缩目录为zip包
zip -r dir.zip dir/
查看zip压缩包是否是完整的
zip -T filename.zip
结果 test of filename.zip OK
不解压查看压缩包中的内容
unzip -l filename.zip
unzip -t filename.zip(检查是否完整)
解压zip文件包, 默认解压至当前目录
unzip filename.zip
解压zip内容至/opt目录
unzip filename.zip -d /opt/
linux 文件系统和包管理工具rpm,yum的更多相关文章
- Linux下程序包管理工具RPM
实验环境: CentOS release 6.6 (Final) 一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Ha ...
- Linux之centos包管理【rpm】、【yum】、【tar】
rpm包是二进制格式,无需编译安装便可使用,tar包是源码格式,需要编译安装才可使用 rpm包管理: rpm:redhat package manager,红帽的包管理器,其主要的操作参数有如下: - ...
- Linux 入门记录:十九、Linux 包管理工具 RPM
一.源代码管理 绝大多数开源软件都是直接以源代码形式发布的,一般会被打包为 tar.gz 的归档压缩文件.程序源代码需要编译为二进制可执行文件后才能够运行使用.源代码的基本编译流程为: ./confi ...
- Linux常用命令-软件包管理工具-rpm
命令简介 rpm(RPM Package Manager)是一个强大的命令行驱动的软件包管理工具,用来安装.卸载.校验.查询和更新 Linux 系统上的软件包. 语法格式 rpm [OPTION... ...
- Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]
0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...
- Linux RPM、YUM、APT包管理工具
⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...
- Linux rpm包管理工具
1.什么是rpm包 是一种编译好的二进制软件包,安装速度快. 2.rpm包命名 el6:软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装 el ...
- Linux包管理工具分析
转自:http://blog.csdn.net/carolzhang8406/article/details/14198219 在正式进入讨论之前,先贴几条非常有用的link: linux 发行版比较 ...
- rpm环境安装dpkg包管理工具
rpm环境安装dpkg包管理工具 索引:dpkg-scanpackages.dpkg.dpkg-query.dpkg-source.dpkg-scansource 在centos.redhat.麒麟服 ...
- Linux服务器中安装python包管理工具pip
pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...
随机推荐
- (一)从路由器和IP地址开始折腾
我们应当知道的一点是,由于IP地址只有32bit, 所以很快就面临着不够用的情况,现在之所以大家还在正常使用IPv4, 就是因为采用了公有地址和私有地址的概念:所谓的私有地址是从当时公有地址中还没有分 ...
- 修改 Ubuntu 的软件源
1.将 /etc/apt/ 路径下的 sources.list 的内容修改为如下内容(此内容为 Ubuntu Kylin 里面的内容,直接拿过来用,也可以用其它的国内的源). deb http://m ...
- vscode vue代码模板
{ "Print to console": { "prefix": "vue", "body": [ "< ...
- CAD轴测图怎么画?快来试试浩辰CAD超级轴测命令!
很多新手设计师小伙伴,不知道CAD轴测图怎么画?其实很简单,浩辰CAD中的超级轴测功能,可以方便地将CAD平面图转化为轴侧图,是绘制管线系统图的好帮手.今天就和小编一起来看看在浩辰CAD软件中通过调用 ...
- kmp失效函数(测试博客的编辑器)
1 int *find_next(char *p) 2 { 3 int k = -1; //right shift i-k 4 int i = 0; 5 int m = strlen(p); 6 in ...
- Linux 使用Nginx部署web项目
https://blog.csdn.net/weixin_43233914/article/details/126483734
- flink udaf函数
1.Flink-sql自定义UDAF函数 - 简书 (jianshu.com) 2.Flink SQL 自定义UDAF_k_wzzc的博客-CSDN博客_flink udaf 3.Flink 实践教程 ...
- vue组件之间的传参
vue组件之间传参有三种传参方式'父传子','子传父','非父子组件之间传值' 父传子 父组件 <template> <CounterCom :num="5"&g ...
- dynamics 365/crm 导入解决方案报 发生 sql server 错误
dynamics 365/crm 导入解决方案报 发生 sql server 错误.{1}{0} 错误代码 80044150. 帮助我解决此问题. 这时候,可以检查数据库服务器的日志看看,可能会找到S ...
- pushd 和 popd
可以把你当前的文件路径 放进一个栈里,后边拿出来 很方面的skim方法