博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CDE: Lightweight application virtualization for Linux
阅读量:6180 次
发布时间:2019-06-21

本文共 3713 字,大约阅读时间需要 12 分钟。

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 .
To get started, download the CDE binary ( or ) 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 that allows you to easily distribute portable software, to deploy applications to the cloud, to make computational experiments , 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 . 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. [ | ]

  • 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. [ ]

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 ).

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 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:

  • (i386)
  • (x86-64)

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

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 . You can check out the latest copy and compile using these commands:

git clone git://github.com/pgbovine/CDE.gitcd CDEmake

Feedback

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

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!

转载地址:http://dkbda.baihongyu.com/

你可能感兴趣的文章
Browser:浏览器版本判断类
查看>>
MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法...
查看>>
伪类和伪元素
查看>>
jquery
查看>>
Day 3:模块结构和布局
查看>>
PWP+Nginx 集成环境下载
查看>>
【整理】RabbitMQ publish方法中的immediate和mandatory属性
查看>>
JAVA CAS原理深度分析
查看>>
权限模型
查看>>
如何配置 Log4J 只保留最近七天的日志文件
查看>>
Python 类与元类的深度挖掘 II
查看>>
prometheus收集springboot指标
查看>>
global gtags的配置
查看>>
iOS开发 — Quartz 2D知识点应用 (制作了一个Demo,源代码)
查看>>
Creating a Windows Image on OpenStack
查看>>
jquery图片自动缩放
查看>>
ie6 失真问题
查看>>
Regular Expression
查看>>
你到了第几层?图片式标题、按钮与隐藏文本
查看>>
大话重构连载14:我们是这样自动化测试的
查看>>