zoukankan      html  css  js  c++  java
  • CDE: Lightweight application virtualization for Linux

    CDE: Lightweight application virtualization for Linux

    CDE: Automatically create portable Linux applications

    CDE (formerly known as CDEpack) automatically packages up the Code, Data, and Environment required to deploy and run your Linux programs on other machines without any installation or configuration. CDE is the easiest way to completely eliminate dependency hell.
    To get started, download the CDE binary (32-bit or 64-bit) and follow these steps:
    1. Package
    Prepend any set of Linux commands with the "cde" binary, and CDE will run them and automatically package up all files (e.g., executables, libraries, plug-ins, config/data files) accessed during execution.
    2. Deliver
    A package is simply a directory that can be compressed and delivered to any x86-Linux machine. It contains all the files and environment variables required to run your original commands. Packages can range from 10 to 100 MB in size.
    3. Run
    After receiving the package, the user can now run those same commands from within the package on any modern x86-Linux distro. The user does not need to first compile, install, or configure anything.
    CDE implements a form of lightweight application virtualization that allows you to easily distribute portable software, to deploy applications to the cloud, to make computational experiments reproducible, and to run software on non-native Linux distros without conflicts.

    Below the fold

    CDE is being developed by me, a Computer Science Ph.D. student named Philip Guo. These research papers provide more details about CDE's inner-workings and use cases:

    • Philip J. Guo, Dawson Engler. CDE: Using System Call Interposition to Automatically Create Portable Software Packages. In Proceedings of the 2011 USENIX Annual Technical Conference, June 2011. [ Download PDF | Extended technical report (PDF) ]

    • Philip J. Guo. CDE: Run Any Linux Application On-Demand Without Installation. In Proceedings of the 2011 USENIX Large Installation System Administration Conference (LISA), December 2011. [ Download PDF ]

    CDE delivers on one simple promise: If you can run a set of commands on your Linux machine, then CDE allows others to easily re-run those same commands on their Linux machines.

    To enable Windows and Mac users to run your CDE packages, you can embed them within a virtual machine (e.g., using a lightweight distro like Tiny Core Linux).

    An astute reader will notice that CDE packages might be incomplete since they only contain the files accessed on executed paths. It's easy to manually augment packages with additional files to make them complete.

    Demos

    This 4-minute screencast shows what CDE can do:

    Here's a 10-minute overview of a common CDE use case:

    If you're really patient, then you can watch my 1-hour Google Tech Talk. I give a 20-minute live demo starting at around 32:00.

    Download

    CDE is implemented as a single portable binary named "cde". These pre-compiled binaries (released on 2011-08-15) should work on any modern x86-Linux distro:

    After downloading, rename the file to "cde", make it executable ("chmod u+x"), and then consult the user manual.

    These binaries probably don't contain the latest features and bug fixes. If you want to run the latest version of CDE, you must download and compile its source code. If you don't want to go through this hassle, send me an email at philip@pgbovine.net and I'd be happy to help you with the compilation process. The CDE source code resides in a public GitHub code repository. You can check out the latest copy and compile using these commands:

    git clone git://github.com/pgbovine/CDE.git
    cd CDE
    make
    

    Feedback

    If you have questions, feedback, bug reports, or feature requests, email me at philip@pgbovine.net or join the cde-users mailing list.

    If you find CDE useful, please take a moment to email me and let me know how you're using it. I want to collect more anecdotes about interesting use cases!

  • 相关阅读:
    Javascript中最常用的55个经典技巧(转)
    Yahoo!网站性能最佳体验的34条黄金守则(转载)
    你误解了Windows的文件后缀名吗?
    你不知道的Spring配置文件
    Thrift 个人实战--Thrift 的序列化机制
    Thrift 个人实战--Thrift 网络服务模型
    Thrift 个人实战--初次体验Thrift
    HBase 实战(2)--时间序列检索和面检索的应用场景实战
    Kafka实战系列--Kafka API使用体验
    Kafka实战系列--Kafka的安装/配置
  • 原文地址:https://www.cnblogs.com/lexus/p/2891763.html
Copyright © 2011-2022 走看看