linux 文件系统和包管理工具rpm,yum
2021/6/10 7:25:08
本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南