本文主要是介绍md5sum命令以及ldd命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[root@test root]# md5sum [-bct] filename
[root@test root]# md5sum [--status|--warn] --check filename
参数说明:
-b :使用 binary 的读档方式,预设为 Windows/DOS 档案型态的读取方式;
-c :检验 md5sum 档案指纹;
-t :以文字型态来读取 md5sum 的档案指纹。
范例:
[root@test root]# md5sum grep-2.5.1-7.8.i386.rpm
5a0c3fcfcd4c3f937644b8cd71a0cf89 grep-2.5.1-7.8.i386.
============================================
root@test1:~# md5sum php-5.2.9.tar.bz2
280d6cda7f72a4fc6de42fda21ac2db7 php-5.2.9.tar.bz2
网站提供的md5
md5: 280d6cda7f72a4fc6de42fda21ac2db7
完全相同,证明软件是安全的。
==========================================================================
ldd命令
[root@test root]# ldconfig [-f conf] [-C cache] [-p]
参数说明:
-f conf :那个 conf 指的是某个文件名称,也就是说,使用 conf 作为 libarary
函式库的取得路径,而不以 /etc/ld.so.conf 为默认值
-C cache:那个 cache 指的是某个文件名称,也就是说,使用 cache 作为快取暂存
的函式库资料,而不以 /etc/ld.so.cache 为默认值
-p :列出目前有的所有函式库资料内容(在 /etc/ld.so.cache 内的资料!)
范例:
[root@test root]# vi /etc/ld.so.conf
/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/mysql <==这一行是新加入的喔!
[root@test root]# ldconfig
# 画面上不会显示任何的信息,不要太紧张!正常的!
[root@test root]# ldconfig -p
680 libs found in cache `/etc/ld.so.cache'
libzvt.so.2 (libc6) => /usr/lib/libzvt.so.2
libz.so.1 (libc6) => /usr/lib/libz.so.1
libz.so (libc6) => /usr/lib/libz.so
libx11globalcomm.so.1 (libc6) => /usr/lib/libx11globalcomm.so.1
........
透过上面的动作,我们可以将 MySQL 的相关函式库给他读入快取当中,这样可以加快函式库读取的效率呢!在某些时候,您可能会自行加入某些 Tarball 安装的动态函式库,而您想要让这些动态函式库的相关连结可以被读入到快取当中,这个时候您可以将动态函式库所在的目录名称写入/etc/ld.so.conf 当中,然后执行 ldconfig 就可以啦!
----------------------------------------------------------------------------------------------
说了这么多,那么我如何判断某个可执行的 binary 档案含有什么动态函式库呢?很简单,利用 ldd
就可以晓得了!例如我想要知道 /usr/bin/passwd 这个程序含有的动态函式库有哪些,可以这样做:
[root@test root]# ldd [-vdr] [filename]
参数说明:
-v :列出所有内容信息;
-d :重新将数据有遗失的 link 点秀出来!
-r :将 ELF 有关的错误内容秀出来!
范例:
[root@test root]# ldd /usr/bin/passwd
libuser.so.1 => /usr/lib/libuser.so.1 (0x40021000)
....(略)....
libpam.so.0 => /lib/libpam.so.0 (0x40107000)
....(略)....
# 我们前言的部分不是一直提到 passwd 有使用到 pam 的模块吗?!怎么知道?
# 利用 ldd 察看一下这个档案,看到 libpam.so 了吧?这就是 pam 提供的函式库
[root@test root]# ldd /lib/libc.so.6
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
[root@pc510 vbird]# ldd -v /lib/libc.so.6
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Version information:
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
未来如果您常常升级安装 RPM 的套件时( 下一章节会介绍 ),应该常常会发现那个『相依属性』的问题吧!?没错!我们可以先以 ldd 来视察『相依函式库』之间的相关性!以先取得了解!例如上面的例子中,我们检查了 libc.so.6 这个在 /lib 当中的函式库,结果发现他其实还跟 ld-linux.so.2 有关!所以我们就需要来了解一下,那个档案到底是什么套件的函式库呀!?使用 -v 这个参数还可以得知该函式库来自于哪一个套件!像上面的数据中,就可以得到该 libc.so.6 其实可以支持GLIBC_2.1 等的版本!
这篇关于md5sum命令以及ldd命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!