Re: static linked ISA executables
Hi Yasha, Yasha Karant ykar...@csusb.edu writes: My intention is this. There exist applications on various other distributions (Fedora, Ubuntu, SuSE, etc.) that do not exist and will not build under SL 7. The intent would be to setup a development machine of the other distro, build the application from source as static as possible (with bloat by this mechanism), include whatever directories or files that need to be present, and then run the thing under SL 7 . I suggest just simply trying it. Here's what I see on Ubuntu 14.04 for a trivial test: $ cat foo.c int main() {return 0;} $ gcc -o foo -static foo.c $ ldd foo not a dynamic executable $ ./foo $ echo $? 0 I don't have SL7 handy, but copying that to RHEL 6.4 I get the same results for those last three commands. In a worst case, rather that using a physical machine, install the other distro in a virtual machine under VirtualBox (that runs very well under SL 7) -- with enough disk space assigned to the Virtual Box machine to allow for such a build. Some applications (such as a full window manager) I would not consider, but there are others of more limited generality that I would. I want to have easy access to a broad set of Linux distributions for the purpose of building and testing some software stacks for the various projects I'm involved in. I started out using VirtualBox to run Fedora Core 20 on my Ubuntu 14.04 workstation. It worked but was a real pain for me to set up and use and was noticeably slower when comparing the same processes running on the native host. There's no way I could efficiently scale this setup beyond even one virtual host. The setup was enough of a show stopper but the disk space for multiple VM images would start to become annoying. I then switched to using Docker containers and have been hugely impressed. Setup and use is very straight-forward. No messing around with GUIs to start but also it lends itself to both scripting/automation as well as one-off hacking. I can not notice any runtime performance difference between processes running in a container and ones running on the native host. And what's fairly killer is the smart way that images are overlayed to maximize reuse. It's kind of like git but for OS images. -Brett. pgprXzA33AY62.pgp Description: PGP signature
Re: Docker
You have answered my question. There are, roughly, using old terminology, heavy-weight containers and light-weight containers. VMware used to offer heavy-weight containers that would run any MS Win application under Linux (presuming the same underlying ISA), but were n some instances extreme resource hogs. Docker thus seems to be a light-weight container with strong limitations as to the differences in the underlying environment and OS structures (again, same ISA -- different ISAs require rather different approaches, including the old Sun approach on SPARC workstations of having a Sbus IA-32 coprocessor board to run a licensed copy of MS Win). Yasha Karant On 01/30/2015 10:14 AM, Jamie Duncan wrote: Using containers is nothing like using a fully virtualized kernel. It's using cgroups, kernel namespaces, and selinux to isolate applications within Linux and make them easier to deliver. So you can't run a windows app natively in docker. You'd have to run Wine in docker and execute your application that way. It's not a replacement for virtualizaton. On Fri, Jan 30, 2015 at 12:45 PM, Yasha Karant ykar...@csusb.edu mailto:ykar...@csusb.edu wrote: On a different (albeit related) thread, the recommendation was made to use Docker to port alien applications and environments (presumably with the ISA and basic machine components used by SL7) to SL 7. Looking at the Docker documentation and license (license reproduced below), this seems feasible -- rather than using any VM for the purpose of running such an application. How many have tried Docker? Does it work well? For example, will a legally licensed MS Win application that does not run under Wine/CrossOver work under Docker under SL 7 the same as it would under VirtualBox with a full install of say MS Win 8.1 (soon MS Win 10)? Can one make a Docker application package on the target host (e.g., SL 7) or does one need first a full install of the (virtual) base (e.g., DLLs and OS environment structures of the original host of the application, e.g., MS Win) under which to dockerize (e.g., run MS Win under VirtualBox under SL7, dockerize a MS Win application, and then run the dockerized application under SL7 without VirtualBox or any regular VM)? from -- https://www.docker.com/company/aboutus/ Business Model Docker, Inc. offers Docker-related products and services and is creating a network of certified professional support, training, and services providers. We are committed to keeping Docker open source under the Apache 2.0 license. Yasha Karant End quote. -- Thanks, Jamie Duncan @jamieeduncan
Re: Docker
Yasha Karant ykar...@csusb.edu writes: For example, will a legally licensed MS Win application that does not run under Wine/CrossOver work under Docker under SL 7 the same as it would under VirtualBox with a full install of say MS Win 8.1 (soon MS Win 10)? Docker containers run on Linux (the kernel) so, no, if your application requires honest-to-badness MicroSoft Windows don't plan on using Docker. Can one make a Docker application package on the target host (e.g., SL 7) or does one need first a full install of the (virtual) base I don't know what target (host? guest?) means here. A Docker image is a full OS (minus the kernel). To start you write one line in a Dockerfile like: FROM fedora:20 and do a docker build You can follow up this line with additional instructions (such as yum install ...) to further populate. If you have a second image that shares some portion of these instructions, or as you add more instructions, any prior existing layer is reused. I don't find a lot of bases for SL but there are ways to add new base OSes from first principles (CMS has some scripts in github) and there are established ones for centos. -Brett. pgp_1w7X1Cgek.pgp Description: PGP signature
Docker
On a different (albeit related) thread, the recommendation was made to use Docker to port alien applications and environments (presumably with the ISA and basic machine components used by SL7) to SL 7. Looking at the Docker documentation and license (license reproduced below), this seems feasible -- rather than using any VM for the purpose of running such an application. How many have tried Docker? Does it work well? For example, will a legally licensed MS Win application that does not run under Wine/CrossOver work under Docker under SL 7 the same as it would under VirtualBox with a full install of say MS Win 8.1 (soon MS Win 10)? Can one make a Docker application package on the target host (e.g., SL 7) or does one need first a full install of the (virtual) base (e.g., DLLs and OS environment structures of the original host of the application, e.g., MS Win) under which to dockerize (e.g., run MS Win under VirtualBox under SL7, dockerize a MS Win application, and then run the dockerized application under SL7 without VirtualBox or any regular VM)? from -- https://www.docker.com/company/aboutus/ Business Model Docker, Inc. offers Docker-related products and services and is creating a network of certified professional support, training, and services providers. We are committed to keeping Docker open source under the Apache 2.0 license. Yasha Karant End quote.
Re: Docker
Using containers is nothing like using a fully virtualized kernel. It's using cgroups, kernel namespaces, and selinux to isolate applications within Linux and make them easier to deliver. So you can't run a windows app natively in docker. You'd have to run Wine in docker and execute your application that way. It's not a replacement for virtualizaton. On Fri, Jan 30, 2015 at 12:45 PM, Yasha Karant ykar...@csusb.edu wrote: On a different (albeit related) thread, the recommendation was made to use Docker to port alien applications and environments (presumably with the ISA and basic machine components used by SL7) to SL 7. Looking at the Docker documentation and license (license reproduced below), this seems feasible -- rather than using any VM for the purpose of running such an application. How many have tried Docker? Does it work well? For example, will a legally licensed MS Win application that does not run under Wine/CrossOver work under Docker under SL 7 the same as it would under VirtualBox with a full install of say MS Win 8.1 (soon MS Win 10)? Can one make a Docker application package on the target host (e.g., SL 7) or does one need first a full install of the (virtual) base (e.g., DLLs and OS environment structures of the original host of the application, e.g., MS Win) under which to dockerize (e.g., run MS Win under VirtualBox under SL7, dockerize a MS Win application, and then run the dockerized application under SL7 without VirtualBox or any regular VM)? from -- https://www.docker.com/company/aboutus/ Business Model Docker, Inc. offers Docker-related products and services and is creating a network of certified professional support, training, and services providers. We are committed to keeping Docker open source under the Apache 2.0 license. Yasha Karant End quote. -- Thanks, Jamie Duncan @jamieeduncan
Re: Docker
On 01/30/2015 10:32 AM, Brett Viren wrote: Yasha Karant ykar...@csusb.edu writes: For example, will a legally licensed MS Win application that does not run under Wine/CrossOver work under Docker under SL 7 the same as it would under VirtualBox with a full install of say MS Win 8.1 (soon MS Win 10)? Docker containers run on Linux (the kernel) so, no, if your application requires honest-to-badness MicroSoft Windows don't plan on using Docker. Can one make a Docker application package on the target host (e.g., SL 7) or does one need first a full install of the (virtual) base I don't know what target (host? guest?) means here. The application, say A, runs under environment (OS) X, not environment Y. One wants A under Y. The target is Y. Can one build A under Y using the appropriate chunks from X with Docker, or does one re-build (dockerise) A under X for target Y? In the first event, one only needs to be running Y; in the second event, one needs to be running X to build for Y. A Docker image is a full OS (minus the kernel). To start you write one line in a Dockerfile like: FROM fedora:20 and do a docker build You can follow up this line with additional instructions (such as yum install ...) to further populate. If you have a second image that shares some portion of these instructions, or as you add more instructions, any prior existing layer is reused. I don't find a lot of bases for SL but there are ways to add new base OSes from first principles (CMS has some scripts in github) and there are established ones for centos. -Brett. Presumably, any application that will run under CentOS, in particular, CentOS 7 that is the RHEL source release for other ports, such as SL 7, should be able to run under SL. My understanding is that SL 7 is not built from the actual RHEL 7 source that is used to build RHEL 7 that is licensed for fee, but from the RHEL packaged CentOS source (CentOS now effectively being a unit of Red Hat, a for-profit corporation) that is used to build CentOS 7 (that, as with SL 7, is licensed for free as a binary installable executable system that requires no building from source per se). Yasha