??xml version="1.0" encoding="utf-8" standalone="yes"?>
01- 安裝system-config-bind這隻套g
02- ?usr/share/system-config-bind/profiles/下就可以扑ֈnamed.conf與zone
files.
03- 接下來把named.conf copy?/var/named/chroot/etc/
04- 再把zone files
copy?/var/named/chroot/var/named/
05-
最後把?/usr/share/doc/bind-*/sample/var/named/named.root
copy?span style="font-weight: bold;">/var/named/chroot/var/named/
這樣大功告成剩下的是自己改named.conf與新增網域正反解的zone
files囉!
原文地址Q?a style="color: #003793;" target="_blank">http://www.5ilinux.com/blog/archives/000082.html
转蝲h明出处和|名Qƈ请保持一?
proftp学习(fn)W记Q一Q?br />
q几天,公司l于攑ց了,l于可以安下心来好好学些proftp+mysql+quota?br />
安装proftp之前Q必d做一个工作,假如你的mysql是自q译的Q那必d修改/etc/ld.so.confQ否则后面运行proftp会报错?br />
vi /etc/ld.so.conf
d下面一?
代码Q?/strong>
/usr/local/mysql/lib/mysql
注意大家如果mysql的安装\径于我不一P则填写相应的路径Q有关mysql的编译安装请参考《Linux+Apache+Mysql+PHP典型配置》?br />
1。下载相兌Y?br />
代码Q?/strong>
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
下蝲proftp的最新版?.2.9
代码Q?/strong>
wget http://www.castaglia.org/proftpd/modules/proftpd-mod-quotatab-1.2.11.tar.gz
q是配合proftp的磁盘限额的模块
2。解压编?br />
代码Q?/strong>
tar zvxf proftpd-1.2.9.tar.gz
tar zvxf proftpd-mod-quotatab-1.2.11.tar.gz
cp mod_quotatab/*.c proftpd-1.2.9/contrib/
cp mod_quotatab/*.h proftpd-1.2.9/contrib/
vi proftpd-1.2.9/contrib/mod_sql_mysql.c
扑ֈ#include q一行,mysql.hҎ(gu)你的pȝ中此文g所在的路径Q如/usr/local/mysql/include/mysql/mysql.h
~译Q?br />
代码Q?/strong>
./configure "
--prefix=/usr/local/proftpd "
--with-modules=mod_sql:mod_sql_mysql:mod_quotatab"
:mod_quotatab_sql "
--with-includes=/usr/local/mysql/include/mysql "
--with-libraries=/usr/local/mysql/lib/mysql
make
make install
ok, 现在我们可以来启动proftp了,只要
代码Q?/strong>
/usr/local/proftpd/sbin/proftpd
用你的ftp客户端试验以下,应该可以正常登陆Q包括匿名和linux用户名可以?br />
其实默认的proftp满日常的服务器理用还是Ԓl有余的Q有个地方还是要修改一下,是默认proftp的配|文件不支持ftpl传Q所以我们只?br />
代码Q?/strong>
vi /usr/local/proftpd/etc/proftpd.conf
d以下两行
代码Q?/strong>
AllowRetrieveRestart on
AllowStoreRestart on
重新启动以下proftpQ就可以正常l传文g了?br />
创徏proftpd脚本
只要在proftp的源代码目录
代码Q?/strong>
cp proftpd-1.2.9/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
记得修改proftpd文gQ一般要修改proftpd的实际\?br />
代码Q?/strong>
chmod 755 /etc/rc.d/init.d/proftpd
ok
以后可以用q个教本来启动,停止Q重启proftp
呵呵Q今天就讲这些,明天讲些proftp的一些基配置Q)
===================================
原文地址Q?a style="color: #003793;" target="_blank">http://www.5ilinux.com/blog/archives/000085.html
转蝲h明出处和|名Qƈ请保持一?br />
proftp学习(fn)W记Q二Q?br />
上次我们讲了proftp的基本安装,׃我们后面有关于mysql和quota的设|,所以编译的时候把相应的模块都~译q去了,如果你不需要mysql和磁盘限额的功能Q完全可以不需要这么编译?br />
q里要讲一个非常实用的命oQ?br />
代码Q?/strong>
/usr/local/proftpd/sbin/ftpshut
q个命oq是比较实用的,因ؓ(f)你可能需要不断的调整你的服务器,而这个命令就非常灉|Q可以在不停止proftpdq程的前提下Q定时停止ftpq接Q这里将会详l说它是怎么使用的?br />
代码Q?/strong>
ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]
-l min: 在ftp关闭服务之前的几分钟内,试建立新的ftpq接均不被接?br />
-d min: 在ftp关闭服务之前的几分钟内,已经建立的ftpq接被中止
time: 在多时间后Q服务器关闭ftp服务Q格式有两种
Qnumber l过number分钟后关?br />
MMHH 在今天MMQHH服务器将关闭
注意Q这里我们用q个命o是把ftp服务l停了,但实际的proftpdq程q没停止Q所以一般调试ftp会用到q个命o?br />
举例Q?br />
再经q?0分钟后,FTP服务关闭,在这之前?0分钟不可接受M新的ftpq接Q已l徏立的在服务关闭前10分钟强制断线Qƈ在客L(fng)昄“FTP Server Will shutdown at time”
代码Q?/strong>
ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
其实ftpshut是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或?br />
直接
代码Q?/strong>
ftpshut -R
好了Q开始讲一些proftpd的基本配|吧Q其实大家如果熟(zhn)apache的配|的话,你会发现proftpd的设|基本都是类似的Q它的配|基本格式是
代码Q?/strong>
Q全局讄
讄目1 参数1
讄目2 参数2
Q某个目录的讄
<Directory "路径?>
...
...
</Directory>
Q关于匿名用L(fng)讄
<Anonymous "匿名登陆的目?>
...
...
<Limit 限制动作>
...
...
</Limit>
</Anonymous>
我们用到的比较多的可能是Limit的用,Limit大致有以下动作,基本能覆盖全部的权限了,大家灉|使用是了?br />
代码Q?/strong>
CMDQChange Working Directory 改变目录
MKDQMaKe Directory 建立目录的权?br />
RNFRQ?ReName FRom 更改目录名的权限
DELEQDELEte 删除文g的权?br />
RMDQReMove Directory 删除目录的权?br />
RETRQRETRieve 从服务端下蝲到客L(fng)的权?br />
STORQSTORe 从客L(fng)上传到服务端的权?br />
READQ可ȝ权限Q不包括列目录的权限Q相当于RETRQSTAT{?br />
WRITEQ写文g或者目录的权限Q包括MKD和RMD
DIRSQ是否允许列目录Q相当于LISTQNLST{权限,q是比较实用?br />
ALLQ所有权?br />
LOGINQ是否允许登陆的权限
针对上面q个Limit所应用的对象,又包括以下范?
代码Q?/strong>
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户止的Limit
AllowGroup 针对某个用户l允许的Limit
DenyGroup 针对某个用户l禁止的Limit
AllowAll 针对所有用L(fng)允许的Limit
DenyAll 针对所有用L(fng)止的Limit
关于限制速率的参Cؓ(f)Q?
代码Q?/strong>
TransferRate STOR|RETR 速度QKbytes/sQ?user 使用?/td>
下面我们以例子来解说proftp的配|,q样大家可能更加Ҏ(gu)理解?br />
1。ftp服务器支持断点箋传,且最大支持同?0人在U,每个ip只允怸个连接;
2。允许ftpusers用户l只能访问自q目录Q而不能访问上U或者其他目录;
3。用L(fng)陆服务器时不昄ftp服务器版本信息,以增加安全性;
4。徏立一个kaoyan的ftp帐户Q属于ftpusersl,kaoyan用户只允怸载,没有可写的权限。下载速率限制?0Kbytes/s?br />
5。徏立一个upload用户Q也属于ftpusersl,同kaoyan用户的宿ȝ录一P允许upload用户上传文g和创建目录的权限Q但不允怸载,q且不允许删除目录和文g的权限,上传的速率控制?00Kbytes/s
先是前期的用户和l添加以及目录的权限讄
代码Q?/strong>
group add ftpusers
useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan
useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload
chown -R kaoyan:upload /home/kaoyan
chmod -R 775 /home/kaoyan
如果你只想ftpusersl的用户讉KQ可以设|成770都行?br />
讄/usr/local/proftpd/etc/proftpd.conf
注意#表示注释Q对讄没媄响,可以不写
代码Q?/strong>
ServerName "Frank's FTP Server"
ServerType standalone
DefaultServer on
Port 21
Umask 022
MaxInstances 30 #最多有30个proftpd的PID
User nobody
Group nobody
TimeoutStalled 10
MaxClients 10 #最多允?0个用户在U?br />
MaxClientsPerHost 1 "对不P一个IP只允怸个连?
AllowStoreRestart on
#允许断点l传Q上传)Q断点箋l(下蝲Q是默认支持的,不用讄
DisplayLogin welcome.msg #Ƣ迎词文?br />
ServerIdent off #屏蔽服务器版本信?br />
DefaultRoot ~ ftpusers #讄ftpusersl只能访问自q目录
<Directory />
AllowOverwrite on
</Directory>
<Directory /home/kaoyan>
<Limit WRITE> #不允许写
DenyUser kaoyan
</Limit>
<Limit RMD RNFR DELE RETR> #不允许删除,改名Q下?br />
DenyUser upload
</Limit>
TransferRate RETR 50 user kaoyan
TransferRate STOR 100 user upload
</Directory>
我这里实现的方式q可以通过
代码Q?/strong>
<Anonymous ~kaoyan>
...
...
</Anonymous>
<><Anonymous ~upload>
...
...
</Anonymous>
而且更加灉|Q具体用那种方式Q看大家了,我只是给大家入个门而已
好了Q今天就讲到q里Q明天l讲一些proftp的其他配|?br />
======================================
原文地址Q?a style="color: #003793;" target="_blank">http://www.5ilinux.com/blog/archives/000088.html
转蝲h明出处和|名Qƈ请保持一?
proftp学习(fn)W记Q三Q?br />
前面的两个笔讎ͼ我想大家对proftp的设|应该有些认?是不是跟apache的配|差不多吧。我想配|过Serv_U服务器的Q再E微看一下proftp的配|规则,应该能马上能配置Z个强大的proftp服务器?br />
q里我们再讲一些proftp的其他参数配|:
MaxHostsPerUser 1 "对不P每个帐户最多允许来源ip??
#MaxHostsPerUser 寚w止ftp帐号q是比较有用的?br />
MaxClientsPerUser 1 "对不P每个帐户在每个客L(fng)最多可以同时登??
#q个参数可以防止多线EY件下载对服务器的破坏
MaxClientsPerHost 1 "对不P同一个客L(fng)只能最?个帐号可以登?
#比如ftp服务端有好多帐户你都有,但也只能?个帐L(fng)?br />
呵呵Q这三个Max参数比较Ҏ(gu)搞晕Q大家可要搞清他们的含义哦:Q?br />
WtmpLog on
#是否要把ftp记录在日志中Q如果不惛_以设|成off屏蔽掉log日志?br />
TimeoutIdle 600
#客户端idel旉讄Q默认就?00U?br />
DisplayLogin welcome.msg
#讄ftp登陆Ƣ迎信息文g
关于Ƣ迎文g的设|包含如下参?br />
代码Q?/strong>
%T 目前的时?
%F 所在硬盘剩下的定w
%C 目前所在的目录
%R Client 端的L名称
%L Server 端的L名称
%U 使用者帐户名U?
%M 最大允许连接h?
%N 目前的服务器q接人数
%E FTP服务器管理员?email
%i 本次上传的文件数?
%o 本次下蝲的文件数?
%t 本次上传+下蝲的文件数?/td>
知道q些参数Q我们就可以写出一个友好的Ƣ迎?br />
vi /home/kaoyan/welcome.msg
代码Q?/strong>
Ƣ迎(zhn)?UQ?q是Frank的测试FTP服务器;
目前旉是:%TQ?br />
本服务器最多允?M个用戯接数Q?br />
目前服务器上已有%N个用戯接数Q?br />
目前你所在的目录?C;
目录所在的盘q剩?F字节?/td>
让proftp支持现在行的FXP传输方式Q默认是不支持的?br />
只要在服务端讄
代码Q?/strong>
AllowForeignAddress on
PassivePorts 49152 65534 #端口也可自己指定喜欢?/td>
千万别忘了在客户端也要设|成支持FXP哦,否则x试验了好几次Q一直以为服务器没设|好Q其实就是客L(fng)没设|,呵呵?br />
如何让root能登陆,默认proftp是不支持root登陆Q我们可以设|让root也能登陆ftpQ不q我在这里还是徏议大家最好不要让root能登陆ftpQ设|如?br />
代码Q?/strong>
同时要修?/etc/ftpusers 在root前加#注释?br />
如何止某个地址讉Kftp
RootLogin on
比如止10.1.1|段的机器访问ftpQ可以这么设|?br />
代码Q?/strong>
<Limit LOGIN>
Order deny,allow
Deny from 10.1.1.
Allow from all
</Limit>
虚拟ftp的徏立,一般用于一台ftp服务器有好多ip地址Q或者f(xi)tp用不同的端口Q基本设|语法是:
比如我们要做一个端口是5555的ftp服务器:
代码Q?/strong>
<VirtualHost 210.51.0.124>
ServerName "Frank FTP Server"
Port 5555
...
<Directory 目录>
...
<Limit 动作>
...
</Limit>
...
</Directory>
</VirtualHost>
至于虚拟L中的其他讄跟我以前讲的基本差不?br />
上传/下蝲比率讄Q我想用qServ_U的朋友一定知道这个功能的使用Q我们这里让proftp也实现这个功能?br />
要实现功能注意编译的时候加入ratio模块Q否则proftp默认是不支持Q假设有个帐户ftp1的ftp目录?home/kaoyan Q然后我们设|ftp1的上?下蝲比率?Q?Q即上传1MQ就可以下蝲2MQ?br />
代码Q?/strong>
touch /home/kaoyan/ratio.dat
touch /home/kaoyan/ratio.tmp
chmod -R 666 /home/kaoyan
在proftpd.conf讄如下
代码Q?/strong>
Ratios on
SaveRatios on
RatioFile /home/kaoyan/ratio.dat
RatioTempFile /home/kaoyan/ratio.tmp
在相应的讄wd
代码Q?/strong>
UserRatio ftp1 0 0 2 1000
#UserRatio "使用者帐? fileratio filequota byteratio bytequota
# fileratio Q以文g为基的比率,通常不限Ӟ故ؓ(f) 0
# filequota Q预讄能下载多文Ӟ不限制时?0
# byteratio Q就是上?下蝲的比?如果数字?Q表C?:2
# bytequota Q预讄能下载多?KBytes 的文?br />
#上面讄的就?Q?的比率,默认只允怸?M的文?/td>
ok,重启一下,以后ftp1可以启用上?下蝲比率?br />
=======================================
原文地址Q?a style="color: #003793;" target="_blank">http://www.5ilinux.com/blog/archives/000091.html
转蝲h明出处和|名Qƈ请保持一?br />
proftp学习(fn)W记Q四Q?br />
今天我们讲proftpQmysqlQquota的应用,我想大家最期待的就是这个了?br />
1.首先我们建立相应的用户和用户l?br />
代码Q?/strong>
groupadd -g 5500 ftpgroup
adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
2.操作数据?br />
代码Q?/strong>
mysql mysql -uroot -ppassword
create database ftpdb
grant select, update on ftpdb.* to proftpd@localhost identified by 'password'
use ftpdb
CREATE TABLE `ftpgroup` (
`groupname` varchar(16) NOT NULL default '',
`gid` smallint(6) NOT NULL default '5500',
`members` varchar(16) NOT NULL default '',
KEY `groupname` (`groupname`)
) TYPE=MyISAM COMMENT='ProFTP group table';
INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');
CREATE TABLE `ftpquotalimits` (
`name` varchar(30) default NULL,
`quota_type` enum('user','group','class','all') NOT NULL default 'user',
`per_session` enum('false','true') NOT NULL default 'false',
`limit_type` enum('soft','hard') NOT NULL default 'soft',
`bytes_in_avail` float NOT NULL default '0',
`bytes_out_avail` float NOT NULL default '0',
`bytes_xfer_avail` float NOT NULL default '0',
`files_in_avail` int(10) unsigned NOT NULL default '0',
`files_out_avail` int(10) unsigned NOT NULL default '0',
`files_xfer_avail` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;
CREATE TABLE `ftpquotatallies` (
`name` varchar(30) NOT NULL default '',
`quota_type` enum('user','group','class','all') NOT NULL default 'user',
`bytes_in_used` float NOT NULL default '0',
`bytes_out_used` float NOT NULL default '0',
`bytes_xfer_used` float NOT NULL default '0',
`files_in_used` int(10) unsigned NOT NULL default '0',
`files_out_used` int(10) unsigned NOT NULL default '0',
`files_xfer_used` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;
CREATE TABLE `ftpuser` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`uid` smallint(6) NOT NULL default '5500',
`gid` smallint(6) NOT NULL default '5500',
`homedir` varchar(255) NOT NULL default '',
`shell` varchar(16) NOT NULL default '/sbin/nologin',
`count` int(11) NOT NULL default '0',
`accessed` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='ProFTP user table';
注意q里大家Ҏ(gu)实际情况填写自己数据库的用户名和密码Q如果大家对数据库操作不熟?zhn)的话Q不妨可以用phpmyadmin来操作?br />
3.配置proftp文g
代码Q?/strong>
ServerName "Frank's FTP Server" ServerType standalone DefaultServer on
Port 21
Umask 022
MaxInstances 30
MaxLoginAttempts 3
User nobody
Group nobody
MaxHostsPerUser 1 "Sorry, you may not connect more than one time."
MaxClientsPerUser 2 "Only one such user at a time."
MaxClientsPerHost 3 "Sorry, you may not connect more than one time."
RootLogin off
RequireValidShell off
TimeoutStalled 10
MaxClients 10
AllowForeignAddress on
AllowStoreRestart on
ServerIdent off
DefaultRoot ~ ftpgroup
SQLAuthTypes Backend Plaintext
#Backend表示用户认证方式为MySQL数据库的认证方式
#Plaintext表示明文认证方式Q排在最前面的ؓ(f)最先用的方式
SQLAuthenticate users* groups*
# databasename@host database_user user_password
SQLConnectInfo ftpdb@localhost proftpd password
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLGroupInfo ftpgroup groupname gid members
SQLHomedirOnDemand on
#如果用户ȝ录不存在Q则pȝ会根据此用户在用h据表中的homedir字段的值新Z个目?br />
# Update count every time user logs in
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1,accessed=now() WHERE userid='%u'" ftpuser
# Update modified everytime user uploads or deletes a file
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on
QuotaLog "/var/log/quota"
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avai
l, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}'
AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_i
n_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used
+ %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_
out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquota
tallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
ok,p么简单,重启一下proftp服务已l能使用proftpQmysqlQquota的功?br />
我们可以在数据库ftpuserd一个虚拟用P
代码Q?/strong>
INSERT INTO `ftpuser` VALUES (1, 'test', 'ftppasswd', 5500, 5500, '/home/test', '/sbin/nologin');
大家可以在phpmyadmin里直接操作添加一个用P怿不用我教大家怎么d吧:Q?br />
如果你想讄quotaQ只要在ftpquotalimits表里讄一下就行了Q这个表里的各个参数分别代表Q?br />
代码Q?/strong>
quotalimits?
nameQ?- 用户帐号
quota typeQ?- user, group, class, all (we use user)
per_sessionQ?- true or false (we use true)
limit_typeQ?- 限?or 软限?(我们一般用限?
bytes_in_availQ?- 允许上传的字节数
bytes_out_availQ?- 允许下蝲的字节数
bytes_xfer_availQ?- 允许传输的字节数Q包括上?下蝲Q?br />
files_in_availQ?- 允许上传的文件数
files_out_availQ?- 允许下蝲的文件数
files_xfer_availQ?- 允许传输的文件数Q包括上?下蝲Q?/td>
老实说用mysql和quota模块来验证用户和讄盘限额Q但我总觉得还是不够完善,因ؓ(f)在这个方法中Q数据库表里q没有相应的权限的字D,所以说?
应用L(fng)权限q是得用实际得用户即mysql对应得uid和gid来控制权限,那天要是mysql数据库也能完全控制权限就好了?br />
q个春节一直在学习(fn)proftpQ终于可以松口气了,希望我的学习(fn)W记可以对一些想学习(fn)proftp的朋友有所帮助Q请多交?
打开tomcatȝ录下的子目录conf里面的tomcat-users.xml文gQ用户配|内容如?
<tomcat-users>
<user name="tomcat" password="tomcat" roles="tomcat" />
<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
</tomcat-users>
当点M上的连接想q入理界面的时候,我试着用文仉面提到的用户名和密码登陆Q得到的却是Q?br />
HTTP Status 403 - Access to the requested resource has been denied
讉K被拒l。难道说q些用户都没有管理员的资|那管理员的用户名和密码怎么知道呢?
仔细再看了tomcat-users.xmlQ发现其中提刎ͼ
<!--
NOTE: By default, no user is included in the "manager" role required
to operate the "/manager" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
才恍然大(zhn)。接下来Q根据上面那D|字的意思,修改tomcat-users.xml文gQ在其中d理员角?manager)Q以及管理员用户(admin)和密?admin)Q修改后如下Q?br />
<tomcat-users>
<role rolename="manager"/>
<user name="tomcat" password="tomcat" roles="tomcat" />
<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
<user username="admin" password="admin" roles="manager"/>
</tomcat-users>
最后,重启tomcatQ在q入理面的时候,用管理员用户admin和密码adminQ登陆ok?/p>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1787504
? yum特点
*可以同时配置多个资源?Repository)
*z的配置文g(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问?br />
*使用方便
*保持与RPM数据库的一致?/p>
? yum安装
Fedora自带
#rpm -ivh yum-2.0.4-2.noarch.rpm
? yum配置
?修改和增加配|文件中的资源库,加快下蝲速度和拥有更多可更新的rpm?br />
?etc/yum.conf的内容全部替换ؓ(f)
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
tolerant=1
exactarch=1
[fedora-us-1]
name=Fedora Core 1 -- Fedora US mirror
baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os
[fedora-us-1-updates]
name=Fedora Core 1 updates -- Fedora US mirror
baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates
[fedora-us-1-stable]
name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirror
baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
? yum应用
?当第一ơ用yum或yum资源库有更新?yum会自动下载所有所需的headers攄?var/cache/yum目录?所需旉可能较长.
查有哪些可更新的rpm?br /> #yum check-update
安装rpm??a target="_self">xmms可以播放mp3
#yum install xmms-mp3
安装mplayer,同时自动安装相关的Y?br /> #yum install mplayer
删除licq?同时删除与该包有倚赖性的?br />
#yum remove licq
?同时会提C删除licq-gnome,licq-qt,licq-text,非常方便
pȝ更新(更新所有可以升U的rpm?包括kernel)
#yum -y update
每天定期执行pȝ更新
#chkconfig yum on
#service yum start
? yum指o详解
*rpm包的更新
查可更新的rpm?br /> #yum check-update
更新所有的rpm?br /> #yum update
更新指定的rpm?如更新kernel和kernel source
#yum update kernel kernel-source
大规模的版本升,与yum update不同的是,q旧的淘汰的包也升
#yum upgrade
*rpm包的安装和删?/p>
安装rpm?如xmms-mp3
#yum install xmms-mp3
删除rpm?包括与该包有倚赖性的?br />
#yum remove licq
?同时会提C删除licq-gnome,licq-qt,licq-text
*yum暂存(/var/cache/yum/)的相兛_?br />
清除暂存中rpm包文?br />
#yum clean packages
清除暂存中rpm头文?br /> #yum clean headers
清除暂存中旧的rpm头文?br /> #yum clean oldheaders
清除暂存中旧的rpm头文件和包文?br />
#yum clean ?yum clean all
?相当于yum clean packages + yum clean oldheaders
*rpm包列?/p>
列出资源库中所有可以安装或更新的rpm?br /> #yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm?br />
#yum list mozilla
#yum list mozilla*
?可以在rpm包名中用匹配符,如列出所有以mozilla开头的rpm?/p>
列出资源库中所有可以更新的rpm?br /> #yum list updates
列出已经安装的所有的rpm?br /> #yum list installed
列出已经安装的但是不包含在资源库中的rpm?br />
#yum list extras
?通过其它|站下蝲安装的rpm?/p>
*rpm包信息显C?info参数同list)
列出资源库中所有可以安装或更新的rpm包的信息
#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
#yum info mozilla
#yum info mozilla*
?可以在rpm包名中用匹配符,如列出所有以mozilla开头的rpm包的信息
列出资源库中所有可以更新的rpm包的信息
#yum info updates
列出已经安装的所有的rpm包的信息
#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息
#yum info extras
?通过其它|站下蝲安装的rpm包的信息
*搜烦rpm?br />
搜烦匚w特定字符的rpm?br />
#yum search mozilla
?在rpm包名,包描q等中搜?/p>
搜烦有包含特定文件名的rpm?br /> #yum provides realplay
? 安全的更新freshrpms.net的rpm?br />
安装f(xi)reshrpms.net的GPG key
#rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt
~辑/etc/yum.conf,增加以下信息到尾?br />
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
?
查GPG Key
# rpm -qa gpg-pubkey*
昄Key信息
#rpm -qi gpg-pubkey-e42d547b-3960bdf1
删除Key
#rpm -e gpg-pubkey-e42d547b-3960bdf1
yum是干什么的
使用redhatQfedora的linuxer肯定都ؓ(f)rpm著名的dependency
hell而头?q也是所有基于rpm发行版都有的问题)。foo is needed by barQbar is needed by
foo。要装卸个YӞq得辛辛苦苦地梳理清楚所有依赖性问题,rpm的几个搜索站Ҏ(gu)了时常光儡场所Q如果不q碰到@环依赖,那就只有q瞪眼的分了?
有时加个--nodeps参数Q倒是g见,心不烦,但这栯上的软gQ你能保证正怋用吗Q这样卸载YӞ你能保证不媄响其它Y件工作吗Q恐怕谁也不?
l出肯定的答案。每到这Ӟ帽子们只有看着debian的apt
暗自慕了。好在,q些都已l成L了。基于rpm的发行版现在也有了像apt那样?
动解决依赖关pȝ包管理工具了。其中一个著名的是apt4rpm,q基本上是debianpȝapt的在rpm发行版的UL。但是用Redhat?
Fedora的linuxer你们知道吗,q有一个与apt功能cM的rpm包管理系l,那就是yum。Fedorapȝ已经自带QRedhat也有相应
的rpm下蝲。与apt相比Qyum的功能一点也不弱Q甚臌有许多胜qapt
之处。比如说Qyum是Fedorapȝ自带的,因此它能使用fedora官方的Y件源Q完成各U官?a target="_self">发布的各U升U。对于第三方软g源的支持Qyum?不差Q大多数支持apt的repository注,也能支持yumQ比如说freshrpms,fedora.us,livna{等。此外yum有一个比?详细?a target="_self">logQ可以查看何时升U安装了什么Y件包{。yum的代码较apt更ؓ(f)_{?/p>
————————————————以下是deemstoned——————————————?br />
注:q个单词我也不太认识Q后来到|上查了一下:http://man.chinaunix.net/develop/cvsdoc_zh/Repository.html
deemstone的理解:rpm文g是安装包Q而yum和其他的一些YӞ如:Debian下的aptQ是理q些安装包(自动安装Q自动解军_之间的依赖关p?#8230;…Q的软g?br />
————————————————————————————————————————?/p>
YUM?
yumQ是Yellow dog Updater, Modified的简Uͼ起初是由yellow dogq一发行版的开发者Terra Soft研发Q用python写成Q那时还叫做yup(yellow dog updater)Q后l杜克大学的Linux@Duke开
发团队进行改q,遂有此名。yum的宗旨是自动化地升Q安?U除rpm包,攉rpm包的?
关信息,查依赖性ƈ自动提示用户解决。yum的关键之处是要有可靠的repositoryQ顾名思义Q这是Y件的仓库Q它可以是http或ftp站点Q?
也可以是本地软g池,但必d含rpm的headerQheader包括了rpm包的各种信息Q包括描qͼ功能Q提供的文gQ依赖性等.正是攉了这?
headerq加以分析,才能自动化地完成余下的Q务?br />
如果没有安装,先我们要C面的地址下蝲与自ql相对应的版本的 yumQ?br />
http://ayo.freshrpms.net/
比如我用的是Fedora core 4.0 ׃载如下的包安装:
[root@localhost beinan]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm
warning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b
Preparing... ########################################### [100%]
1:freshrpms-release ########################################### [100%]
YUM的配|文?br /> yum的一切配|信息都储存在一个叫yum.conf的配|文件中Q通常位于/etc?录下Q这是整个yumpȝ的重中之重,所以有必要详细介绍。下面是一个从|上找来的yum.con文gQ让我们以此ZQ进行说明?
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=1
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://download.atrpms.net/mirrors/fedoracore/$releasever/$basearch/os
http://rpmfind.net/linux/fedora/cor...er/$basearch/os
http://mirror.clarkson.edu/pub/dist...er/$basearch/os
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
转自Q?a >http://blog.chinaunix.net/u/32645/showart.php?id=258653
1.修改/etc/yum.repos.d/CentOS-Base.repo?
|
2.执行:
64?
32?
3.执行