Chinaunix首页 | 论坛 | 博客
  • 博客访问: 511324
  • 博文数量: 110
  • 博客积分: 3971
  • 博客等级: 中校
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-20 23:27
文章分类

全部博文(110)

文章存档

2015年(2)

2014年(1)

2013年(1)

2011年(9)

2010年(28)

2009年(12)

2008年(13)

2007年(23)

2006年(21)

我的朋友

分类: WINDOWS

2006-07-22 00:45:22

如何编译安装源码包软件
教学目标:
1.学会安装、卸载软件。
2.知道软件安装在哪里。
3.如何执行软件。
4.学会根据需要定制安装软件。
5.定制安装软件的卸载。
一、源码包软件的安装、卸载
 源码包就是源代码可见的软件包,基于Linux系统的源码软件包中,最为常见的格式是
file.tar.gz 和 file.tar.bz2。
 安装:
[root@localhost beinan]# tar jxvf file.tar.bz2 或
[root@localhost beinan]# tar zxvf file.tar.gz
 解开软件包查看帮助文档;
我们解开一个包后,进入解压包,一般都能发现README(或reame)和INSTALL( 或install);或doc(或
DOC)目录。按说明安装。
 卸载:
进入编译后的软件目录,执行反安装命令:make uninstall.
二、软件安装在哪里
一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找.
三、如何执行软件
如果您想要让file只要执行file,就能调用,请配置环境变量,或者在/usr/bin 中做一个file 的链接;
[root@localhost ]# ln -s /opt/file/bin/fcitx /usr/bin/file 或
[root@localhost ]# export
PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/file/bin"
四、根据需要定制安装软件
./configure --prefix=/home/gaolei
五、定制安装软件的卸载
 因为我们指定了软件的安装目录,所以直接删除软件的目录就行了。

教学实验:
1.按默认配置编译安装一个软件包。并在/bin目录下建立连接。
2.卸载此软件。
3.按需求定制安装软件包。
./configure --prefix=/home/gaolei
make LDFLAGS="-static"
4.找到软件安装位置,
5.卸载此软件。
 
:::装不上怎么办?:::
首先我们在Linux系统中至少得把开发工具安装上,比如 gcc ;perl;python;glibc;gtk;make ;automake 等开发工具或基础包;还要安装一些相应的开发包,一般是文件名包括dev的,比如kernel-devel;还有一些开发库,比如以lib开头的;如果您在编译软件时,有时提示缺少什么东西之类的,大多少的是这些开发工具和开发库等;从光盘中找出安装就是了;有时光盘没有提供,请用google搜索相应的软件包,有时可能也会用到源码包编译安装所依赖的包;

有时本来系统中已经安装了所依赖的包,但系统提示找不到应该怎么办?这时需要我们设置一下PKG_CONFIG_PATH的环境变量就行了;

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig

#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然后我们再来运行编译的./configure ;make ;make install ,尝试着来吧;

以java开发的工具开发的程序,要用到 jre或者jdk ;jdk已经包括jre了,所以如果我们只是要求有一个java程序运行的环境,只需要安装jre就行了;安装好jre,配置一下java的环境变量就可以用了。如果是图形界面的程序,点点鼠标就OK了;(比如安装LumaQQ就必须安装jre,因为LumaQQ是用java编写的。)

部分configure
--disable-nls
这个参数禁止了国际化(通常简称i18n),静态程序不需要国际化的特性。

--disable-profile
它关掉了 profiling 信息相关的库文件编译。如果你打算做 profiling ,就省掉这个参数。
--enable-add-ons
这个指示 Glibc 使用附加的 NPTL 包作为线程库。
--enable-kernel=2.6.0
这个告诉编译支持2.6.x内核的库。
--enable-clocale=gnu
本参数确保C++库在任何情况下都使用正确的 locale 模块。如果配置脚本查找到 de_DE 这个 locale ,
它就会使用正确的 gnu locale 模块。然而,如果没有安装 de_DE ,就有可能创建出应用程序二进制接
口(ABI)不兼容的C++库文件,这是因为选择了错误的通用(generic) locale 模块。
--enable-languages=c,c++
本参数编译 C 和 C++ 语言的编译器。
--disable-libstdcxx-pch
不为 libstdc++ 编译预编译头(PCH),它占用了很大空间,但是我们用不到它。
--localstatedir
将 locate 数据库的位置指定为 /var/lib/locate ,以符合 FHS 标准。
--sysconfdir=/etc
这个选项告诉程序建立软件包时在 /etc 目录里查找配制文件。
--disable-syslogd
这个参数阻止 inetutils 安装 System Log Daemon(系统日志守护进程),我们将在后面的 Sysklogd 软
件包中安装它。
--disable-logger
阻止 inetutils 安装 logger 程序,脚本利用这个程序向系统日志守护进程传递消息。我们不安装它是
因为 Util-linux 包含一个更好的版本。
--disable-whois
阻止 inetutils 编译 whois 客户端,因为它已经很陈旧了。在 BLFS book 里面有安装更好的 whois 客
户端的指导。
--disable-servers
阻止安装几种网络服务器。
-Dpager="/bin/less -isR"
纠正 perldoc 代码调用 less 程序时的一个错误。
make SBINDIR=/sbin
SBINDIR=/sbin
确保将 IPRoute2 包中的二进制文件安装到 /sbin 目录中以符合 FHS 标准,因为一些 IPRoute2 二进制
文件将会被 LFS-Bootscripts 使用。

--with-shared --without-debug
--enable-multibyte
--enable-shared
--libexecdir=/usr/lib --enable-shared \
    --enable-threads=posix --enable-__cxa_atexit \
    --enable-clocale=gnu --enable-languages=c,c++
..........................

 
阅读(1997) | 评论(0) | 转发(0) |
0

上一篇:防火墙

下一篇:linux知识点及实验

给主人留下些什么吧!~~