linux 安装某个应用时,如果机器没有联网,那就要手动下载源码,编译再安装,有些系统可以利用二进制文件安装。
常见模版为
tar -zxvf xxx.tar.gz -C xxx
cd xxx
make
make install
如果有rpm安装程序,例如redhat和centos可以rpm,则:
rpm -ivh *.rpm
但由于种种愿意,linux下编译应用程序常常会出现很多令人头疼的错误。什么什么.so或依赖没有或者什么什么找不到。
引起这类原因可能有
1.系统缺乏相应的库文件;
2.版本或环境不支持;
3.库文件的链接错误;
4.库文件路径变量设置问题。
需要一个个google,费时费力又安不好。
根据笔者自己的经验,可以采取一些经验办法。前提是必须联机。
例如安装vsftpd,常见的办法是去官网下载源码包:
下载并解压vsftpd-2.3.1.tar.gz
#make
# make install
新建vsftpd.conf,配置并重启
# killall -9 vsftpd
# /usr/local/sbin/vsftpd vsftpd.conf &
这些步骤不麻烦,但笔者在不同的系统安装时,有时就会报没有什么什么包的。然后google到处搜。
其实可以做一些简单的配置就可以利用网络来安装。
redhat 、centos 如果有rpm,又知道程序地址,可以直接
rpm -Uvh http://mirror.centos.org/centos/6/os/i386/Packages/ftp-0.17-51.1.el6.i686.rpm
redhat 、centos 如果有yum,可以
yum install vsftpd
yum install ftp
ubunto 如果有apt-get,可以
apt-get install vsftpd
如果编译或执行程序找不到包时,可以利用yum安装
例如,有些机器执行java –version报
/lib/id-linux.so.2:Bad ELF interpreter :No such file or directory.
此时只要执行
yum -y install -y glibc.i686
或
apt-get install glibc.i686
又如:
linux下编译应用程序常常会出现如下错误:
/usr/bin/ld: cannot find -lxxx
意思是编译过程找不到对应库文件。其中,-lxxx表示链接库文件 libxxx.so。
yum -y install -y libxxx-dev
或
apt-get install libxxx-dev
有时候不知道文件的名称,有一个小技巧
先搜索关键字
yum search 关键字
会找到很多相似的信息,找到自己需要的文件,然后执行
yum –y install –y 文件名称
例如安装程序报readline错误。
yum search readline
找到readline-devel.i386 : Files needed to develop programs which use the readline library.
安装支持
yum -y install -y readline-devel
附:快速安装yum方法
如果无法yum
1.卸载redhat自带的yum组件
[root@localhost ~]# rpm -qa|grep yum|xargs rpm -e --nodeps
2.安装centos的yum包
[root@localhost ~]# wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
[root@localhost ~]# wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
[root@localhost ~]# wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-39.el5.centos.noarch.rpm
[root@localhost ~]# rpm -ivh *.rpm
3. 下载更新源,并存放在系统目录中
[root@localhost ~]# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
[root@localhost ~]#mv CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
4.生成缓存并进行安装
[root@localhost ~]# yum makecache
[root@localhost ~]# yum install httpd
Yum报错解决
报readline和zlib错误。
yum search readline
找到readline-devel.i386 : Files needed to develop programs which use the readline library.
安装支持
yum -y install -y readline-devel
同理安装zlib