许三爷说,Ubuntu的离线安装跟屎一样。
最近的经历让我对如此不逊的言语十分赞同。
那屎一样的离线安装。
联网的日子里,安装openssh-server只需要执行:
sudo apt-get install open-server
即可,工具会自动解决依赖问题。没有安装的依赖会自动安装。
Windows的日子中,一个安装包,下一步,下一步,搞定。
可是离线的Ubuntu要怎么安装openssh-server呢?
第一次尝试官网下载deb安装包
这个网站里面都是官方支持的软件包,搜索openssh-server,来到
http://packages.ubuntu.com/vivid/openssh-server
里面看到有很多依赖。我先无视之,然后点击下载amd64的版本。
执行:
sudo dpkg -i xxx
然后安装不成功,我就一个一个下载依赖的,但是很快就出现了循环依赖。
程序安装不下去了,我的系统也废了。
第二次尝试“制作离线安装包”
网友莫川的做法还是值的借鉴的。网址:http://blog.csdn.net/nupt123456789/article/details/11649603
无法上网的机器是Ubuntu15.04,我在联网的虚拟机中安装了相同的系统,然后制作离线安装包。
一、下载deb安装包
$ sudo apt-get -d install openssh-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libck-connector0 ncurses-term openssh-client openssh-sftp-server ssh-import-id
Suggested packages:
libpam-ssh keychain monkeysphere rssh molly-guard
The following NEW packages will be installed:
libck-connector0 ncurses-term openssh-server openssh-sftp-server ssh-import-id
The following packages will be upgraded:
openssh-client
1 upgraded, 5 newly installed, 0 to remove and 328 not upgraded.
二、新建openssh文件夹,将上述下载的deb包(连同archives文件夹)拷入。
mkdir openssh
cp /var/cache/apt/archives openssh
sudo chmod 777 -R openssh
三、生成依赖关系
$ sudo dpkg-scanpackages /openssh/ /dev/null |gzip >/openssh/Packages.gz
注意请不要修改Packages.gz这个命名,然后将其拷到openssh/archives下。
$ mv openssh/Packages.gz openssh/archives/
四、离线机器上安装
1、将openssh文件夹用U盘拷到离线机器的根目录下。
2、修改系统源source.list(注意之前要备份)
$ sudo vim /etc/apt/sources.list
将里面内容删掉,加入:
deb file:///openssh archives/
3、更新系统源并安装
$ sudo apt-get update
$ sudo apt-get install openssh-server
这样在一台虚拟机中安装没有问题,可是在离线机器中报错找不到相应的deb文件。
尝试解决无果,最后还是直接用dpkg -i 来安装,将需要的几个依赖包先安装好,再安openssh-server。
果然可以了。