我们通常用make来安装软件,那么make都作了什么呢?进入一个源代码目录名为rar
make > info.txt
看看我们的make都干了些什么?
cat info.txt
mkdir -p /usr/local/bin -p表示需要时创建上级目录,目录存在的时候不做错误处理。
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
再看看,rar文件夹中makfile文件中都有些什么?
cat Makefile
PREFIX=/usr/local 这是shell变量.
install:
mkdir -p $(PREFIX)/bin
mkdir -p $(PREFIX)/lib
cp rar unrar $(PREFIX)/bin
cp rarfiles.lst /etc
cp default.sfx $(PREFIX)/lib
很像吧,没错,因为make是按照一定的规则去完成配置文件中的内容。这个配置文件默认的名字是makefile,当然也可以变。这个配置文件对于我来说不需要会写,但是总要读的懂。
了解下make命令的基本参数:偶不是编程的,捡有用的说。
-c dir 这个是make工作的路径,默认是当然路径。
-f filename 这个用指定的文件作为配置文件,默认是makefile。
-d 打印debug信息
在这个例子中我们可以知道make的工作方式,这对于从源代码运行程序是很有用的。
介绍一下可以用来搞定安装的全部工具。
gcc-这个是编译器
make-包含从makefiles产生二进制文件的make命令,当然还有其他的一些功能。
glibc-重要的共享库,c库和基本的数学库。没有这个连系统都没有办法运行。
glibc-devel-包含了创建可执行文件所需要的标准头文件。
binutils-包含编译程序需要的使用工具,主要是汇编和链接程序。
kernel-source-包含内核源代码
libc-包含libc5,而上面我们提到的glibc是linc6
.
关于软件包。
linux下你可以发现的软件包,会有不同的格式,这很讨厌,但是他可以让你知道,这些开源项目是在什么环境开发和编译出来的,支持什么。
搜集一下
filename-4.2.3.i386.rpm 这个表示可以用rpm来安装,我们最喜欢的方式。
filename-4.2.3.tar.gz 这个表示用gz压缩,用tar归档,至于是什么,那就不知道了
filename-4.2.3.src.tar.gz 这个表示用gz压缩,用tar归档,内容是源代码
filename-4.2.3.bin.SPARC.tar.gz 这个是表示用gz压缩,用tar归档,可以在SPARC工作站上运行,的2进制代码。
filename-4.2.3.bin.ELF.static.tar.gz 这个表示用gz压缩,用tar归档,由静态连接的FLF的可执行文件组成的2进制文件。
4.2.3 表示第4版,第2个补丁,第3次修改。
全面的说一下。
rpm.有这个后缀表示是fedora使用的2进制文件,这个不是说里面的内容2进制的,而是说他可以被fedora的软件管理器使用。可以用归档文件管理器把他打开。
tar.这个是用tar归档,使用tar 命令打开
gz.和z.这个是说用gzip压缩的,用gzip命令打开
tgz.这个扩展名和以上的结合,容易搞定
bz2.用bzip2压缩的,可以用bip2命令打开
taz.和tz.这个表示用tar压缩,也用tar命令打开
lsm.这个通常是介绍归档内容的文本,可以和软件包一起下载。
deb.这个同rpm但是用于Debian
如果你不能肯定格式的话,可以用file命令来确定.
好了,现在你可以把源文件从任何软包中掏出来
阅读(426) | 评论(0) | 转发(0) |