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 ...
随机推荐
- oracle 重启
一.在Linux下重启Oracle数据库及监听器: 方法1: 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart ...
- debian/ubuntu下安装nodejs npm
举例:在 /home 目录下 wget https://nodejs.org/dist/v16.17.1/node-v16.17.1-linux-x64.tar.xz nodejs官网下载地址,目前最 ...
- 从COM域名即将涨价看如何控制域名成本问题
我们很多站长在上周的时候应该陆续有收到各大域名注册商的推送邮件,将会在今年9月1日开始COM域名会涨价,当然涨价的福利也不是很大.标价大约是会到每个每年增加至9.99美元.可能我们有一些网友要说,有些 ...
- 对于小白如何才能学好Java
我们学习任何一种编程语言,不是去无目的的网上找太多的教程,而是首先从宏观了解它的基本思想方法定义概念,从宏观感受它的逻辑与抽象,然后是实践,不断的实践.今天我们看看网上给我们小白的一些学习建议. 一. ...
- k8s master节点高可用 nginx+keepalived配置文件
nginx配置 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; i ...
- We've detected suspicious behavior from phone numbers similar to yours. Please try again later or contact us through our help center at help.openai.com.
原因 很多人使用该地区号码,被限制住了 解决办法 过会儿再试,或者换个地区接码
- 2357. 使数组中所有元素都等于零 (Easy)
问题描述 2357. 使数组中所有元素都等于零 (Easy) 给你一个非负整数数组 nums .在一步操作中,你必须: 选出一个正整数 x , x 需要小于或等于 nums 中 最小 的 非零 元素. ...
- Collections.synchronizedList使用方法陷阱(1)
无意发现了这个例子,拿来记住 @NotThreadSafeclass BadListHelper <E> { public List<E> list = Collecti ...
- iOS底层原理02-alloc源码分析
首先,从最熟悉的入手 - 对象,看看这三个对象的内容,内存地址和指针地址. LGPerson *p1 = [LGPerson alloc]; LGPerson *p2 = [p1 init]; ...
- 记一次SpringBoot整合Redis的Bug
SpringBoot整合Redis遇见的坑 <!--Redis配置开始--> <dependency> <groupId>org.springframework.b ...