oscm 是个操作系统配置管理工具。
安装
$ python3 setup.py sdist $ python3 setup.py install
帮助
$ deployment Usage: deployment [options] stage projectOptions: -h, --help show this help message and exit -r, --revert revert to revision --backup=BACKUP backup remote to local --clean stage: development | testing | production project:.Branch: branch management -c master|trunk, --checkout=master|trunk checkout branch -n branch, --new=branch Create new branch -d branch, --delete=branch delete branch --release=RELEASE release version exampe:2014-01-23 Example: deployment testing www.example.com deployment production www.example.com --clean deployment testing bbs.example.com --backup=/tmp/backup Homepage: http://netkiller.github.com Author: Neo
配置
$ cat etc/testing/example.com.ini [www] ;repository=git@192.168.2.1:example.com/www.example.com repository=https://github.com/oscm/shell.git source=/tmp/repo option=--delete --password-file=confure/production/example.com/passwd exclude=testing/www.example.com.lst logfile=/tmp/www.example.com remote=www@192.168.2.15 destination=example.com/www.example.com [bbs] repository=https://github.com/oscm/shell.git remote=www@192.168.2.15 destination=example.com/bbs.example.com
部署项目
$ deployment testing bbs.example.com receiving incremental file list sent 82 bytes received 3228 bytes 601.82 bytes/sec total size is 243879 speedup is 73.68
恢复
$ deployment testing www.example.com -r master $ deployment testing www.example.com -r b1f13fade4c069ff077ce5f26fc3cb1e3c6df902 $ deployment testing www.example.com -r 838cba5 HEAD is now at 838cba5... Merge branch 'master' of https://github.com/oscm/linux * (detached from 838cba5) master sending incremental file list .git/ .git/index 7344 100% 6.34MB/s 0:00:00 (xfer#1, to-check=117/157) sent 3230 bytes received 148 bytes 519.69 bytes/sec total size is 234676 speedup is 69.47
分支管理
展示当前分支
$ deployment branch testing bbs.example.com * master
创建分支
$ deployment branch testing bbs.example.com -n development Switched to a new branch 'development' $ deployment branch testing bbs.example.com -n testing Switched to a new branch 'testing' $ deployment branch testing bbs.example.com -n production Switched to a new branch 'production' $ deployment branch testing bbs.example.com development master * production testing
检验分支
$ deployment branch testing bbs.example.com -c master HEAD is now at f9ed461 Update 5.5.8.sh Switched to branch 'master' $ deployment branch testing bbs.example.com development * master production testing
删除分支
$ deployment branch testing bbs.example.com -d beat error: Cannot delete the branch 'beat' which you are currently on. $ deployment branch testing bbs.example.com --delete=beat error: Cannot delete the branch 'beat' which you are currently on. $ deployment branch testing bbs.example.com -c master HEAD is now at f9ed461 Update 5.5.8.sh Switched to branch 'master' $ deployment branch testing bbs.example.com --delete=beat Deleted branch beat (was f9ed461). $ deployment branch testing bbs.example.com * master
版本发布
$ deployment branch testing bbs.example.com --release=10.0-RELEASE $ git tag 10.0-RELEASE
备份
$ deployment testing bbs.example.com --backup=/tmp/backup
其他
$ deployment testing bbs.example.com --clean
外部设备分为两大类: 存储型设备:以存储大量信息和快速检索为目标,在系统中存储持久性信息。 I/O型设备:如显示器、打印机等。 I/O硬件原理 I/O系统 通常把I/O设备及其接口线路、控制部件、通道和管理软件称为I/O系统,把计算机的内存和设备介质之间的信息传送操作称为I/O操作。可按照不同方式对设备进行分类:按I/O操作特性分为输入型设备、输出型设备和存储型设备;按I/O信息交换单位分为字符设
存储器工作原理 应用程序如何在计算机系统上运行的呢?首先,用编程语言编写和编辑应用程序,所编写的程序称为源程序,源程序不能再计算机上直接被运行,需要通过三个阶段的处理:编译程序处理源程序并生成目标代码,链接程序把他们链接为一个可重定位代码,此时该程序处于逻辑地址空间中;下一步装载程序将可执行代码装入物理地址空间,直到此时程序才能运行。 程序编译 源程序经过编译程序的处理生成目标模块(目标代码)。一
操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成
sed sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的
Examining the File System Contents # os_listdir.py import os import sys print(sorted(os.listdir(sys.argv[1]))) # os_walk.py import os import sys # If we are not given a path to list, use /tmp if le
进程与线程 对于有线程系统: 进程是资源分配的独立单位 线程是资源调度的独立单位 对于无线程系统: 进程是资源调度、分配的独立单位 进程之间的通信方式以及优缺点 管道(PIPE) 有名管道:一种半双工的通信方式,它允许无亲缘关系进程间的通信 优点:可以实现任意关系的进程间的通信 缺点: 长期存于系统中,使用不当容易出错 缓冲区有限 无名管道:一种半双工的通信方式,只能在具有亲缘关系的进程间使用(父
1 select,poll和epoll 其实所有的I/O都是轮询的方法,只不过实现的层面不同罢了. 这个问题可能有点深入了,但相信能回答出这个问题是对I/O多路复用有很好的了解了.其中tornado使用的就是epoll的. selec,poll和epoll区别总结 基本上select有3个缺点: 连接数受限 查找配对速度慢 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点.
你可以在任何主流操作系统下去做开发工作,Windows,macOS,Linux 都可以。如果选择 Windows ,版本最好选择 Windows 10 专业版。用 macOS 的用户不用太担心系统问题,可以无痛并免费升级,现在你应该用的是 Sierra 这个版本的 macOS 。Linux 也可以,比如 Ubuntu 的桌面版。 如果你能满足下面三个条件的其中一个,这个任务就算完成了: Windo