Is EC2 Ubuntu 12.04 different, if compiling Haskell locally? - haskell

So I want to compile a Haskell program locally, and then upload it to my EC2 Ubuntu 12.04 (free trial) instance.
My question is, will it work on EC2 if I compile my haskell program on an official Ubuntu 12.04 distribution (say in virtualbox)?
Or do I need exactly the same version of Ubuntu as Amazon is running? Do it have to have the exact same set of updates etc..?
P.S. If yes - where do I get the Amazon's version of Ubuntu?
Thanks!

I do this on a regular basis, it should work just fine. Just make sure you're using the same architecture (32- or 64-bit).
You can get a list of the different Ubuntu AMIs at:
https://help.ubuntu.com/community/EC2StartersGuide

If you are using the official Ubuntu AMIs from https://cloud-images.ubuntu.com/releases/, you have the exact same binaries as the official Ubuntu distribution (as long as the architecture is the same: 32-bit or 64-bit). The only difference should be which packages are installed by default (so you might need to install a few extra packages). And as long as both are kept updated, both will also have the exact same set of updates.
Even if you are using AMIs created by someone else, it should still be the same; I believe most Ubuntu AMIs would be created by installing the official Ubuntu distribution.

Related

Should my Docker base image variants match my underlying host OS?

For example, I have a server running Ubuntu 16.x that hosts a set of Docker containers that are running FROM node:x.x.x-stretch. The stretch variant is built off of Debian Jessie (the same version Ubuntu 16.x is built off of).
Is there any reason I shouldn't be using the latest Node image (node:x.x.x-buster), where -buster is built off of Debian 10?
From what I understand, this means that my node image would be more up-to-date / supported longer at the small cost of having less shared with the underlying host OS. Am I missing anything?
The main reason why people don't automatically update to the latest version, is due to package dependencies. It's difficult to keep track of what packages are dependent on what version of node, let alone what version of other packages.

Are there any limitations regarding the age of a linux distribution which can be used to create a docker base-image?

Im wondering if its possible to use very old Linux Distribution like Debian GNU/Linux 3.1 (Sarge) and create a base-image of it to run legacy code not working under "younger" distros.
Only Thing i found about it was somebody successfully using Ubuntu Feisty: Run old Linux release in a Docker container?
Are there any known limitations?
Your host needs to have a minimal version of the Linux kernel, and that version is 3.10
See
Docker minimum kernel version 3.8.13 or 3.10
extract from the previous link
There's also a shell-script to check if your system has the required dependencies in place and to check which features are available;
https://github.com/docker/docker/blob/master/contrib/check-config.sh
So you can use this to check if you will be able to use docker on this host.
From
https://wiki.debian.org/DebianSarge?action=show&redirect=Sarge
I see
kernel : linux 2.4.27 and 2.6.8
So it may not work

Oracle on lxc in ubuntu

I'm currently trying to install an oracle server (11g) in a linux container on ubuntu (following this tutorial (http://www2.hawaii.edu/~lipyeow/ics321/2014fall/installoracle11g.html).
When I try to change the file handler with sysctl, the modifications doesn't save into my container. Moreover, when I make the modification in the main ubuntu kernel, it propagates to the containers, so my question is as follow:
How can I modify the file handlers only in my oracle container ?
Thanks.
Try out the Orabuntu-LXC project code. It supports Ubuntu 16.04, 17.04, 17.10 and is purpose-built for running Any Oracle on Any Linux, including Ubuntu Linux. Note that as you probably already know, Oracle Corp does not formally support or certify Oracle on Ubuntu Linux.
As far as you question about the file handlers, some sysctl values can only be set at the LXC host level, and some can be set in the container.
https://sites.google.com/site/nandydandyoracle/oracle-rac-in-lxc-linux-containers/oracle-lxc-vlc#TOC-Install-the-etc-sysctl.conf-File-Required-for-Oracle
https://github.com/gstanden/orabuntu-lxc
https://sites.google.com/site/nandydandyoracle/
Please note that the step-by-step guides are quite old and that the basic LXC infrastructure together with OpenvSwitch, an LXC-containerized DNS/DHCP, and an optional SCST Linux SAN can all be installed on Ubuntu 16.04, 17.04 and 17.10 with one command:
./anylinux-services.sh
after completion of which all you would need do is download your Oracle database installtion media and install.

Gitlab on suse linux

I want to install Gitlab on the suse linux OS.
Could some one please suggest me which OS supported Gitlab installer from the available ones on Gitlab site : Ubuntu, Debian and Centos can be used to install Gitlab on Suse linux ?
OS details :
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 4
I'm afraid that Suse is a complete different system. They use a package manager called YaST that won't be compatible with any of the proposed OS on the GitLab website.
Alternatively, you can try installation via Docker (Hopefully your system is 64bits):
https://gitlab.com/gitlab-org/gitlab-ce/tree/master/docker
Or the hard way, manually:
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md
Or even pop an instance somewhere in the cloud but this would involve some costs.
For all other OSs it has packages to install all the required components, but for SUSE there is no package, so you will have to install all the required components like ruby, redis, mysql and other dependent libs on your own.
You may like to try this :
https://gist.github.com/rriemann/5163741
or
https://gist.github.com/jniltinho/5565606
Since I found this answer while looking for the installation on SUSE 12 (SP3), there is one of the currently working options (2021).
First, check the version supported on the system, (Gitlab 12.1 in case of SUSE 12 SP3, which corresponds to OpenSUSE 42.3)
After that, get the proper .rpm file using wget.
Install with
sudo EXTERNAL_URL="http://gitlab.my.domain" rpm -ivh path/to/file/filename
That's it. Some Versions of Omnibus for SUSE are supported directly, but it really depends on the host system version.

Ubuntu Upgrade ( Dual Boot with Windows 7)

I currently have Ubuntu 10.04 installed alongside windows 7 and would like to uninstall it so i can use 12.04. Having looked on the net it seems as if it is rather complicated to uninstall without encountering anuy issues.
Does anyone know of an Idiot Proof way of uninstalling without breaking my laptop. Im not that technical when it comes to dealing with Operating systems
Thanks
https://wiki.ubuntu.com/PrecisePangolin/TechnicalOverview/Beta2
There is a section called : Upgrading from Ubuntu 11.10 or Ubuntu 10.04 LTS
Make backup copy of data you want to save from your existing Ubuntu to the external drive. 2. Prepare new Ubuntu LiveCD.
Boot from new LiveCD and install new Ubuntu instead of old one - Ubuntu installer should have such option.
Then restore yout data from external drive. This is how I would do this.

Resources