磁盘配额,程序包

磁盘配额

文件服务器:共享存储空间,让用户能够随时存储数据

FTP

SMB

网盘

磁盘配额:主要是针对这类文件服务器进行用户的磁盘空间使用限制而提出的。

磁盘配额的设定对象:

1.能够实施读写操作的块设备

2.要有正确的文件系统

磁盘配额限制哪些人的访问行为:

1.用户

为指定的用户限制磁盘使用量

1.磁盘空间(块)  一个block的限制,代表1KB的存储空间

2.inode的使用量

2.组

限制指定组中所有成员的磁盘使用量的总和

磁盘配额的类型:

soft limit:软限制

当用户的磁盘使用量达到了软配额限制,将会启动宽限期倒计时,在倒计时归零之前,用户可以正常使用剩余的配额量,但一旦倒计时归零,用户将不能继续使用磁盘空间,除非将数据进行清除,低于软限制,而后可以继续使用磁盘空间

hard limit:硬限制

用户能够使用的磁盘空间的真正上限

一般来讲,软限制要比硬限制的数值少一些

在Linux中默认的宽限期是七天

需要一个用户记录用户和组的磁盘使用量和配额量的数据文件

aquota.user

aquota.group

如果想要让分区或者卷能够支持磁盘配额的设定,需要单独的挂载选项:

usrquota, grpquota

1. ~]# mount -o userquota,grpquotaDEVICE MOUNT_POINT

2./etc/fstab

DEVICE MOUNT_POINT FSTYPE defaults,usrquota,grpquota 0 0

quotacheck

can a filesystem for disk usage, create,check and repair quota files

-g --group 创建 检测和修复组配额文件

-u --user 检测和修复用户配额文件

-c --create-files 经检测,如果没有用户配额文件和或组组配额文件,就安装用户给定的选项来进行创建

-v --verbose 显示整个操作过程的详细信息

-a, --all 所有在/etc/fstab文件中包含了与配额有关的挂载选项的设备上,是否有对应选项的配额文件

用于编写配额内容的命令

edquota:

-u, --user 编写用户配额,默认的功能

-g, --group 编写组配额

-t, --edit-period 设置超出软限制的宽限期,默认7天,可以选择秒,分钟,小时,天等时间单位

使配额功能生效:

quotaon ,quotaoff --开启和关闭配额功能

例: quotaon|quotaoff/dev/sdb1

查看配额的使用情况

quota -- display disk usage and limits

repquota --summarize quotas for afilesystem  只有root用户才能使用

注意:

root不受磁盘配额限制

linux的程序包管理:

程序=指令+数据

程序=算法+数据结构

应用程序存在形式:

1.源代码形式:包含了整个应用程序的编程语言的所有代码的文本文件

2.二进制:将源代码经过一系列的转换操作之后得到的可以直接执行的文件

使用源代码安装应用程序:

预处理(预处理器)-->编译(编译器)-->汇编(汇编器)-->链接(连接器)-->可以直接执行的二进制文件

POSIX:POS portable operating system 可移植操作系统

API:application programinterface 应用编程接口

ABI: application binary interface 应用二进制接口

库级别的兼容,库级别的虚拟化:

cywin:在Windows系统中能够模拟Linux的共享库

winE:在Linux系统中模拟Windows的库

应用级编程语言:

java/python/perl/ruby/PHP/GO

java:hadoop2,hbase,ELK,(JVM)

python:Openstack,saltstack,(PVM)

系统级编程语言:

C/C++

源代码编译:需要有编译开发环境支持

C/C++:编译开发环境:预处理器,编译器,头文件,开发库文件

java/python:编译开发环境:预处理器,编译器,开发库文件

通常情况下源代码文件是多个,因此这些文件之间存在着一定的关联关系,我们称这种关联关系为依赖关系

autoconf

automake

软件项目构建工具:

C/C++:make

java:maven

python:buildout

程序包管理器:在指定的系统中进行程序的安装,卸载,升级,查询校验等工作。

不同的Linux发行版本,有着不同的程序包管理器

Debian:dpt,Debian package toolkits, dpkg工具, .deb后缀名的包文件

Redhat:rpm,Rrdhat Package Manager,rpm工具, .rpm后缀名

rpm成为Linux的程序包管理器的行业标准

rpm是使用Perl语言编写的,用C语言重新rpm

rpm is package manager

S.u.S.E: rpm, .rpm后缀

Gentoo:采用了FreeBSD的portage的程序包管理机制,emerge的工具

ArchLinux:pacman

以centos为例,rpm程序包管理器的相关内容

centos的程序包管理器:

程序包的命名规则:

源代码包:

software_name-VERSION.tar.gz

VERSION: major.minor.release

major:主版本号,通常代表重大功能改进的版本分支

minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化

release:发行版本号,修复某些bug或者对某段代码进行了优化

rpm程序包:

源码包:

software_name-VERSION.src.rpm

二进制包:

software_name-VERSION-[release].[os].arch.rpm

VERSION:major.minor.release

[release]:rpm封包的发行版本号

[os]:软件所支持的操作系统版本,el6,el7,suse11...

arch:硬件平台架构类型,i386,i686

在制作rpm程序包的时候,通常其制作者会采用分包技术来构建rpm程序包

根据程序的不同功能,构建多个程序包

被分包的程序包一般分为两类:

主程序包:software_name-VERSION-[release].[os].arch.rpm

附属功能包:software_name-VERSION-function-[release].[os].arch.rpm

一般来讲,主程序包和附属功能包具有相同的版本号,发行版本号,操作系统及兼容平台的标识

所以,主程序包往往被所有的附属程序功能包所依赖,不安装主程序包就不能安装附属功能包。

function:devel,utils,libs,tools,manual...

程序包管理的前端工具:

RHEL| Centos系统的前端管理工具:yum,yellow dog update midifier

yum在实施软件的安装,升级,卸载等工作的时候,会开启事务。

事务:将整个操作过程视为一个整体,要么全执行,要么全不执行

Debian系的前端工具:apt-get,apt-cache

apt-get:实现安装卸载等功能

apt-cache:实现基于关键字进行搜索功能,管理本地缓存的及缓存的元数据

suse前端工具:zypper

rpm程序包管理器:

1.rpm命令行工具:

2.yam工具:

rpm命令行工具:

功能:

1.将编译好的应用程序的各个组成文件打包成一个或多个程序包文件

2.软件包的安装,卸载,升级,查询,校验及数据库管理功能

rpm程序包中文件的组成清单:

1.程序的文件

2.文件清单

3.在软件安装或卸载是运行的脚本文件,共分为四类:

preinstall:在正式的安装操作开始之前所运行的脚本,%pre

postinstall:在安装完成后所执行的脚本,%post

preuninstall:在正式卸载操作开始前所运行的脚本,%preun

postuninstall:在卸载完成后所执行的脚本,%postun

rpm数据库(公共):

已经安装好的程序包名称及版本

/var/lib/rpm

获取程序包的途径:

1.系统的发行版的光盘

2.官方的文件服务器或者镜像站点

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

https://mirrors.tuna.tsinghua.edu.cn

http://mirrors.hust.edu.cn

3.某个项目的官方站点

4.第三方组织制作的rpm程序包站点

Fedora EPEL:红帽官方的社区组织,在镜像站点中也包括EPEL镜像

搜索引擎:

http://pkgs.org

http://rpmfind.net

http://rpm.pbone.net

5.自己制作

建议:获得程序包后,实施完整性检查

来源合法性:

通过程序提供者的数字签名加密数据,我们通过其公共钥进行解密验证

程序包的完整性:

sha-1校验码

rpm命令行工具:

安装,卸载,升级(降级),查询,文件校验,验证,数据库管理维护

rpm命令的通用选项:

-v:显示详细信息,仅仅显示安装的软件名

-vv:显示非常详细的操作信息

安装:

rpm {-i|--install} [install-options]PACKAGE_FILE ..

install-options:

-h --hesh:用五十个#来表示安装进度

--test:并不是真正的安装软件包,仅仅是测试是否在安装时能够正常完成。dry run模式

--nodeps:忽略因为依赖关系导致的安装错误,不建议使用

--replacefiles:在安装软件包时,软件包中的文件会直接将原来的安装的文件替换

--replacepkgs:无需卸载软件包而重新安装

--noscripts:不运行任何脚本

--nopre

--nopost

--nosignature:不考虑软件包的来源是否合法;

--nodigest:不考虑软件包是否完整;

例:~]# rpm -ivh php-mysql-5.3.3-40.el6_6.x86_64.rpmphp-pdo-5.3.3-40.el6_6.x86_64.rpm

升级:

rpm {-U|--upgrade} [install-options]PACKAGE_FILE ...

如果选择被安装的程序事先并未安装,则全新安装,如果已经安装了旧版本,则可以升级安装

rpm {-F|--freshen} [install-options]PACKAGE_FILE ...

仅仅只能对已经安装的低版本的程序包进行升级安装

--oldpackage:降级安装,用老版本的程序包替换新版本的程序包

--force:强制升级

注意:

1.强烈建议,不要对内核进行升级操作,Linux可以支持多内核,可以直接安装新版本的内核,在启动界面可手动切换

2.升级安装可能会带来文件的变化,因此,系统默认不会直接更改之前安装过的软件的配置文件,新程序包中的配置文件会被重命名,通常会是:FINENAME.remnew

卸载:

rpm {-e|--erase} [--allmatches][--nodeps] [--noscripts]

[--notriggers] [--test] PACKAGE_NAME...

--allmatches:卸载所有匹配指定名称的程序包的各个版本

--nodeps:卸载时忽略依赖关系,不建议使用

--test:测试卸载,dry run模式

查询:

rpm {-q|--query} [select-options][query-options]

[select-options]

PACKAGE_NAME:直接给出程序包名

-a,--all:查询所有已经安装的程序包名;

~]# rpm -qa | grep mysql

-f,--file FILE:查找指定的文件是由哪个程序包提供的;

-p,--package PACKAGE_FILE:对还没有安装的程序包文件中执行查询操作

--whatprovides CAPABILITY:查询指定的CAPABILITY是由哪个程序包提供的

--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个程序包所依赖

[query-options]

--changelog:查询rpm程序包的changelog;

-c,--configfiles:查询指定程序包中有哪些是配置文件;

-d,--docfiles:查询指定程序包中有哪些文档文件;

-i,--info:查询程序包相关的信息,包括版本号,发行号,大小等;

-l,--list:列表显示程序包安装会生成哪些文件

--provides:列出指定程序包提供的所有的CAPABILITY;

-R,--requires:查询指定程序包的依赖关系;

--scripts:查看程序包所携带的脚本的内容;

具体使用方法:

-qf FILE

-qc|-ql|-qd|-qi PACKAGE_NAME

-qpl|-qpc|-qpd|-qpi PACKAGE_FILE

校验:

rpm {-V|--verify} [select-options] [verify-options]

S file Size differs

M Mode differs (includes permissions and file type)

5 digest (formerly MD5 sum) differs

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

P caPabilities differ

认证:

rpm --import /PATH/TO/KEY_FILE

rpm -K /PATH/TO/PACKAGE_FILE

数据库管理:

数据库的初始化和重建

/var/lib/rpm

rpm {--initdb|--rebuilddb}

[--dbpath DIRECTORY]

时间: 2024-11-05 02:20:07

磁盘配额,程序包的相关文章

Linux磁盘配额管理

▲为什么要使用磁盘配额quota? ????在linux系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况.然而系统资源是有限的,因此管理员应该适当的开放硬盘的权限给使用者,以妥善的分配系统资源 ? 磁盘配额程序对硬盘配额的限制项目: soft:软限制,也称最低容量限制.在宽限时间之内,使用者的容量可以超过最低容量限制.但必须在宽限时间之内将磁盘容量降低到最低容量的限制之下 hard:硬限制,也称最高容量限制.是绝对不能超过的容量 soft到hard之间的容量就是宽限容量 宽

程序包管理rpm、quota、磁盘配额

下面介绍的是磁盘配额.quota及相关命令.rpm程序包管理器.rpm命令行工具的功能等. 一.磁盘配额 1.磁盘配额功能:磁盘配额可以用来构建文件服务器. 文件服务器功能:用来共享存储空间,让用户能够随时存储数据. 常见的文件服务器有FTP.SMB.网盘.网盘(极速上传) 磁盘配额主要是针对这类文件服务器进行用户的磁盘空间使用限制而提出的. 2.磁盘配额的设定对象 (1).能够实施读写操作的块设备: (2).要有正确的文件系统. 3.磁盘配额主要限制哪些人的访问行为 (1).用户 磁盘配额为指

Linux程序包管理与初识磁盘

Linux 程序包管理 API:Application Binary Interface(应用程序的二进制接口) ABI:APPlication Program Inertface(应用程序的开发接口) Windows : exe,msi Windows与Linux不兼容 ELF:(Executale and Linkable Format):可执行可连接格式,linux运行格式 PE:(Portable  Executable)可移植可执格式Windows运行格式 库级别的虚拟化: 要想在Wi

22、磁盘管理—磁盘配额详解

磁盘容量配额 查看内核是否支持quota功能: 修改/etc/fstab添加支持磁盘配额选项 卸载.加载/web,并查看/web项 创建磁盘配额配置文件 对用户实现配额 测试用户配额 关闭磁盘配额 磁盘容量配额 Unix系统最初设计理念就让许多人一起使用,多任务的操作系统,但是硬件的资源是固定有限的,如果出现个小破坏份子不断的创建文件或下载电影,那么硬盘空间总有一天会被占满的吧,这时就需要quota服务帮助我们为每个用户限制可以使用的硬盘空间,一旦超出预算就不再允许他们使用. quota的磁盘配

Linux磁盘配额

1.相关命令和文件 quota.quotacheck.quotaon.quotaoff.quotastats.quotasync.repquota.edquota.setquota /etc/fstab aquota.user.aquota.group 2.语法说明 (1)quotacheck 执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制. 参数: -a 扫描在/etc/fstab

plsql的程序包package

9. 程序包--PACKAGE 9.1 包的定义和编译 包:一个PLSQL相关对象的逻辑分组和单个对象存储在数据库对象中的数据单元.相关的PLSQL对象包括:常量.变量.游标.异常.SP.FUN 包由两部分组成: 规范部分(包头.调用接口)  +  主体部分(包体.实现部分) (1) 包头的创建: create or replace package org_Master is     max_sites_for_an_org number;    type rc is ref cursor;  

[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) ——通过知识共享树立个人品牌.   继上七篇:            [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)            [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之

第十四章 磁盘配额

一.Quota的主要用途: 针对网站服务(www),IDC域名空间上一般会对网站空间做限制 针对企业邮箱,对每个用户邮箱使用可以做软硬限制 针对文件服务器,可以对每个用户来使用,ftp,nts等 我们需要注意的是我们可以针对用户和组设置最大软硬磁盘配额. 注意事项: 1.磁盘配额加载于内核中 2.只适用于ETX2/EXT3/EXT4文件系统,对目录是不起作用的哦,这一点要特别注意,虽然挂载点是一个目录,但他实际上是文件系统设备. 3.只针对于户或用户组,但root除外 4.针对用户组的限额,是指

磁盘配额设置及使用

当Linux根分区的磁盘空间耗尽时,Linux系统将无法再建立新的文件,从而出现服务程序崩溃.系统无法启动等故障现象,为了避免此问题,我么可以设置磁盘配额功能,对用户在指定文件系统中使用磁盘空间.文件数量进行限制,防止用户占用大量的磁盘空间,从而保持我们的系统存储空间可以稳定使用. 一.磁盘配额术语介绍: 磁盘配额对象式硬盘分区,并且要求Linux内核支持磁盘配额技术. 磁盘配额只对一般用户有效,对管理员来说是没有任何作用效果的. 软限制:soft:最低限制容量,可以被超过,但会有警告信息,超过