BLFS之安装openssh

制作LFS就不说了,网上一找一大堆资料,我是参照下面这篇文档做的。

http://blog.chinaunix.net/uid-20772927-id-579133.html

下面主要说制作BLFS的方法。

blfs虽说是在lfs的基础上安装一些实用性软件,但是一开始是完全没有任何头绪的,从哪里下手都不知道。我是在网上找了好多资料才有点理解的。

一.一开始我以为做好lfs以后就可以在lfs上blfs所需要的软件包进行安装了。但是进入lfs后才发现连wget命令都没有,根本就无法下载软件。所以只能从livecd进入系统装好wget命令。

二.装好wget后以为没问题了,但是紧接着又发现手动输入命令是一个极大问题,本来想用putty,但发现登陆不了了。按照制作lfs前的准备工作改root密码、修改sshd_config文件和启动ssh服务也不行,最后看到网上提到openssh,可能是没装这个软件包,然后就又回到livecd按照官方手册安装。

三.因为lfs是依赖于livecd的,简单地说lfs实际上是安装在livecd中的一个分区里面,所以在livecd必须将这个分区mount进来,下载的软件包就保存在lfs中了,即使从lfs启动软件包也已经存在于其磁盘中了。所以我先在livecd中下载blfs所要的软件包。(其实也可以在livecd中安装blfs的软件包。)

 

1.做好lfs后重启可能发现无法启动livecd了,这个时候需要在启动的时候更改启动方式为CD-ROM启动。

2.livecd启动后重新进入lfs的步骤为:

1加载分区

export LFS=/mnt/lfs
mkdir -pv $LFS
mount /dev/hda2 $LFS

2加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)

swapon /dev/hda1

3加载必要的文件系统

mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts
mount -vt tmpfs shm $LFS/dev/shm
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys

4chroot到目标系统下

chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login

5进入编译目录

cd /sources
export LFS=/sources


3.接下来就可以安装wget和openssh了

下载软件包

wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz
wget http://www.linuxfromscratch.org/patches/blfs/6.3/openssl-0.9.8g-fix_manpages-1.patch
wget ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.7p1.tar.gz

安装命令

---------------wget-----------------

tar xvf wget-1.10.2.tar.gz
cd wget-1.10.2
./configure --prefix=/usr --sysconfdir=/etc &&
make
make install
cd ..
rm -rf wget-1.10.2

这里可能有读者会有疑惑,前面还没下载wget的安装包,这里怎么安装?

我的做法是在livecd里面讲wget的安装包下载到sources目录,然后进入lfs安装。

wget安装包的下载地址: ftp://ftp.lfs-matrix.net/pub/blfs/6.2.0/w/wget-1.10.2.tar.gz


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


-------------openssh----------------
tar xvf openssh-4.7p1.tar.gz
cd openssh-4.7p1
install -v -m700 -d /var/lib/sshd &&
chown -v root:sys /var/lib/sshd &&
groupadd -g 50 sshd &&
useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \
-s /bin/false -u 50 sshd
sed -i 's@-lcrypto@/usr/lib/libcrypto.a -ldl@' configure
sed -i 's@ -ldes@@' configure &&
./configure --prefix=/usr --sysconfdir=/etc/ssh --datadir=/usr/share/sshd \
--libexecdir=/usr/lib/openssh --with-md5-passwords \
--with-privsep-path=/var/lib/sshd \
--with-xauth=/usr/bin/xauth &&
make

if test -f /usr/bin/scp
then
mv /usr/bin/scp /usr/bin/scp-bak
fi &&
cp scp /usr/bin/scp &&
make tests 2>&1 | tee check.log
grep "FATAL" check.log

rm /usr/bin/scp &&
if test -f /usr/bin/scp-bak
then
rm /usr/bin/scp-bak
fi &&

make install &&
install -v -m755 -d /usr/share/doc/openssh-4.7p1 &&
install -v -m644 INSTALL LICENCE OVERVIEW README* WARNING.RNG \
/usr/share/doc/openssh-4.7p1
cd ..
rm -rf openssh-4.7p1


----------------blfs-bootscripts----------------
tar xvf blfs-bootscripts-20060910.tar.bz2
cd blfs-bootscripts-20060910
make install-sshd
cd ..
rm -rf blfs-bootscripts-20060910

在blfs-bootscripts里面make install-sshd后ssh就会自动启动。


还差最后一步:

用vi打开文件/etc/sshd/sshd_config

1.找到#port 22,将前面的注释去掉;

2.找到#PermitRootLogin yes,同样将前面的注释去掉。

这时候就可以复制粘贴命令了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值