linux磁盘配额和系统下软件包管理.docx

上传人:b****6 文档编号:6308643 上传时间:2023-01-05 格式:DOCX 页数:34 大小:330.41KB
下载 相关 举报
linux磁盘配额和系统下软件包管理.docx_第1页
第1页 / 共34页
linux磁盘配额和系统下软件包管理.docx_第2页
第2页 / 共34页
linux磁盘配额和系统下软件包管理.docx_第3页
第3页 / 共34页
linux磁盘配额和系统下软件包管理.docx_第4页
第4页 / 共34页
linux磁盘配额和系统下软件包管理.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

linux磁盘配额和系统下软件包管理.docx

《linux磁盘配额和系统下软件包管理.docx》由会员分享,可在线阅读,更多相关《linux磁盘配额和系统下软件包管理.docx(34页珍藏版)》请在冰豆网上搜索。

linux磁盘配额和系统下软件包管理.docx

linux磁盘配额和系统下软件包管理

RHEL5.3下的磁盘配额

一、原理

Linux下的磁盘配额可以针对各个用户和组对磁盘容量使用进行限制。

可以限制容量和文件的个数。

软限制:

在一段时间内允许超出限制(默认7天),可以使用#edquota-t来修改软限制宽限期

硬限制:

不允许超过限制

如果对于组来做限制,组成员“争用”限制,比如限制aa组为100M,BOB属于aa组,存了99M,其他人只能存1M。

二、实验

首先创建一个新分区,然后在所创建的新的分区下来进行磁盘配额的实验

1、查看新的磁盘分区(最好在虚拟机里面添加新的磁盘来做实验,我添加的是2G的scsi磁盘)

[root@localhost~]#fdisk-l

Disk/dev/sda:

8589MB,8589934592bytes

255heads,63sectors/track,1044cylinders

Units=cylindersof16065*512=8225280bytes

DeviceBootStartEndBlocksIdSystem

/dev/sda1*11310439183Linux

/dev/sda2147786144862+83Linux

/dev/sda37799091052257+82Linuxswap/Solaris

Disk/dev/sdb:

2147MB,2147483648bytes

255heads,63sectors/track,261cylinders

Units=cylindersof16065*512=8225280bytes

Disk/dev/sdbdoesn'tcontainavalidpartitiontable

2、创建新的磁盘分区

[root@localhost~]#fdisk/dev/sdb

DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel

BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,

untilyoudecidetowritethem.Afterthat,ofcourse,theprevious

contentwon'tberecoverable.

Warning:

invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)

Command(mforhelp):

n

Commandaction

eextended

pprimarypartition(1-4)

p

Partitionnumber(1-4):

1

Firstcylinder(1-261,default1):

Usingdefaultvalue1

Lastcylinderor+sizeor+sizeMor+sizeK(1-261,default261):

+100M

Command(mforhelp):

p

Disk/dev/sdb:

2147MB,2147483648bytes

255heads,63sectors/track,261cylinders

Units=cylindersof16065*512=8225280bytes

DeviceBootStartEndBlocksIdSystem

/dev/sdb111310439183Linux

Command(mforhelp):

w

Thepartitiontablehasbeenaltered!

Callingioctl()tore-readpartitiontable.

Syncingdisks.

3、格式化新添分区

[root@localhost~]#mkfs.ext3/dev/sdb1

mke2fs1.39(29-May-2006)

Filesystemlabel=

OStype:

Linux

Blocksize=1024(log=0)

Fragmentsize=1024(log=0)

26104inodes,104388blocks

5219blocks(5.00%)reservedforthesuperuser

Firstdatablock=1

Maximumfilesystemblocks=67371008

13blockgroups

8192blockspergroup,8192fragmentspergroup

2008inodespergroup

Superblockbackupsstoredonblocks:

8193,24577,40961,57345,73729

Writinginodetables:

done

Creatingjournal(4096blocks):

done

Writingsuperblocksandfilesystemaccountinginformation:

done

Thisfilesystemwillbeautomaticallycheckedevery25mountsor

180days,whichevercomesfirst.Usetune2fs-cor-itooverride.

4、将新添加分区挂载到/pub目录里面去,并实现开机自动挂载

[root@localhost~]#mkdir/pub

[root@localhost~]#cat/etc/fstab

LABEL=//ext3defaults11

LABEL=/boot/bootext3defaults12

tmpfs/dev/shmtmpfsdefaults00

devpts/dev/ptsdevptsgid=5,mode=62000

sysfs/syssysfsdefaults00

proc/procprocdefaults00

LABEL=SWAP-sda3swapswapdefaults00

/dev/sdb1/pubext3defaults00

5、挂载新添加分区

[root@localhost~]#mount/dev/sdb1/pub/

[root@localhost/]#chmod757/pub/

6、对pub分区做磁盘配额,修改/etc/fstab

[root@localhostpub]#cat/etc/fstab

LABEL=//ext3defaults11

LABEL=/boot/bootext3defaults12

tmpfs/dev/shmtmpfsdefaults00

devpts/dev/ptsdevptsgid=5,mode=62000

sysfs/syssysfsdefaults00

proc/procprocdefaults00

LABEL=SWAP-sda3swapswapdefaults00

/dev/sdb1/pubext3defaults,usrquota,grpquota00

7、重新挂载/pub分区

[root@localhostpub]#mount-oremount/pub

[root@localhostpub]#mount

/dev/sda2on/typeext3(rw)

procon/proctypeproc(rw)

sysfson/systypesysfs(rw)

devptson/dev/ptstypedevpts(rw,gid=5,mode=620)

/dev/sda1on/boottypeext3(rw)

tmpfson/dev/shmtypetmpfs(rw)

noneon/proc/sys/fs/binfmt_misctypebinfmt_misc(rw)

sunrpcon/var/lib/nfs/rpc_pipefstyperpc_pipefs(rw)

/dev/hdcon/media/VMwareToolstypeiso9660(ro,noexec,nosuid,nodev,uid=0)

/dev/sdb1on/pubtypeext3(rw,usrquota,grpquota)

8、创建配额文件

[root@localhostpub]#quotacheck-cmug/pub/

[root@localhostpub]#ls/pub

aquota.groupaquota.userlost+found

9、创建普通用户测试

[root@localhostpub]#useradduser01

[root@localhostpub]#passwduser01

Changingpasswordforuseruser01.

NewUNIXpassword:

BADPASSWORD:

itisWAYtooshort

RetypenewUNIXpassword:

passwd:

allauthenticationtokensupdatedsuccessfully.

10、对user01账户进行配额限制,软限制容量为10M,硬限制容量为20M,创建文件个数的软限制为5个,硬限制的文件个数为10个

[root@localhostpub]#edquota-uuser01

Diskquotasforuseruser01(uid500):

Filesystemblockssofthardinodessofthard

/dev/sdb1010000200000510

11、开启配额功能

[root@localhostpub]#quotaon/pub

12、容量验证

[user01@localhost~]#su–user01

[user01@localhost~]$ddif=/dev/zeroof=/pub/1.txtbs=15Kcount=1024

sdb1:

warning,userblockquotaexceeded.

1024+0recordsin

1024+0recordsout

15728640bytes(16MB)copied,0.110386seconds,142MB/s

[user01@localhost~]$ddif=/dev/zeroof=/pub/2.txtbs=15Kcount=1024

sdb1:

writefailed,userblocklimitreached.

sdb1:

writefailed,userblocklimitreached.

dd:

写入“/pub/2.txt”:

超出磁盘限额

304+0recordsin

303+0recordsout

4665344bytes(4.7MB)copied,0.0562608seconds,82.9MB/s

[user01@localhost~]$du-sh/pub/

du:

无法读取目录“/pub/lost+found”:

权限不够

20M/pub/

13、文件个数的限制验证

[user01@localhost~]$ls-l/pub

总计20026

-rw-rw-r--1user01user011572864005-0307:

551.txt

-rw-rw-r--1user01user01466534405-0307:

572.txt

-rw-------1rootroot716805-0307:

55aquota.group

-rw-------1rootroot716805-0307:

44aquota.user

drwx------2rootroot1228805-0307:

30lost+found

[user01@localhost~]$touch/pub/3.txt

[user01@localhost~]$touch/pub/4.txt

[user01@localhost~]$touch/pub/5.txt

sdb1:

writefailed,userblocklimitreached.

touch:

无法触碰“/pub/5.txt”:

超出磁盘限额

[user01@localhost~]$ls-l/pub/

总计20028

-rw-rw-r--1user01user011572864005-0307:

551.txt

-rw-rw-r--1user01user01466534405-0307:

572.txt

-rw-rw-r--1user01user01005-0307:

593.txt

-rw-rw-r--1user01user01005-0307:

594.txt

-rw-------1rootroot716805-0307:

55aquota.group

-rw-------1rootroot716805-0307:

44aquota.user

drwx------2rootroot1228805-0307:

30lost+found

14、磁盘配额的关闭及删除

[root@localhost/]#quotaoff/pub/

[root@localhost/]#rm-rf/pub/aquota.*

未完,待续。

Linux系统下软件包管理

提要:

在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础;只有我们学会软件包的管理才能谈得上其它的应用;软件包的安装、更新、查询,以及几个常用的软件包管理工具,比如system-cofig-packages、yum、apt等

一、软件包管理的基础;

1、什么是RPM,RPM有何用?

初次为Fedora/Redhat安装软件,我们应该学会RPM的安装和使用,也应该知道RPM是做什么用的;

RPM是RedHatPackageManager的缩写,本意是RedHat软件包管理,顾名思义是RedHat贡献出来的软件包管理;在Fedora、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用;

RPM包里面都包含什么?

里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;

一个RPM包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的,Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct9;Linux和Windows的系统原理是差不多的;

软件安装流程图:

说明:

1、RPM管理的软件的,对通过file.tar.gz或file.tar.bz2源码包用make;makeinstall安装的软件无效;

2、安装软件时,最好用各自发行版所提供的系统软件包管理工具;

1)Fedora系统管理软件包工具system-config-packages,方便的添加和移除系统安装盘提供的软件包;

2)Redhat系统管理软件包工具,新一点的系统应该是redhat-config-packages,用法system-config-packages一样;

3)apt+synaptic软件包在线安装、移除、升级工具;

4)yum软件包在线安装、升级、移除工具;

目前apt和yum已经极为成熟了,建议我们安装软件时,采用apt或者yum;如果安装系统盘提供的软件包,可以用system-config-packages或redhat-config-packages;

一、RPM包管理的用途;

1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;

2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;

3、可以在查询系统中的软件包是否安装以及其版本;

4、作为开发者可以把自己的程序打包为RPM包发布;

5、软件包签名GPG和MD5的导入、验证和签名发布

6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

二、RPM的使用权限;

RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;

三、rpm的一点简单用法;

我们除了软件包管理器以外,还能通过rpm命令来安装;是不是所有的软件包都能通过rpm命令来安装呢?

不是的,文件以.rpm后缀结尾的才行;

一)初始化rpm数据库;

通过rpm命令查询一个rpm包是否安装了,也是要通过rpm数据库来完成的;所以我们要经常用下面的两个命令来初始化rpm数据库;

[root@localhost]#rpm--initdb

[root@localhost]#rpm--rebuilddb注:

这个要花好长时间;

注:

这两个参数是极为有用,有时rpm系统出了问题,不能安装和查询,大多是这里出了问题;

二)RPM软件包管理的查询功能:

命令格式

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

RPM的查询功能是极为强大,是极为重要的功能之一;

1、对系统中已安装软件的查询;

1)查询系统已安装的软件;

语法:

rpm-q软件名

举例:

[root@localhost]#rpm-qgaim

gaim-1.3.0-1.fc4

-q就是--query,中文意思是“问”,此命令表示的是,是不是系统安装了gaim;如果已安装会有信息输出;如果没有安装,会输出gaim没有安装的信息;

查看系统中所有已经安装的包,要加-a参数;

[root@localhostRPMS]#rpm-qa

如果分页查看,再加一个管道|和more命令;

[root@localhostRPMS]#rpm-qa|more

在所有已经安装的软件包中查找某个软件,比如说gaim;可以用grep抽取出来;

[root@localhostRPMS]#rpm-qa|grepgaim

2)查询一个已经安装的文件属于哪个软件包;

语法rpm-qf文件名

注:

文件名所在的绝对路径要指出

举例:

[root@localhostRPMS]#rpm-qf/usr/lib/libacl.la

libacl-devel-2.2.23-8

3)查询已安装软件包都安装到何处;

语法:

rpm-ql软件名或rpmrpmquery-ql软件名

举例:

[root@localhostRPMS]#rpm-qllynx

[root@localhostRPMS]#rpmquery-qllynx

4)查询一个已安装软件包的信息

语法格式:

rpm-qi软件名

举例:

[root@localhostRPMS]#rpm-qilynx

5)查看一下已安装软件的配置文件;

语法格式:

rpm-qc软件名

举例:

[root@localhostRPMS]#rpm-qclynx

6)查看一个已经安装软件的文档安装位置:

语法格式:

rpm-qd软件名

举例:

[root@localhostRPMS]#rpm-qdlynx

7)查看一下已安装软件所依赖的软件包及文件;

语法格式:

rpm-qR软件名

举例:

[root@localhost]#rpm-qRrpm-python

查询已安装软件的总结:

对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如rpm-qil;比如:

[root@localhostRPMS]#rpm-qillynx

2、对于未安装的软件包的查看:

查看的前提是您有一个.rpm的文件,也就是说对既有软件file.rpm的查看等;

1)查看一个软件包的用途、版本等信息;

语法:

rpm-qpifile.rpm

举例:

[root@localhostRPMS]#rpm-qpilynx-2.8.5-23.i386.rpm

2)查看一件软件包所包含的文件;

语法:

rpm-qplfile.rpm

举例:

[root@localhostRPMS]#rpm-qpllynx-2.8.5-23.i386.rpm

3)查看软件包的文档所在的位置;

语法:

rpm-qpdfile.rpm

举例:

[root@localhostRPMS]#rpm-qpdlynx-2.8.5-23.i386.rpm

5)查看一个软件包的配置文件;

语法:

rpm-qpcfile.rpm

举例:

[root@localhostRPMS]#rpm-qpclynx-2.8.5-23.i386.rpm

6)查看一个软件包的依赖关系

语法:

rpm-qpRfile.rpm

举例:

[root@localhostarchives]#rpm-qpRyumex_0.42-3.0.fc4_noarch.rpm

/bin/bash

/usr/bin/python

config(yumex)=0.42-3.0.fc4

pygtk2

pygtk2-libglade

rpmlib(CompressedFileNames)<=3.0.4-1

rpmlib(PayloadFilesHavePrefix)<=4.0-1

usermode

yum>=2.3.2

三)软件包的安装、升级、删除等;

1、安装和升级一个rpm包;

[root@localhost]#rpm-vihfile.rpm注:

这个是用来安装一个新的rpm包;

[roo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1