LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 青铜镜

[大话LFS/BLFS]从LFS到BLFS轻松上手——关于编译LFS/BLFS的可行性报告

[复制链接]
 楼主| 发表于 2007-5-31 07:59:08 | 显示全部楼层
[color="Red"]第六章  KDE Recommended package


第六章你需要建立一个文件夹,取名06R。将本章所有的软件包和脚本放在里面,安装时,只要进入该文件夹,按先后顺序执行脚本文件便可以了。主要安装的软件包有:
06.01
libart_lgpl-2.3.17
http://ftp.gnome.org/pub/gnome/s ... lgpl-2.3.17.tar.bz2
------------------------------------------------------------------------------------
#!/bin/sh
set +e

tar -jxvf libart_lgpl-2.3.17.tar.bz2
cd libart_lgpl-2.3.17
./configure --prefix=/usr &&
make
make install
cd ..
rm -rf libart_lgpl-2.3.17
exit
------------------------------------------------------------------------------------


06.02
libxml2-2.6.26
http://ftp.gnome.org/pub/gnome/s ... bxml2-2.6.26.tar.gz
------------------------------------------------------------------------------------
#!/bin/sh
set +e

tar xvf libxml2-2.6.26.tar.gz
cd libxml2-2.6.26
./configure --prefix=/usr &&
make
make install
cd ..
rm -rf libxml2-2.6.26
exit
------------------------------------------------------------------------------------


06.03
libxslt-1.1.17
http://ftp.gnome.org/pub/gnome/s ... bxslt-1.1.17.tar.gz
------------------------------------------------------------------------------------
#!/bin/sh
set +e

tar xvf libxslt-1.1.17.tar.gz
cd libxslt-1.1.17
./configure --prefix=/usr &&
make
make install
cd ..
rm -rf libxslt-1.1.17
exit
------------------------------------------------------------------------------------


06.04
pcre-6.7
ftp://ftp.csx.cam.ac.uk/pub/soft ... re/pcre-6.7.tar.bz2
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar -jxvf pcre-6.7.tar.bz2
cd pcre-6.7
./configure --prefix=/usr --enable-utf8 &&
make
make install &&
install -v -m755 -d /usr/share/doc/pcre-6.7/html &&
install -v -m644 doc/html/* /usr/share/doc/pcre-6.7/html &&
install -v -m644 doc/{Tech.Notes,*.txt} /usr/share/doc/pcre-6.7
mv -v /usr/lib/libpcre.so.* /lib/ &&
ln -v -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so
cd ..
rm -rf pcre-6.7
exit
------------------------------------------------------------------------------------


06.05
gamin-0.1.7
http://www.gnome.org/~veillard/gamin/sources/gamin-0.1.7.tar.gz
------------------------------------------------------------------------------------
#!/bin/sh
set -e
tar xvf gamin-0.1.7.tar.gz
cd gamin-0.1.7
./configure --prefix=/usr --libexecdir=/usr/sbin &&
make
make install &&
install -v -m755 -d /usr/share/doc/gamin-0.1.7 &&
install -v -m644 doc/*.{html,fig,gif,txt} /usr/share/doc/gamin-0.1.7
cd ..
rm -rf gamin-0.1.7
exit
------------------------------------------------------------------------------------


06.06
openssl-0.9.8d
http://www.openssl.org/source/openssl-0.9.8d.tar.gz
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar xvf openssl-0.9.8d.tar.gz
cd openssl-0.9.8d
sed -i -e 's/mcpu/march/' config
patch -Np1 -i ../openssl-0.9.8d-fix_manpages-1.patch &&
./config --openssldir=/etc/ssl --prefix=/usr shared &&
make MANDIR=/usr/share/man
make MANDIR=/usr/share/man install &&
cp -v -r certs /etc/ssl &&
install -v -d -m755 /usr/share/doc/openssl-0.9.8d &&
cp -v -r doc/{HOWTO,README,*.{txt,html,gif}} \
    /usr/share/doc/openssl-0.9.8d
cd ..
rm -rf openssl-0.9.8d
exit
------------------------------------------------------------------------------------


06.07
libidn-0.6.3
http://josefsson.org/libidn/releases/libidn-0.6.3.tar.gz
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar xvf libidn-0.6.3.tar.gz
cd libidn-0.6.3
./configure --prefix=/usr &&
make
make install &&
find doc -name "Makefile*" -exec rm {} \; &&

install -v -m755 -d \
    /usr/share/doc/libidn-0.6.3/{api,java,specifications,tld} &&
install -v -m644 doc/components* \
                 doc/libidn.{pdf,ps,html} \
    /usr/share/doc/libidn-0.6.3 &&
install -v -m644 doc/reference/html/* \
    /usr/share/doc/libidn-0.6.3/api &&
install -v -m644 doc/specifications/* \
    /usr/share/doc/libidn-0.6.3/specifications &&
install -v -m644 doc/tld/* /usr/share/doc/libidn-0.6.3/tld &&
cp -v -R doc/java/* /usr/share/doc/libidn-0.6.3/java
install -v -m644 doc/libidn.* /usr/share/doc/libidn-0.6.3
cd ..
rm -rf libidn-0.6.3
exit
------------------------------------------------------------------------------------


06.08
graphviz-2.8
http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.8.tar.gz
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar xvf graphviz-2.8.tar.gz
cd graphviz-2.8
sed -i 's|JAVA_LIBS=|& \
if test -n "$JAVA_HOME"; then \
  CPPFLAGS="$CPPFLAGS -I$JAVA_HOME/include -I$JAVA_HOME/include/linux" \
fi|' configure &&
./configure --prefix=/usr &&
make
make install
ln -v -s /usr/share/graphviz/doc \
         /usr/share/doc/graphviz-2.8
cd ..
rm -rf graphviz-2.8
exit
------------------------------------------------------------------------------------


06.09
giflib-4.1.4
http://downloads.sourceforge.net/libungif/giflib-4.1.4.tar.bz2
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar zxvf giflib-4.1.4.tar.gz
cd giflib-4.1.4
./configure --prefix=/usr &&
make
make install &&
install -v -m755 -d /usr/share/doc/giflib-4.1.4/html &&
install -v -m644 doc/*.{png,html} \
    /usr/share/doc/giflib-4.1.4/html &&
install -v -m644 doc/*.txt \
    /usr/share/doc/giflib-4.1.4
cd ..
rm -rf giflib-4.1.4
exit
------------------------------------------------------------------------------------

06.10
doxygen-1.4.6
http://ftp.stack.nl/pub/users/dimitr...4.6.src.tar.gz
脚本编号:10doxygen-1.4.6
------------------------------------------------------------------------------------
#!/bin/sh
set -e

tar zxvf doxygen-1.4.6.src.tar.gz
cd doxygen-1.4.6
rm src/unistd.h &&
./configure --prefix /usr --docdir /usr/share/doc &&
make
make install
cd ..
rm -rf doxygen-1.4.6
exit
------------------------------------------------------------------------------------

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-31 08:04:29 | 显示全部楼层
[color="Red"]第七章 KDE Core Packages


终于到了安装KDE的核心软件包的时刻!这是一个激动人心的时刻!我们离成功的目标不远啦!只要把这三个包装上,如果无任何意外情况,…… 呵呵,还早了点,还得再编译两个多小时吧!视机器性能而定。唐师父教导我们:建立一个文件夹,取名07K,将本章所有的软件包和脚本放在里面……

07.01
KDE Pre-installation Configuration
脚本编号:01KDE_Pre-installation_Configuration
------------------------------------------------------------------------------------
#!/bin/sh
set +e

export KDE_PREFIX=/opt/kde-3.5.6

cat >> /etc/profile << "EOF" &&
export PATH=$PATH:/opt/kde-3.5.6/bin
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/kde-3.5.6/lib/pkgconfig
EOF

cat >> /etc/ld.so.conf << "EOF" &&
# Begin kde addition to /etc/ld.so.conf

/opt/kde-3.5.6/lib

# End kde addition
EOF

cat >> /etc/man_db.conf << "EOF"
# Begin kde addition to man_db.conf

MANDATORY_MANPATH /opt/kde-3.5.6/man

# End kde addition to man_db.conf
EOF
exit
------------------------------------------------------------------------------------

07.02
arts-1.5.6
http://mirrors.isc.org/pub/kde/s ... /arts-1.5.6.tar.bz2
脚本编号:02arts-1.5.6
------------------------------------------------------------------------------------
#!/bin/sh
set +e

tar -jxvf arts-1.5.6.tar.bz2
cd arts-1.5.6
export QTDIR=/opt/qt-3.3.7
./configure --prefix=/opt/kde-3.5.6 --disable-debug \
                  --disable-dependency-tracking \
                  --with-alsa --with-audiofile &&
make
make install
cd ..
rm -rf arts-1.5.6
exit
------------------------------------------------------------------------------------


07.03
kdelibs-3.5.6
http://mirrors.isc.org/pub/kde/s ... elibs-3.5.6.tar.bz2
脚本编号:03kdelibs-3.5.6
------------------------------------------------------------------------------------
#!/bin/sh
set +e

tar -jxvf kdelibs-3.5.6.tar.bz2
cd kdelibs-3.5.6
export QTDIR=/opt/qt-3.3.7
./configure --prefix=/opt/kde-3.5.6 --sysconfdir=/etc/kde \
                  --disable-debug --disable-dependency-tracking --with-alsa &&
make
make install
cd ..
rm -rf kdelibs-3.5.6
exit
------------------------------------------------------------------------------------


07.04
kdebase-3.5.6
http://mirrors.isc.org/pub/kde/s ... ebase-3.5.6.tar.bz2
脚本编号:04kdebase-3.5.6
------------------------------------------------------------------------------------
#!/bin/sh
set +e

tar -jxvf kdebase-3.5.6.tar.bz2
cd kdebase-3.5.6
export QTDIR=/opt/qt-3.3.7
./configure --prefix=/opt/kde-3.5.6 --sysconfdir=/etc/kde \
                  --disable-debug --disable-dependency-tracking &&
make
make install
cd ..
rm -rf kdebase-3.5.6
exit

------------------------------------------------------------------------------------


07.05
Configuring the Core KDE Packages
脚本编号:05ConfigCore_KDE
------------------------------------------------------------------------------------
#!/bin/sh
set +e

echo "exec startkde" >> ~/.xinitrc
ldconfig
exit
------------------------------------------------------------------------------------

至此,如果你一直在X里面执行安装工作,那么你就按Ctrl+Alt+Delete三个键,退出X界面,退到字符界面里面去,运行命令:startx,我们就可以启动伟大的KDE桌面管理器了!恭喜恭喜啊!([color="Red"]特别说明:是Ctrl+Alt+backspace三个键。谢谢Doom3d版主的纠正!真想亲TA一下,以示感激!)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2007-5-31 11:53:59 | 显示全部楼层
窃以为,可加精。
回复 支持 反对

使用道具 举报

发表于 2007-5-31 13:54:37 | 显示全部楼层
Post by huohuliaisili
窃以为,可加精。


同感

为什么最少要6个字呢?
回复 支持 反对

使用道具 举报

发表于 2007-5-31 15:04:22 | 显示全部楼层
饿地神呀...LFS6.2可以按上面说的装BLFS么?

这个装出来有多大啊,偶硬盘不够呀。。
回复 支持 反对

使用道具 举报

发表于 2007-5-31 16:23:24 | 显示全部楼层
Post by hersk
饿地神呀...LFS6.2可以按上面说的装BLFS么?

这个装出来有多大啊,偶硬盘不够呀。。

4GB ++
我只分配了500个柱面( 合3953036 K ) ,不到4GB的一个分区用来试玩 LFS + BLFS 。目前还够用。
如果大型软件装得多就不行了。到时候如果空间不够,我会想点办法的。
回复 支持 反对

使用道具 举报

发表于 2007-5-31 17:31:29 | 显示全部楼层
export KDE_PREFIX=/opt/kde-3.5.6
这个命令如果在脚本中来做,在运行下一个脚本时会有问题。所以要么手工敲,要么直接写到 /etc/profile 文件,再重登录一次,或者在修改过 /etc/profile 文件之后
  1. source /etc/profile
复制代码

CBLFS中的做法是建一个 /etc/profile.d 目录。把脚本放在这个目录下,然后修改 /etc/profile ,让 /etc/profile 去找 /etc/profile.d 目录下的脚本。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-31 19:36:55 | 显示全部楼层
Post by hersk
饿地神呀...LFS6.2可以按上面说的装BLFS么?

这个装出来有多大啊,偶硬盘不够呀。。



俺喜欢LINUX,
硬盘上只装LINUX,
没有windows的空间.


俺的两个硬盘都拿来做LFS,
看了一下俺的两个硬盘里面LFS所用的空间,
满打满算,
从LFS到BLFS,
后面还有一些包要装,如:
KDE的汉化包, KDE的图形工具包, xine, Mplayer等,
装完俺所有的包,
不到一鸡半的空间........................


记得清理
kern.log

sys.log
这两个文件...................
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-31 19:43:43 | 显示全部楼层
Post by huohuliaisili
export KDE_PREFIX=/opt/kde-3.5.6
这个命令如果在脚本中来做,在运行下一个脚本时会有问题。所以要么手工敲,要么直接写到 /etc/profile 文件,再重登录一次,或者在修改过 /etc/profile 文件之后

  1. source /etc/profile
复制代码


CBLFS中的做法是建一个 /etc/profile.d 目录。把脚本放在这个目录下,然后修改 /etc/profile ,让 /etc/profile 去找 /etc/profile.d 目录下的脚本。




运行下一个脚本会有问题?
有什么出错提示么?
能详细说说么?

俺希望能及时修改..............
计划周末拿一个80鸡的硬盘来重新试试.
回复 支持 反对

使用道具 举报

发表于 2007-5-31 21:16:24 | 显示全部楼层
Post by 青铜镜
运行下一个脚本会有问题?
有什么出错提示么?
能详细说说么?

俺希望能及时修改..............
计划周末拿一个80鸡的硬盘来重新试试.

我又重新看了一下大哥写的脚本,与手册中有不同。不会产生我所说的问题了,是我没注意看。
如果直接在编译安装KDE软件包的脚本中指定了 --prefix=/opt/kde-3.5.6 ,那就不存在我所说的那种情况了。
既然在编译每个KDE的软件包的脚本中都定指定了 --prefix=/opt/kde-3.5.6 ,那么就不必再使用这条命令了:
  1. export KDE_PREFIX=/opt/kde-3.5.6
复制代码
大哥的安装KDE的脚本中还定义了 export QTDIR=/opt/qt-3.3.7 。 这样就又省了一件事。直接在编译KDE软件包的脚本中,在./configure --prifix=/opt/kde-3.5.6 之前,就指定了了 $QTDIR 。所以,这些脚本可以一气贯通,顺序执行。如果去掉测试 Xorg 和 QT3 ,那么完全可以一条命令下去之后,出门逛街四小时之后再回来看看,KDE有没有安装上。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
我所说的问题是,我看手册上做的。帖出来,初学者看一下。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

如果这条命令,不是在命令行中手工敲出的,而是在一个文本中的(脚本)。
  1. export KDE_PREFIX=/opt/kde-3.5.6
复制代码

试运行:
  1. echo $KDE_PREFIX
复制代码

显示为空。

空是啥?空就是根。
那么就不会是安装到 /opt/kde-3.5.6 目录中了。

因为,安装脚本中写到的安装目录是 --prefix=$KDE_PREFIX 。手册上说到了,可以把KDE安装到/usr/xxx 目录中,也可以安装到 /opt/xxx 目录。为了方便以后安装升级新的KDE软件,我们习惯的把一些大型软件或者临时使用的软件放在/opt/ 目录下。

由于我们在定义过安装目录 $KDE_PREFIX 之后,有可能会因为这样或者那样的原因,需要临时退出系统。退出系统之后,这个变量会丢失。所以,在每次登录的shell中要安装KDE系列的软件包,必须要先定义安装目录。

当然,这样做就很繁琐。不如将它写入 /etc/profile 文件中。在每次用户登录时,都会加载。要临时使用,只需要执行 sources /etc/profile 。

这里抄一段 CBLFS 的做法:
  1. # Non-Multilib or Multilib
  2. # Installing KDE into /opt
  3. install -dv -m755 /opt/kde-3.7.5
  4. # Bash Startup Files
  5. cp /etc/profile /etc/profile_bak
  6. cat > /etc/profile << "EOF"
  7. # Begin /etc/profile
  8. # Based on the profile scripts in BLFS http://www.linuxfromscratch.org/blfs/view/svn/postlfs/profile.html
  9. for script in /etc/profile.d/*.sh
  10. do
  11.   source $script
  12. done
  13. unset script
  14. # End /etc/profile.d
  15. EOF
  16. install -d -m755 /etc/profile.d
  17. # Non-Multilib
  18. cat > /etc/profile.d/30-kde.sh << "EOF"
  19. # Begin /etc/profile.d/30-kde.sh
  20. export KDE_PREFIX=/opt/kde
  21. export PATH="${PATH}:${KDE_PREFIX}/bin"
  22. export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}${KDE_PREFIX}/lib/pkgconfig"
  23. export XDG_DATA_DIRS="${XDG_DATA_DIRS}${XDG_DATA_DIRS+:}${KDE_PREFIX}/share"
  24. export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS}${XDG_CONFIG_DIRS+:}/etc/kde/xdg"
  25. # End /etc/profile.d/30-kde.sh
  26. EOF
  27. source /etc/profile
  28. # Add a new entry to /etc/ld.so.conf for the libraries that KDE is going to install:
  29. cat >> /etc/ld.so.conf << "EOF"
  30. # Begin KDE addition to /etc/ld.so.conf
  31. /opt/kde/lib
  32. # End KDE addition
  33. EOF
复制代码

同样的,如果这一段用编辑了一个文本文件的方式来做,其中 source /etc/profile 这条命令,要验证一下它是否已生效,仍然需要 echo $KDE_PREFIX ,看屏幕上是否显示了定义的安装目录。如果没有显示,或者显示的不正确,需要再次运行 sources /etc/profile ,并且再次验证或者修改。

如果不注意这一点,可能会在白费了两、三个小时之后,又花大量的时间去查错。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表