1

I need to install openssh on my Ubuntu 32bit VM. However I cannot straight do apt-get install openssh-server as it fails in resolving many required dependencies. Thanks to my companies super creepy proxy settings. Now I have all Windows machine here and one 64 bit Ubuntu with openssh installed. So I cannot copy paste .deb from this machine to my Ubuntu VM and install as my deb packages will have different architecture (32 bit vs 64 bit).

So I went on downloading 32 bit packages from this site (Thank god, my company's IS team has not discovered this website yet!!!). However I dont know what all packages will be required by openssh as its dependencies. I checked my Ubuntu 64 bit machine. By sorting var\cache\apt\archive by date, I realised that on the day when I installed openssh on that machine, following packages were installed:

  • openssh-sftp-server
  • openssh-server
  • openssh-client
  • libck-connector0

So here is what I did:

  • I downloaded debs of 32 bit versions of the above from the site and ran sudo dpkg -i *.deb. It said it requires ssh-import-id package.
  • I downloaded ssh-import-id and again run above command again. It said "ssh-import-id is not configured yet as it requires python-requests".
  • I downloaded that and ran the command. It said "python-requests is not configured yet as it requires python-urllib3".
  • So I downloaded python-urllib3 and ran the command. This time it said "libpython2.7-stdlib:i386 (2.7.9-ubuntu3) breaks python-urllib3 (<< 1.9.1-3) and is installed"

I guess I installed wrong versions and also at each step when the installation failed, the some of the packages were installed, some were not and those which were installed are left ill-configured. So each time I ran sudo dpkg -i, I should have uninstalled the packages I installed ealier.

I feel this is a lot of pain. Also it is very difficult to know and install correct versions of all dependencies. Is there any way by which I can:

  1. Capture list of currently installed packages on my VM,
  2. Upload it on some site,
  3. Specify what I want to install next and
  4. in return that website would tell me what all .deb packages I will need

I would have downloaded all those manually from above site and then installed them.

Is there any such way? What other options I am left with?

0

Download and install gdebi.deb for your architecture.
Download openssh-server.deb. Right-click on it and choose "Install with gdebi" option. Gdebi will tell you about missing dependencies, one-by-one. Download each depending deb package and install them one-by-one using Gdebi. I know it's an excruciating pain when having many dependencies to meet, but it's the only failsafe method i know. I just hope you'll have the patience for it.

  • am thinking to have another VM running Ubuntu 14.04 LTS at my home. Clean its var/cache/apt/archive. Then install openssh-server. Finally copy all newly downloaded debs from var/cache/apt/archive of my home VM to my office VM and then install from debs. Will this work? – Maha May 24 '16 at 9:41
  • Why having another VM? VMs are creating virtual-hard-disks as single very large file (e.g. vm_name.vdi). VMs are installing OS in that file. A Ubuntu 32bit VM file could be as little as 10GB, i think. You can copy that file to an sd card, usb stick, etc, take it home and run it on your PC. It should work fine. I've done that, running a LinuxMint VM in VirtualBox in Ubuntu, and then running the same VM in VirtualBox in Windows. – ipse lute May 24 '16 at 10:38
  • OR You could try a portable app for Windows like this one: pendriveapps.com/mobaxterm-portable-x-server-and-ssh-client. Many PortableApps.com software are known to run well in Ubuntu under Wine. One app for both Win and Ubuntu! Take it everywhere with you. – ipse lute May 24 '16 at 10:49
  • Office PC's USBs are blocked... So taking anything that big out of my office PC would be difficult. I was planning to move debs through mail. Debs shouldn't be that big. Anyways will my above approach work? – Maha May 24 '16 at 11:03
  • Possible. I didn't try it. Such server might have dozens of debs required. Or you could try to use Microsoft Azure (very hot technology) and create a Ubuntu VM in Azure, in the cloud. Set up your ssh-server in there and access it everywhere without hassle. Or copy it locally. Your choice. – ipse lute May 24 '16 at 12:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.