要使用ftp,需要安装ftp服务器。一般Linux系统会默认安装一个ftp服务器。
通过命令:
rpm -qa |grep vsftpd
可以知道是否已经安装了ftp服务器。
客户端要访问ftp服务器,需启动ftp服务器:
启动ftp:service vsftpd start另外两个命令:
停止ftp:service vsftpd stop 重启ftp:service vsftpd restart启动之后,客户端就可以用ftp进行访问了。
在用root账户进行访问时,可能会报“331 Permission denied”的错误。这是因为/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list 禁掉了root这个用户。在这两个文件中屏蔽掉root就可以正常访问了。
上传文件时,出现错误"553 Could not create file",解决方法如下:
1. setsebool -P ftpd_disable_trans 1 2. service vsftpd restart通过man ftpd_selinux查看帮助。
1、RPM--安装
[root@www ~]# rpm -ivh package_name 其他参数
选项与参数:
-i :install 的意思
-v :察看更细部的安装资讯画面
-h :以安装资讯列显示安装进度
--replacefiles 使用时机: 如果在安装的过程当中出现了‘某个档案已经被安装在你的系统上面’的资讯,又或许出现版本不合的讯息 (confilcting files) 时,可以使用这个参数来直接覆盖档案。
危险性: 覆盖的动作是无法复原的!所以,你必须要很清楚的知道被覆盖的档案是真的可以被覆盖喔!否则会欲哭无泪!
--replacepkgs 使用时机: 重新安装某个已经安装过的软体!如果你要安装一堆 RPM 软体档案时,可以使用 rpm -ivh *.rpm ,但若某些软体已经安装过了, 此时系统会出现‘某软体已安装’的资讯,导致无法继续安装。此时可使用这个选项来重复安装喔!
--force 使用时机:这个参数其实就是 --replacefiles 与 --replacepkgs 的综合体!
2、RPM--升级更新
-Uvh 后面接的软体即使没有安装过,则系统将予以直接安装; 若后面接的软体有安装过旧版,则系统自动更新至新版;
-Fvh 如果后面接的软体并未安装到你的 Linux 系统上,则该软体不会被安装;亦即只有已安装至你 Linux 系统内的软体会被‘升级’!
--force等参数也可以用的,同前。
3、RPM--查询,存在资料库/var/lib/rpm 中
[root@www ~]# rpm -qa <==已安装软体
[root@www ~]# rpm -q[licdR] 已安装的软体名称 <==已安装软体
[root@www ~]# rpm -qf 存在于系统上面的某个档名 <==已安装软体
[root@www ~]# rpm -qp[licdR] 未安装的某个档案名称 <==查阅RPM档案
常用的:
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软体名称;
-ql :列出该软体所有的档案与目录所在完整档名 (list);
-qc :列出该软体的所有设定档 (找出在 /etc/ 底下的档名而已)
-qd :列出该软体的所有说明档 (找出与 man 有关的档案而已)
-qf :由后面接的档案名称,找出该档案属于哪一个已安装的软体;
-qi :列出该软体的详细资讯 (information),包含开发商、版本与说明等;
-qR :列出与该软体有关的相依软体所含的档案 (Required 的意思)
4、RPM--验证检查,查看是不是有被改动过
[root@www ~]# rpm -Va
[root@www ~]# rpm -V 已安装的软体名称
[root@www ~]# rpm -Vp 某个 RPM 档案的档名
[root@www ~]# rpm -Vf 在系统上面的某个档案
选项与参数:
-V :后面加的是软体名称,若该软体所含的档案被更动过,才会列出来;
-Va :列出目前系统上面所有可能被更动过的档案;
-Vp :后面加的是档案名称,列出该软体内可能被更动过的档案;
-Vf :列出某个档案是否被更动过~
[root@www ~]# rpm -V logrotate
..5....T c /etc/logrotate.conf
至于最前面的八个资讯是:
S :(file Size differs) 档案的容量大小是否被改变
M :(Mode differs) 档案的类型或档案的属性 (rwx) 是否被改变?如是否可执行等参数已被改变
5 :(MD5 sum differs) MD5 这一种指纹码的内容已经不同
D :(Device major/minor number mis-match) 装置的主/次代码已经改变
L :(readLink(2) path mis-match) Link 路径已被改变
U :(User ownership differs) 档案的所属人已被改变
G :(Group ownership differs) 档案的所属群组已被改变
T :(mTime differs) 档案的建立时间已被改变
至于那个 c 代表的是‘ Config file ’的意思,也就是档案的类型,档案类型有底下这几类:
c :设定档 (config file)
d :文件资料档 (documentation)
g :鬼档案~通常是该档案不被某个软体所包含,较少发生!(ghost file)
l :授权档案 (license file)
r :读我档案 (read me)
5、数位签章GPG-KEY
a、首先你必须要先安装原厂释出的公钥档案;
b、实际安装原厂的 RPM 软体时, rpm 指令会去读取 RPM 档案的签章资讯,与本机系统内的签章资讯比对,
c、若签章相同则予以安装,若找不到相关的签章资讯时,则给予警告并且停止安装喔。
查找位置[root@www ~]# locate GPG-KEY
或[root@www ~]# find /etc -name '*GPG-KEY*'
安装:[root@www ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
查询是否安装过:rpm -qa | grep pubkey
6、RPM--软件卸载:rpm -e 程序名
7、重建RPM资料库:rpm --rebuilddb
1、与RPM区别:
档案格式 档名格式 直接安装与否 内含程式类型 可否修改参数并编译
RPM xxx.rpm 可 已编译 不可
SRPM xxx.src.rpm 不可 未编译之原始码 可
SRPM可理解为RPM的前期,它最终要变成RPM的,主要是因为它是原码,故可以跨版本。新版的 rpm 已经将 RPM 与 SRPM 的指令分开了,SRPM 使用的是 rpmbuild 这个指令,而不是 rpm。
2、参数:
--rebuild 进行‘编译’与‘打包’的动作,最后会产生 RPM 的档案,但是产生的 RPM 档案并没有安装到系统上。最后通常会发现一行字体:Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm
--recompile rebuild 仅‘编译并打包’而已,而 recompile 不但进行编译跟打包,还同时进行‘安装’了!
如:[root@www ~]# rpmbuild --rebuild rp-pppoe-3.5-32.1.src.rpm
3、SRPM--如何解开,修改后再打包回SRPM
rpm -i rp-pppoe-3.5-32.1.src.rpm # 过程不会显示任何东西,他只会将 SRPM 的档案解开后,放置到 /usr/src/redhat/
find /usr/src/redhat/ -type f #找文件,以程序名加.spec后缀的就是打包成SRPM的配置文件
改里面的信息后,重打包:
[root@www ~]# rpmbuild -ba rp-pppoe.spec <==编译并同时产生 RPM 与 SRPM 档案
[root@www ~]# rpmbuild -bb rp-pppoe.spec <==仅编译成 RPM 档案