十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
CentOS6.4 安装NCL遇到的问题,有需要的朋友可以参考下。
创新互联专注于船营企业网站建设,成都响应式网站建设公司,商城网站制作。船营网站建设公司,为船营等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
问题1:缺少openssl-0.9.8 结果程序报错:
"ncl: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory"
这是因为缺少共享库文件。
解决方法:
在/usr/lib下找到了 libcrypto.so.0.9.8k,做个链接。
$ su
$ cd /usr/lib
$ ln -sf libcrypto.so.0.9.8k libcrypto.so.0.9.8
如果无法获得超级用户权限,可以在home下建立个目录,如:
/home/usr/lib
$ cd /home/usr/lib
$ ln -sf /usr/lib/libcrypto.so.0.9.8k ./libcrypto.so.0.9.8
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/usr/lib #或者是在.bashrc中添加这一行
如果没找到合适版本的libcrypto,可以从这里下载:
然后
$ ./config shared
$ make
将生成的 libcrypto.so.0.9.8 按照上面的方法操作。
再次运行NCL,报错内容变为 libssl.so.0.9.8,如法炮制。
最后运行NCL,报错内容为:
ncl: /home/usr/lib/libcrypto.so.0.9.8: no version information available (required by ncl)
ncl: /home/usr/lib/libssl.so.0.9.8: no version information available (required by ncl)
这个错误暂时没有方法解决,不过NCL可以运行,应该没啥问题。
问题2:缺少libbz2.so.1.0 程序报错:“ncl: error while loading shared libraries: libbz2.so.1.0:
cannot open shared object file: No such file or directory”
解决方法:
从下载安装包
参考进行安装
Bzip2 是块排序文件压缩器,比传统的gzip生成更高压缩比的文件。
安装下列程序: bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless 和 bzmore
安装下列库文件: libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to libbz2.so.1.0.2) 和 libbz2.so.1.0.2
Bzip2 依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make.
安装 Bzip2
为编译 Bzip2 做准备 with:
make -f Makefile-libbz2_so
make clean
-f标志使bzip2g根据另一个Makefile来编译,这里就是Makefile-libbz2_so文件,它创建一个动态的libbz2.so库文件,然后把bzip2工具连接到这个库上。
编译软件包:
make
安装:
make install
把共享的bzip2二进制文件拷贝到/bin目录,创建必要的符号链接,作一些清理工作.
cp bzip2-shared /bin/bzip2
cp -a libbz2.so* /lib
ln -s ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
rm /usr/bin/{bunzip2,bzcat,bzip2}
mv /usr/bin/{bzip2recover,bzless,bzmore} /bin
ln -s bzip2 /bin/bunzip2
ln -s bzip2 /bin/bzcat
学习软件测试,最基本的linux命令必须掌握,现为大家整理如下:
一:系统管理相关命令
ls:可以看到整个目录
1.su:在不退出登陆的情况下,切换到另一个用户的身份
如:su root
切换到root这个用户,将提示输入密码,输完密码后即可登陆
# 超级用户提示符
$ 普通用户提示符
whoami:确认自己身份
history:查看运行命令的 历史
ifconfig:显示或设置网络设备的命令,我们可以用这个命令查看自己虚拟机的IP地址
ping:ping是Windows.Unix,Linux系统下的一个命令.ping命令也属于一个通信协议,是TCP/I协议的一部分。利用“ping"命令可以检查网络是否联通
停下来是:Ctrl+C(4)
kill:杀死进程(kill-9 进程号 强制杀死进程)
目录操作命令
linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录”/“,下层是各种各样的子目录和文件。
/:unix 文件系统的上层根目录
root:存放root用户的相关文件
home:存放普通用户的相关文件
bin:存放常用命令的目录,如vi,su,普通用户就可以提取的命令
sbin:要具有”一定权限才可以使用命令“
etc:存放配置的相关文件
vir:存放经常变化的文件。如:网络连接的sock文件
boot:启动目录,存放引导系统启动的相关文件
usr:安装一个软件的默认目录,相当于Windows下的program files
dev:设备文件保存目录
lb :系统库保存文件
pwd命令:显示当前路径
cd命令:切换目录
用法:cd目录路径
cd./切换到上级目录
cd/切换到根目录
cd~(或只有cd) 切换到用户主目录(home底下以用户名命名的文件夹)
/root目录
cd /opt ---cd bin 与cd /opt---cd /bin的区别
mkdir创建目录
mkdir 目录名
rmdir删除空目录
用法:rmdir 目录名
也可用:rm-rf 目录名
touch a.txt创建一个a.txt文件
二:文件操作命令
在Linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用文件命令有:
|| 查看文件目录,以及它们对应的属性信息
cp 复制命令
用法:cp[选项] 文件名或目录 目标地址
-R 拷贝目录及目录下所有目录和文件
cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)
mv 移动命令
用法:mv文件名或目录 目标位置
mv a.txt../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)
mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)
移动目录的时候,如果出现覆盖的情况,且被覆盖的目录非空,需要加一个'-b'的参数才能移动成功。被覆盖的目录此时会生产一个备份。
rm 删除文件或目录(i:操作时进行询问)
-f 强制删除
-r 删除目录
常用:rm -f文件或目录
find命令 查找文件
用法:find[路径][选项]
常用选项有:
find . -name a.txt 在当前目录查找文件a.txt
find / -name a.txt 从当前目录查找a.txt文件
grep命令
功能:在指定文件中查找字符(串)并打印该行;过滤,经常跟管道符号一起出现
用法:grep 字符串 文件名
grep xyz file 在file文件中寻找band字符串所在的那一行
文件编辑命令
vi:是linux下常用的文本编辑器
调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)
按键盘i进入编辑状态(注意:都是英文输入法下进行输入)
退出编辑按ESC键,退出方法
不保存退出: :q!
保存退出: :wq
输入/,进入搜索,输入你需要搜索的文字,按Enter
按键盘G,可以直接定位到最末行
按键盘g,可以直接定位到首
cat命令:显示文本文件内容
用法: cat文件名 cat 文件名字
head:查看前几行 用法:head -n 5 文件名
tail:从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件
tail -n 5文件名 查看后几行
tail -f error.log 不断刷新,看到最新内容
系统资源查询命令
ps 查看进程(动态)
-ef 显示所有运行进程,并显示启动进程的命令
Uid:用户ID,PID;进程id PPID:父进程,C:进程cpu占用率,Stime:进程从启动到现在所运行的时间
TTY:终端号。CMD:命令名称和参数
netstat 查看网络状况
netstat -apn 查看所有端口
管道命令
管道使用”|“符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入
如:ls|greap abc:管卡道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录
正常情况下,杀死服务进程(比如杀死tomcat进程)
通过进程名找到进程,在杀死进程
通过命令查找tomcat进程:ps -ef|grep tomcat(ps -ef是查找所有运行的进程,通过管道符找到所有进程中包含了”tomcat"字符串的进程,即为tomcat进程),假如5541
杀掉此进程,kill -9进程id(kill -9 5541)
通过端口来找到进程,再杀死进程
通过命令查找到占用此端口的进程编号:netstat -apn|grep 8080 根据8080查进程,假如 5541
杀掉进程:kill -9 pid(kill -9 5541)
三:权限赋予命令:chmod
linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在linux中可以使用||或ls -|命令来显示一个文件的属性以及文件所属的用户和组。
chmod语法:chmod[-R] xyz文件或目录
读(r): 4 写(w): 2 执行(x): 1
chmod 532 test.txt
压缩,解压命令
例如:将test文件压缩成test.tar.gz
安装软件命令
yum 自动下载安装(前提:能访问外网)
yum[操作][package]
例如:yum install mysql-server(安装mysql服务器)
rpm 安装
rpm -ivh 软件包名(ivh 安装显示安装进度)
对于一些技术爱好者来说,或许 Linux 才是真正好用的系统。不过,在近年来,微软公司也考虑到了这一需求,在 Windows 中集成了 Linux 常用命令。那么,在 Windows 10 中,我们应该怎样才能使用 Linux 命令呢?
一、使用方法
1首先,点击屏幕左下角的Win图标,然后在弹出的菜单中选择“所有应用”。
2在所有应用中找到并展开 Windows PowerShell 文件夹,启动其下的 Windows PowerShell。
3:这时,将会打开一个命令行窗口。然后,请稍微等待一会,直到出现 PowerShell 命令提示符为止。
4:这时,便可以输入 Linux 命令了。例如,我们输入一个 Linux 文件查看命令 ls,回车,便可以列出当前目录下的文件和文件夹列表。
END
二、注意事项(windows10系统教程)
Windows PowerShell 支持绝大部分 Linux 内置命令,但有些命令例外。具体来说有:
1)命令简写(或称命令别名)
例如,不支持 Linux 下的文件查看命令 ll 。该命令作用为以详细信息方式查看当前目录下文件,它实质是 ls -l 命令的简写。
2)需要调用 linux 系统中的程序才能执行的命令,如 vim
由于 Windows 系统中并没有内置 vim 程序,故而与 vim 有关的命令无法启用。
3)帮助命令
在 Linux 系统中,如果要知道某条命令的用法,可以使用帮助命令了。但在 Windows 中,默认是没有安装Linux中的帮助命令的。如果想使用该命令,可以联网安装或在线查看。
1如果你在linux上装的完整的数据库,可以修改 tnsnames.ora文件,将里面的实例名改为windows数据库里的实例名,host改为windows的IP地址。也可以直接把windows下的tnsnames.ora文件拷贝到linux下,然后修改host为win的IP。在linux上就可以连接windows数据库了。
2不改配置文件也可以连接,在linux上用oralce登录,
使用命令slqplus 用户名/密码@win_IP/实例名。
用户名密码实例都是windows数据库上的。
Linux C编程中,调用Linux命令用system函数最简单了,这个函数原理是在你编写的那个程序的内部启动另一个程序或命令,从而创建一个新进程,并等待这个进程执行完毕退出。如果正常执行,system函数将返回被执行程序或命令的退出码;如果无法运行这个程序或命令,将返回错误代码127;如果是其他错误,返回-1。这个函数的原型是:
#include stdlib.h
int system(const char *string);
参数string是将要执行的程序文件名或路径,如果是启动一个命令就是一个命令字符串。
system(执行shell 命令)
相关函数 fork,execve,waitpid,popen
表头文件 #includestdlib.h
定义函数 int system(const char * string);
函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
返回值 如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值。如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。
附加说明 在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
范例 #includestdlib.h
main()
{
system(“ls -al /etc/passwd /etc/shadow”);
}
执行 -rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shadow