ubuntn系统中ssh安装,使用Systemback将ubuntn打成iso镜像及无限出现please remove the installation medium then press enter,丢失及安装及拷贝的文件的问题
本人在ubuntn系统下安装ssh,由于客户虚拟机连的是内网,无法连接外网,而且没有办法使用挂载usb的方法,不能挂载共享存储,不能使用双iso。最终解决办法是在联网ubuntn虚拟机下先安装ssh,再使用Systemback打镜像的方法,最终解决了问题。
需要了解的是,以前ubuntn系统打镜像还有一种工具是Remastersys,但是这种工具官方已经不再维护和使用,互联网上查到的所有使用Remastersys应该都不能使用了,所以还是推荐大家使用Systemback打镜像。但是好像不能使用#sudo update-initramfs 命令了
我使用的ubuntn版本是ubuntu-16.04.6-desktop-amd64,这个安装方法比较简单;而ubuntu-16.04.6-server-amd64版本中文安装有坑,关于ubuntn系统的安装,这里就略过了。
一.ssh
ssh(安全外壳协议),包含远程连接协议和远程文件传输协议,有了这两个协议,才能使用xshell等工具进行远程连接
因为Ubuntu系统默认没有安装ssh(安全外壳协议),所以没有远程协议,从Ubuntu系统ping本机ip是可以通的,而本机pingUbuntu系统虚拟机的ip是不通的。而linux的某些系统自带openssh_server,比如centos就不用安装ssh。因为ubuntn没有默认安装openssh_server,没有办法进行远程连接,我们要做的就是在ubuntn中安装ssh。
二.ubuntn中ssh的安装
2.1虚拟机可以联网的情况下:
下载openssh-server,并设置为自启动,命令如下:
sudo apt-get install openssh-server #下载ssh
#使用gedit 编辑器也可以,命令是:(二选一)
sudo vi /etc/rc.local 或 sudo gedit /etc/rc.local #打开配置文件,设置开机自动启动
末尾exit 0之前一行加入下面这行
/etc/init.d/ssh start
验证流程(后面就不在赘述了)
#输入命令检测是否打开,若出现下图所示,表明ssh已经打开,输入命令为:
sudo ps -e | grep ssh
#若未打开,输入命令:
sudo service ssh start 或 sudo /etc/init.d/ssh start
2.2虚拟机不能联网的情况下(比较复杂了,又分成好几种情况)
首先要准备两台电脑,
A:能连外网
B:客户的虚拟机(不能联网)
2.2.1使用离线版本进行安装(以我使用的版本为例)
在A机器上下载离线openssh7.2.rar,然后可以通过挂载u盘的方式将文件传到B机器的虚拟机上
openssh7.2.rar百度网盘链接:
https://pan.baidu.com/s/1IGKqWo7yqFmc3piTZUBerQ
提取码:t8qf
执行下面代码:
#将解压后的4个文件放在/home/test文件夹中(test新建一个)
sudo touch /home/test
cd /home/test
sudo dpkg -i *.deb #(批量处理后缀名为.deb的文件)
如果不行,就一个一个执行sudo dpkg -i XXX.deb
然后执行验证流程(见上)
附录:Ubuntu安装deb时错误:“dpkg:错误:另外一个进程已经为 dpkg 状态数据库 加锁”
解决办法一:
sudo rm /var/lib/dpkg/lock #这种方式不要尝试,系统很容易挂,不过我的没事
sudo dpkg --configure -a #执行修复
解决办法二:重启
2.2.2将ssh打成iso镜像,使用双iso打开ubuntn(两个iso文件)----------------------------不能挂载u盘时可以使用,前提是创建虚拟机时可以支持多个iso文件,需要使用软碟通UltraISO制作iso镜像
我自己制作的iso镜像:
https://pan.baidu.com/s/1SaAEELHIxSf9EfsmcDo8ow
提取码:vb6y
(1.)A机器联网ubuntn虚拟机操作
# 在A联网ubuntn虚拟机上更新缓存相关的依赖包
sudo apt-get -d update
# 缓存openssh-server包
sudo apt-get -d install openssh-server
# 进入到缓存目录
cd /var/cache/apt/archives
# 先在A机器上测试安装
sudo dpkg -i *.deb
# 安装完毕后查看是否安装成功
sudo service ssh status
# 安装成功后,将所有的deb包打包成tar.gz文件
sudo tar -czvf ssh.tar.gz *.deb
(2)在A机器上利用UltraISO工具将ssh.tar.gz文件转换成iso文件,以下是打iso的方法步骤,中文版与英文版位置一样,因为镜像比较小,试用版就行。
(3.)在B不能联网的虚拟机上:
== 注意:不能同时使用ubuntn系统和刚制作的ssh镜像创建虚拟机==
先创建ubuntn虚拟机,安装好系统后,在修改虚拟机配置,添加一个新的cd/dvd,挂载ssh的iso
进入桌面后就能看到两个光盘文件,直接将里面的ssh.tar.gz文件复制出来,找个地方解压就行,解压安装方法见2.2.1
(4)检查配置文件,有问题就修改
cat /etc/ssh/ssh_config
查看配置文件中的Port 22和PasswordAuthentication yes
如果这两行配置文件被注释掉了,就将这两项的注释去掉
(5.)重启服务,检查服务状态(见上2.1)
2.2.3先在ubuntn安装ssh,在打镜像(一个iso文件)
在联网的A机器上,安装好ubuntn系统的虚拟机后,详见2.1(开始处)
如果后面还有需要联网安装的软件一并执行
如果遇见需要更新内核的操作,如将nouveau添加到黑名单blacklist.conf中,需要先执行,用此方法打镜像后update-initramfs命令就不能用了,可以先将需要执行此命令的操作做了之后,在打镜像
1.安装Systemback:
sudo add-apt-repository ppa:nemh/systemback #添加ppa源
sudo apt-get update #更新软件库
sudo apt-get install systemback unionfs-fuse #安装systemback
卸载命令为:sudo apt-get remove systemback
2,将需要安装的东西安完之后,开始镜像的制作,找到该应用后双击进入
然后就可以等待制作了
如果镜像大于4g的话
(1.)解压 .sblive 文件:
mkdir sblive
tar -xf (.sblive文件的全路径) -C sblive
(2)重命名 syslinux 至 isolinux:
mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
mv sblive/syslinux sblive/isolinux
(3)安装 cdtools
aria2c -s 10 https://nchc.dl.sourceforge.net/project/cdrtools/alpha/cdrtools-3.02a07.tar.gz
tar -xzvf cdrtools-3.02a07.tar.gz
cd cdrtools-3.02
make
sudo make install
(4)切换到sblive所在目录,生成 ISO 文件:
/opt/schily/bin/mkisofs -iso-level 3 -r -V sblive -cache-inodes -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o sblive.iso sblive
制作完iso镜像之后,安装此镜像才是重点
已经安装了ssh,所以可以用xshell拷贝出来,或者挂载U盘拷贝出来,就可以放到B机器上去创建虚拟机了
使用此镜像创建完虚拟机后进入登录页面之后必须先重启,以后安装的文件等都会丢失,具体操作如下:(以下在无网络的B虚拟机进行)
重启后首先会出现这个画面: Please remove the installation medium,then press ENTER,此时要按回车键进行确认,否则会卡在这
注意此图
后面就是用户名密码等设置了,较为简单,就不放图了,然后进入分区界面设置,这里需要注意一下,操作不对的话就没办法进入下一步了
点击完7之后,不需要其他操作了,就能直接点击下一步了,进行后续安装
静静的等待安装结束后重启即可,至此,镜像安装结束。
==注意:==使用此方法打的iso镜像,如果不选择Boot System installer的话,而选择第一种默认方式进入系统的话,每次重启虚拟机都会碰到Please remove the installation medium,then press ENTER,而且重启后发现,系统会被还原到最原始的打成的iso的形态。
所以一定要选择Boot System installer,如果错过了,重启虚拟机也是可以再次进到选择界面的,此时安装完后出现Please remove the installation medium,then press ENTER是正常现象,正确安装后,再次重启,就不会碰到Please remove the installation medium,then press ENTER了,能正常使用,不必担心重启文件丢失及系统还原的问题了。
还有一种方式是挂载共享存款,因为客户没有共享存储,因此没有试过那一种方式可不可行。
综上,ubuntn系统中ssh安装有网络一种办法,最简单。无网络我自己试了三种办法,可以根据实际需要去选择。使用Systemback给ubuntn打镜要会。