皮皮网

【程序员为什么要读源码】【书本溯源码核验】【论坛源码下载地址】vsftpd源码使用

2024-12-23 01:34:03 来源:saas源码 培训

1.Linux安装软件的源码方法哪种好?
2.CentOS 6.4中出现Vsftpd中文乱码解决过程

vsftpd源码使用

Linux安装软件的方法哪种好?

       根据个人以及系统的实际情况而定,一般RPM包的使用方法比较简单。

       软件安装分几种情况:

       一、源码源码安装:

       对于本身具有开源血统的使用Linux系统来说,几乎所有的源码开源软件都支持在Linux平台运行,而这些软件一般都以源码打包形式分发,使用程序员为什么要读源码源码安装适用于所有Linux分支,源码只需要系统安装了gcc、使用make、源码以及automake和autoconf,使用源码安装的源码一般方法如下:

       1、cd 源码目录

       2、使用./configure [opts]

       3、源码make

       4、使用make install

       其中configure后面的源码选项一般可以通过./configure --help来查询,根据自己的喜好使用一些选项。这里正确的工作流程是先看源码目录下面的Readme,这里一般会有提示安装方法,那么只需要按照描述照办即可,书本溯源码核验如果Readme没有提示(事实上很少),如果其中提及到官网,可以到官网去查阅相关安装文档,如果没有,可以google搜索软件的安装方法。

       2. rpm包安装

       RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,几乎在所有的Linux平台上都支持,已经成为行业标准。这里简单介绍一下包管理器,论坛源码下载地址包管理器提供

       对软件的安装、升级、查询以及卸载等,具体差别可以查阅相关文档。rpm包的安装非常简单,只需要输入rpm -i xxx.rpm 即可完成,卸载只需要rpm -e 包名 即可完成,升级通过rpm -U 包名 命令完成(需要机器联网),rpm -q 提供相关查询,go nsp源码解析这里不详细说明。如果机器没联网,rpm安装安装过程很有可能出现错误,最常见的就是依赖包缺失,把缺失的依赖包安装即可;如果在机器联网的情况下,rpm会自动在互联网搜索相关依赖包并安装。

       3. deb包安装

        deb是debian及其衍生版本如Ubuntu的安装包,在这两个系统的桌面环境下,可双击包直接安装,剪贴板 源码在命令行下可以通过dpkg-i xxx.deb完成,通过dpkg -r 包名

       完成。很多的Linux分支都提供了apt-get包管理系统来对deb软件包进行支持,apt-get需要机器联网,通过source.list文件提供的源(下载源)去下载相应软件包,通过输入命令apt-get install 软件包名 直接安装软件,输入 apt-get remove 软件包名 卸载对应软件包,这里不赘述命令,apt-get 包管理器实施对依赖包的管理,所以非常方便。在国内可以找一些速度快的源(更改source.list文件),具体方法可以查阅相关文档。

       4. yum安装软件包

       Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的软件包管理器,yum也对依赖关系进行管理,必须在联网条件下进行

       (也可以给yum设置代理),使用yum安装软件也是本人最常用的方法,在shell命令行下输入yum install 软件包名 即可完成安装,如果依赖包没安装,会自动安装,卸载通过yum remove 包名 即可完成,与apt-get 类似。

CentOS 6.4中出现Vsftpd中文乱码解决过程

       Windows客户端访问FTP应用服务器出现乱码。这是由于UTF-8与GBK不兼容而头疼的引起的,采用源码方式编译安装就可将此问题解决。

乱码解决过程

       1、首先使用 rpm -e vsftpd卸载系统安装的默认VSFTPD应用服务器:

       [root@localhost ~]# rpm -e vsftpd

       2、从d

       、进入源码包下的 SPECS目录,并使用rpmbuild -bb vsftpd.spec命令生成vsftpd-2.2.2-.el6.1.x_.rpm:

       [root@localhost SPECS]# rpmbuild -bb vsftpd.spec

       此时因为系统缺少依赖包会报如下错误:

       error: Failed build dependencies:

       libcap-devel is needed by vsftpd-2.2.2-.el6.1.x_

       tcp_wrappers-devel is needed by vsftpd-2.2.2-.el6.1.x_

       我们可以从CentOS6.4安装盘中找到如下RPM软件包进行手动安装,包名如下:

       libattr-2.4.-7.el6.i.rpm libcap-devel-2.-5.5.el6.x_.rpm

       libattr-2.4.-7.el6.x_.rpm tcp_wrappers-devel-7.6-.el6.i.rpm

       libattr-devel-2.4.-7.el6.i.rpm tcp_wrappers-devel-7.6-.el6.x_.rpm

       libattr-devel-2.4.-7.el6.x_.rpm tcp_wrappers-libs-7.6-.el6.i.rpm

       libcap-2.-5.5.el6.i.rpm tcp_wrappers-libs-7.6-.el6.x_.rpm

       libcap-2.-5.5.el6.x_.rpm vsftpd-2.2.2-.el6_3.1.src.rpm

       libcap-devel-2.-5.5.el6.i.rpm

       、将以上各包使用rpm -ivh *.rpm -force --nodeps命令进行强制安装:

       [root@localhost rpm]# rpm -ivh *.rpm --force --nodeps

       warning: libattr-2.4.-7.el6.i.rpm: Header V3 RSA/SHA1 Signature, key ID cb9de: NOKEY

       Preparing... ########################################### [%]

       1:libattr ########################################### [ 8%]

       2:libcap ########################################### [ %]

       3:tcp_wrappers-libs ########################################### [ %]

       4:libattr ########################################### [ %]

       5:libcap ########################################### [ %]

       6:tcp_wrappers-libs ########################################### [ %]

       7:tcp_wrappers-devel ########################################### [ %]

       8:libcap-devel ########################################### [ %]

       9:libattr-devel ########################################### [ %]

       :tcp_wrappers-devel ########################################### [ %]

       :libcap-devel ########################################### [ %]

       :libattr-devel ########################################### [%]

       、再次使用rpmbuild -bb vsftpd.spec对vsftpd-2.2.2-.el6.1.x_.rpm包重新进行编译:

       [root@localhost SPECS]# rpmbuild -bb vsftpd.spec

       、进入x_目录,此时可以看到该目录下已经生成相关RPM包:

       命令模式如下:

       复制代码

           

       代码如下:

       [root@localhost RPMS]# cd x_/

           [root@localhost x_]# ls

           vsftpd-2.2.2-.el6.1.x_.rpm vsftpd-debuginfo-2.2.2-.el6.1.x_.rpm

       、重新安装进行过源码修改的vsftpd应用服务器组件包:

       [root@localhost x_]# rpm -ivh vsftpd-2.2.2-.el6.1.x_.rpm

       Preparing... ########################################### [%]

       1:vsftpd ########################################### [%]

       、CentOS6.4修改系统默认字符集:

       [root@localhost /]# vi /etc/sysconfig/in

       将原文件修改为如下内容:

       复制代码

           

       代码如下:

       #LANG="zh_CN.UTF-8"

           LANG="zh_CN.GB"

           SUPPORTED="zh_CN.GB:zh_CN:zh:zh_CN.GB:en_US.UTF-8:en_US:en"

           SYSFONT="latarcyrheb-sun"

       此时所有修改工作已经完成,重起FTP应用服务器之后我们在windows系统中使用IE浏览器以及前期应用软件进行测试中文乱码问题消失。该解决办法同样适用于RHEL6系列操作系统中存在的VSFTPD于windows客户端字符集兼容原因导致的乱码问题。