文件系统

 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的更多相关文章

  1. Linux下程序包管理工具RPM

    实验环境: CentOS release 6.6 (Final)  一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Ha ...

  2. Linux之centos包管理【rpm】、【yum】、【tar】

    rpm包是二进制格式,无需编译安装便可使用,tar包是源码格式,需要编译安装才可使用 rpm包管理: rpm:redhat package manager,红帽的包管理器,其主要的操作参数有如下: - ...

  3. Linux 入门记录:十九、Linux 包管理工具 RPM

    一.源代码管理 绝大多数开源软件都是直接以源代码形式发布的,一般会被打包为 tar.gz 的归档压缩文件.程序源代码需要编译为二进制可执行文件后才能够运行使用.源代码的基本编译流程为: ./confi ...

  4. Linux常用命令-软件包管理工具-rpm

    命令简介 rpm(RPM Package Manager)是一个强大的命令行驱动的软件包管理工具,用来安装.卸载.校验.查询和更新 Linux 系统上的软件包. 语法格式 rpm [OPTION... ...

  5. Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]

    0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...

  6. Linux RPM、YUM、APT包管理工具

    ⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...

  7. Linux rpm包管理工具

    1.什么是rpm包 是一种编译好的二进制软件包,安装速度快. 2.rpm包命名 el6:软件包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x进行安装 el ...

  8. Linux包管理工具分析

    转自:http://blog.csdn.net/carolzhang8406/article/details/14198219 在正式进入讨论之前,先贴几条非常有用的link: linux 发行版比较 ...

  9. rpm环境安装dpkg包管理工具

    rpm环境安装dpkg包管理工具 索引:dpkg-scanpackages.dpkg.dpkg-query.dpkg-source.dpkg-scansource 在centos.redhat.麒麟服 ...

  10. Linux服务器中安装python包管理工具pip

    pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...

随机推荐

  1. 关于 echarts 使用 geo 制作地图 tooltip 不显示问题(转)

    原文地址 我之前遇到过这问题,单独设置 tooltip 没效果,geo 下面也有 tooltip 属性,但是也不管用,网上查了一下说 geo 不支持 tooltip 提示框显示,就自己根据 echar ...

  2. Typora的初使用

    HelloTypora 二级标题 三级标题 HelloWorld! HelloWorld HelloWorld HelloWorld HelloWorld HelloWorld 引用 分割线 图片 # ...

  3. js数组的创建、添加、删除、获取指定元素下标

    数组: 1.数组内可以存放任意类型的数据 2.数组元素不赋值,则为undefined 3.打印数组时,如果某个元素没有赋值,则为"" 4.访问数组范围以外的元素时,不会出现越界异常 ...

  4. 【1】java之类与对象

    一.前言 面向对象就是一种组件化的设计思想. 面向对象特性 封装性:保护内部的定义结构安全性: 继承性:在已有的程序结构上继续扩充新的功能: 多态性:在某一个概念范围内的满足. 二.类与对象的定义和使 ...

  5. 关于flex元素超出父元素的解决方法

    左边是label, 右边是input. 设置父级为display:flex; input为flex:1; 然后label 为 white-space: nowrap; 这时input就有可能超出父级. ...

  6. Hide-and-Seek: Forcing a Network to be Meticulous for Weakly-Supervised Object and Action Localization概述

    0.前言 相关资料: paper 网站 论文解读(知乎,CSDN) 论文基本信息: 领域:弱监督动作定位 发表时间:ICCV2017 1.针对的问题 大多数网络只识别图像最具有鉴别力的部分,不是所有相 ...

  7. leetcode 655. 输出二叉树 【时间击败100.00%】 【内存击败96.49%】

    1 public List<List<String>> printTree(TreeNode root) { 2 ArrayList<List<String> ...

  8. 【音视频】Qt中引入FFmpeg

    音视频有关的部分都是使用标准C++的,只有界面的部分才会使用Qt的内容.这样也是为了方便以后移植到其他系统上. 音视频开发中最常做的就是编解码的操作.以H.264为例:如果想要自己实现编码h.264, ...

  9. 树莓派4B使用花生壳phtunnel内网穿透访问本地Gogs

    已经搭建好Gogs(https://www.cnblogs.com/congyinew/p/16115074.html),接下来就是想外网上传代码到Gogs 一.申请账号 https://open.o ...

  10. deployment.yml参考

    apiVersion: apps/v1kind: Deploymentmetadata: labels: com.xx.service: xxxxxxxxxxxxx name: xxxxxxxxxxx ...