LFS附加版——利用XShell和WinSCP辅助开发

对于LFS,相信很多人都是利用VMware10以上版本所自带的复制黏贴功能来实现开发的,对于VMware10以下的版本,还有一种开发模式,就是远程登录开发模式,即利用XShell辅助开发。XShell可以自行在网上搜索,接下来要用到的WinSCP也自行搜索

LFS+XShell

回到最初的起点,这次教程要结合另一篇文章来看,《LFS详细搭建指南——适合初学者使用

首先打开计算机的服务,查看“VMware NAT Service”和“VMware DHCP Service”有没有开启,没有开启要开启服务,具体方法可以查看另一篇文章《LFS进阶版(QT)——GUI界面的实现

然后在root下,也就是刚开始的时候执行以下代码

net-setup

然后选中默认的第一个(eth0),直接回车即可

接着也是选中默认的第一个dhcp,直接回车即可

然后就可以找到虚拟机的ip地址,比如下图
ip

其IP地址为192.168.19.128

然后启动虚拟机里面的sshd服务

/etc/rc.d/init.d/sshd start

因为sshd默认不运行无密码用户登录,所以我们还需要修改下root用户的密码:

passwd

接着我们在XShell中运行以下代码即可运行,其IP为之前所记IP

ssh root@192.168.19.128

如图,连接成功
XShell

接下来就可以很方便的复制黏贴代码进行开发了。同时还有一点需要注意,由于使用了XShell,所以虚拟机的快照服务是没办法恢复工作环境的,因为XShell无论怎么运行,虚拟机界面始终保持在最初的状态。如果用XShell开发的话,每次重新连接都得重启虚拟机,并按照以下重启恢复工作状态的步骤来恢复工作状态

重启恢复工作状态

一、从开始一直到完成Stripping中如果重新启动的恢复步骤:
1.重新启动计算机,并从LiveCD启动(有的虚拟机会默认从LiveCD启动,所以这步可有可无)

相关知识点

在VMWare中因为磁盘已经有了信息了,所以会从磁盘启动,需要在启动虚拟机中的机器时按F2进入虚拟机的虚拟BIOS,然后在BOOT中设置第一启动为CD-ROM,保存退出即可,如图
BIOS

2.LiveCD启动过程同第一次启动选择一样

3.加载分区

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

4.建立工具链的链接

ln -sv $LFS/tools /

5.创建lfs用户

groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd lfs
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources
su - lfs

6.建立lfs用户的环境

cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
EOF
source ~/.bash_profile

7.检查一下

export

应该输出如下

declare -x HOME=”/home/lfs”
declare -x LC_ALL=”POSIX”
declare -x LFS=”/mnt/lfs”
declare -x OLDPWD
declare -x PATH=”/tools/bin:/bin:/usr/bin”
declare -x PS1=”\u:\w\$ ”
declare -x PWD=”/home/lfs”
declare -x SHLVL=”1”
declare -x TERM=”linux”

8.进入编译目录

cd $LFS/sources

基本上就恢复工作状态了

二、创建两个目标系统所必须的设备文件结束后,重新启动的恢复步骤

1.重新启动计算机,并从LiveCD启动(同上面的第一个情况)

2.加载分区

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

基本上就恢复工作状态了

三、Chroot到目标系统的目录之后,建立目标系统的目录结构之前,重新启动的恢复步骤

1.重新启动计算机,并从LiveCD启动(同上面的第一个情况)
  
2.加载分区

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

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

4.Chroot到目标系统下

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

基本上就恢复工作状态了

四、从Linux-2.6.22.5为Strip而进入chroot环境结束,重新启动的恢复步骤

1.重新启动计算机,并从LiveCD启动(同上面的第一个情况)

2.加载分区

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

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

4.Chroot到目标系统下

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

5.进入编译目录

cd /sources
export LFS=/sources

基本上就恢复工作状态了

五、为Strip而进入chroot环境结束后,要重新启动的恢复步骤
1.重新启动计算机,并从LiveCD启动(同上面的第一个情况)
  
2.加载分区

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

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

4.Chroot到目标系统下

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

基本上就恢复工作状态了

六、为最后的设置进入chroot环境结束后,一直到开发结束,重新启动的恢复步骤

1.重新启动计算机,并从LiveCD启动(同上面的第一个情况)

2.加载分区

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

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

4.Chroot到目标系统下

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

基本上就恢复工作状态了

BLFS+XShell+WinSCP

按教程安装完成LFS后是无法使用XShell的,因为少装了openssl和openssh了,具体流程跟《LFS进阶版(QT)——GUI界面的实现》安装wget命令类似

首先,重新启动计算机,并从LiveCD启动

然后加载分区

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

加载必要的文件系统

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

进入source目录下载相关安装包

cd /mnt/lfs/sources
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

chroot到目标系统下

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

进入编译目录

cd /sources  
export LFS=/sources

安装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 

重新启动计算机,回到自己搭建的系统中(Hard Drive)

blfs-bootscripts

cd /opt/blfs-bootscripts-20060910  
make install-sshd 

注意

要是缺少blfs-bootscripts-20060910,可以用wget重新下载解压,执行以下代码

cd /opt
wget http://www.linuxfromscratch.org/blfs/downloads/cvs/blfs-bootscripts-20060910.tar.bz2
tar -jxvf blfs-bootscripts-20060910.tar.bz2
cd blfs-bootscripts-20060910
make install-sshd

最后修改下配置文件

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

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

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

然后重启

reboot

接着在XShell中输入代码,IP地址是之前安装LFS自定义的,密码是登陆密码

ssh root@192.168.19.129

即可实现连接

对于WinSCP,打开WinSCP,配置如下,需要填写文件协议,主机名,用户名为root,密码为登陆密码
WinSCP

连接成功页面,左边为本主机文件,右边为虚拟机中文件,可以直接拖拽实现文件传输,十分方便
WinSCP

至此,辅助开发工具XShell和WinSCP也介绍完毕了,希望能帮助到有需要的人~

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值