Cloud Computing Notes

关于云计算的一些笔记。

云计算,从理想到实作之间,牵涉了太多的概念与炒作。这篇文档摘录了相关公司/产品的链接,供参考用。

http://docs.google.com/Presentation?id=dgnw3rmt_255htp7fsf4

Mercurial Tips

关于Mercurial(hg)的一个简单笔记:

Mercurial和git一样,是一个开源的分布式版本管理工具。这篇文档主要用来记录hg使用时的一些小技巧。

http://docs.google.com/Presentation?id=dgnw3rmt_253cxjdvpgv

Android Quick Introduction

关于Android的一个简单笔记。WordPress不支持iframe,没办法直接嵌入Google Presentation。把链接贴在下面了。

http://docs.google.com/Presentation?id=dgnw3rmt_242gk67n9fk

Debian笔记(2)

设置屏幕分辨率和刷新率
dpkg-reconfigure xserver-xorg
还不行的话,继续
apt-get install xdebconfigurator
xdebconfigurator

系统时钟写入CMOS
hwclock –systohc
反之
hwclock –hctosys

移除无用的locale files文件
localpurge

查看软件依赖关系
apt-cache depends packagename
apt-cache showsrc packagename|grep Build-Depends
下载网站文档
wget -r -p -np -k http://fedora.redhat.com/docs/release-notes/fc5/zh_CN/
· -r:在本机建立服务器端目录结构;
· -p: 下载显示HTML文件的所有图片;
· -np:只下载目标站点指定目录及其子目录的内容;
· -k: 转换非相对链接为相对链接。

修改系统登录信息
/etc/motd

将网卡标识与mac绑定
auto lo eth0 eth1

iface lo inet loopback

mapping eth0 eth1
map 00:37:E9:17:64:AF netA
map 00:21:E9:17:64:B5 netB

iface netA inet static
address etc…

iface netB inet static
address etc…

export http_proxy=http://xx.xx.xx.xx:xxx可以给apt设置代理
加入环境变量HISTIGNORE=”ls:cd:cat”可以让bash的历史忽略ls cd cat命令
检测nvidia显卡
~$glxgears
~$ glxinfo | grep rendering
修改用户资料
chfn userid
useradd 与 adduser 区别
useradd应该是源于unix的命令,passwd包提供.
使用时需要明确指定参数,不会自动创建家目录和对应组,
仅仅操作/etc/passwd和/etc/shadow
对应 userdel
adduser是一个交互shell脚本,发行版相关.同名包提供.
自动创建创建家目录和对应组, 引用/etc/skel/配置.
在命令执行过程中会调用 useradd.
对应deluser
没用装zhcon(装好基本系统后)看中文

jfbterm -q -c other,GB2312,iconv,UTF-8

由于需要fb支持
所以在/boot/grub/menu.lst里
加入 vga=788(或其它)

控制台快照
setterm -dump 1
1为第一个虚拟控制台
禁用ipv6

/etc/modprobe.d/aliases

#alias net-pf-10 ipv6
alias net-pf-10 off
modconf 移除 ipv6模块
使用 gdm 实现自动登录
/etc/gdm/gdm.conf
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=tony
wajig – simplified Debian package management front end
用lftp显示服务器提示信息

lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,可以在 ~/.lftprc 里写入一行
debug 3
国内的很多站点都是GBK的代码,而现在系统默认的编码是utf8的,所以,最好再加上
set ftp:charset gbk
set file:charset utf8

系统服务
1.编写启动脚本, 并将其置于 /etc/init.d/目录下
2. 付予 可执行权限
3. 设定为启动服务

#/usr/sbin/update-rc.d <shell name> defaults

4.将其删除

#/usr/sbin/update-rc.d -f <shell name> remove

5.根据运行级别设定,例如

#/usr/sbin/update-rc.d <shell name> start 20 1 2 3 . stop 20 4 5 .

给定关键字, 查找相关命令
apropos keyword
不同控制台切换
ALT加左右箭头
开机自动打开 数字键盘
/etc/console-tools/config
# Turn on numlock by default
LEDS=+num

摘录自
http://www.linuxsir.org/bbs/showthread.php?t=228856

GCC内联汇编笔记

#ifdef __ASSEMBLER__
#define C0_SR $12
#else
#define C0_SR 12
#endif

Reg.h

#define save_static(frame) \
__asm__ __volatile__( \
“sw\t$16,”__str(PT_R16)”(%0)\n\t” \
“sw\t$17,”__str(PT_R17)”(%0)\n\t” \
“sw\t$18,”__str(PT_R18)”(%0)\n\t” \
“sw\t$19,”__str(PT_R19)”(%0)\n\t” \
“sw\t$20,”__str(PT_R20)”(%0)\n\t” \
“sw\t$21,”__str(PT_R21)”(%0)\n\t” \
“sw\t$22,”__str(PT_R22)”(%0)\n\t” \
“sw\t$23,”__str(PT_R23)”(%0)\n\t” \
“sw\t$30,”__str(PT_R30)”(%0)\n\t” \
: /* No outputs */ \
: “r” (frame))

R4kc0.h

#define _mips_mfc0(reg) \
({ \
register reg32_t __r; \
__asm__ __volatile (“%(mfc0 %0,$%1; nop; nop%)” \
: “=d” (__r) \
: “JK” (reg)); \
__r; \
})

#define _mips_mtc0(reg, val) \
({ \
__asm__ __volatile (“%(mtc0 %z0,$%1; nop; nop; nop%)” \
: \
: “dJ” ((reg32_t)(val)), “JK” (reg) \
: “memory”); \
})

6.2 Constraint Modifiers

“=” : Means that this operand is write-only for this instruction; the previous value is discarded and replaced by output data.
“&” : Means that this operand is an earlyclobber operand, which is modified before the instruction is finished using the input operands. Therefore, this operand may not lie in a register that is used as an input operand or as part of any memory address. An input operand can be tied to an earlyclobber operand if its only use as an input occurs before the early result is written.

—————————————————————
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#ss5.1
及Kernel Source摘录

VmWare下运行WindML

试了几天,总算成功了。把我的步骤在这里贴一下

几个软件的版本:
VmWare 5.0
VxWorks 2.2
BSP for pcPentium
WindML 3.0

步骤:

1、建立VmWare上的VxWorks环境。这个在论坛上已经有帖子讨论过了,用的是pcPentium的BSP,和AMD 79C97x 的网卡驱动。

2、配置WindML

我是在pentium_VESABIOS_RGB565_640x480这个配置上改的。分辨率改为800×600,Pointer选No Pointer,键盘是PC/AT style,设备名/pcConsole/1。其他选项未做改动。保存并重新build windml库。

3、修改BSP

在romInit.s文件中加上#include <ugl/driver/graphics/pcbios/romInit.h>
。它必须是include的最后一个头文件。

在config.h的较为开始处加上
#define INCLUDE_WINDML
#define INCLUDE_WINDML_PS2_POINTER
#define INCLUDE_WINDML_PS2_KEYBOARD
我是加在了#define SYS_INT_INTGATE 之后

重新编译BSP,制作bootrom的floppy image

4、配置vxworks

WindML components组件下,包含如下几个部分
WindML devices->input device->PS2 keyboard
WindML devices->graphics device->graphics support(PCI device)
2D layer->complete 2D library

5、一些说明

照这个配置,显示和键盘都是可以用的。鼠标和声音都没有。暂时没有时间试了。有谁知道的话告诉我一下吧。 :)

下面贴个截图。是那个ugldemo的例子

windml_vmware.PNG

Technorati : , ,

wiki笔记

维基百科三项内容指导方针:
Wikipedia:可供查证
Wikipedia:非原始研究
Wikipedia:中立的观点

Help:编辑
http://zh.wikipedia.org/wiki/Help:%E5%A6%82%E4%BD%95%E7%BC%96%E8%BE%91%E9%A1%B5%E9%9D%A2
Wikipedia:格式手册
http://zh.wikipedia.org/wiki/Wikipedia:%E6%A0%BC%E5%BC%8F%E6%8C%87%E5%8D%97
Wikipedia:繁简分歧词表
http://zh.wikipedia.org/wiki/%E5%90%84%E5%9C%B0%E5%8D%8E%E4%BA%BA%E8%AF%8D%E6%B1%87%E5%AF%B9%E7%85%A7
译名表
http://zh.wikipedia.org/wiki/%E5%90%84%E5%9C%B0%E5%8D%8E%E4%BA%BA%E8%AF%8D%E6%B1%87%E5%AF%B9%E7%85%A7
Wikipedia:更优秀条目写作指南
http://zh.wikipedia.org/wiki/Wikipedia:%E6%9B%B4%E4%BC%98%E7%A7%80%E6%9D%A1%E7%9B%AE%E5%86%99%E4%BD%9C%E6%8C%87%E5%8D%97

条目
====
条目名称在文章当中第一次出现时,请用三对半角单引号,让它以粗体显示。例如:

”’条目题目”’会显示成条目题目。

标题格式
========
==标题1==

===标题1.1===

====标题1.1.1====

==标题2==

换行
====
另起一行
会变成一个空格。

但一个空行开始一个新段落。

列表
====
*符号列表很不错:
**每一行用一个星号(*)开始
***星号越多,表示列表的层级更深入

#数字列表也不错
##很整齐
##容易理解

;定義列表 : 包含許多定義的列表
;條目 : 條目的定義
;另外一条
:其他的定义

:每一行都可以
::缩进
:::好几层呢

一条水平线将页面分隔成了上面
—-
和下面。

斜体
====
连用两对半角单引号可以把中间的文字变成斜体。
”Romeo and Juliet” is a famous play by William Shakespeare
西文的斜体一般相当于中文的专名号。请注意中文并无斜体用法,所以在中文维基百科,请不要滥用斜体

图片说明格式
============
图片,包含:
[[Image:Wiki.png中文维基]]
图片可以加框加标题:
[[Image:Wiki.pngframe中文维基]]

自由链接的格式
==============
文中某些字词名称值得读者参考阅读的话,请使用[[]]代码转成内部链接。
链接所显示的文字不一定要与目标条目的名称相同,如[[朱熹朱子]]。但请确保读者不需按下链接也能够清楚链接的目的地。

[[Wikipedia:野猪]]页面不存在。
你可以点击该链接而创建该页面。

因特网及地址的格式
==================
放进一对方括号中间,[地址 空白后附加的描述文字]。该地址必须是以“http://”或其它形式(如“ftp://”)开头。

“参看”及“相关题目”的格式
============================
一些未在文中自由链接的有关题目可以不正式地用“参看:”来处理,如:

参看:春分、夏至、秋分
如果您想在文中明确地表明某条目的链接很有用,可以在其他地方使连结:

每个地方的法律对于割体的态度也不同(参阅割体的法律地位)。
有时可以用更正式的方式来表达相关题目的链接:

== 相关题目 ==
*[[表达主义]]
*[[立体主义]]

简单的表格
==========
任何一行以空格(不包括中文全角空格)作开始的文字会自动变成固定阔度的字体,而可以用来造一个简单的表格。

重定向
======
例如:如欲将[[苛性钠]]页面重定向到氢氧化钠页,请在苛性钠的页面输入:

#REDIRECT [[氢氧化钠]]

tips
====
标签用于转义

bochs笔记

cp /usr/share/vgabios/vgabios.bin /usr/share/bochs/VGABIOS-lgpl-latest
modprobe tun
cd /dev && MAKEDEV tun

dsarge:/dev# ll net
total 0crw-rw—- 1 root net 10, 200 2006-05-11 20:55 tun

groupadd net
adduser userx net
chown -R root:net net

Debian笔记

fakeroot make-kpkg –append_to_version -486 –initrd \ –revision=rev.01 kernel_image

dpkg –list 所有安装的软件包
dpkg ‘list*’
dpkg –status pkgname 包的详细信息
http://debian.linuxsir.org/book/faq/etony/ch-pkgtools.zh-cn.html

如果用户想(或必须)定制内核, 建议下载使用 kernel-package 软件包, 其包含构建 kernel软件包的脚本, 并提供了创建 Debian kernel-image 软件包, 在 kernel 源文件的最上层目录运行命令:

make-kpkg kernel_image

要获取帮助, 运行

make-kpkg –help

如果没有现成的 kernel-source-version 软件包(这里 “version” 指 kernel 版本号), 则用户必须自己到 Linux站点上下载新版的 kernel(或者需要的那个版本)

在 /usr/share/doc/kernel-package/README.gz 处有 kernel-package 的详细使用说明. 主要步骤:

将 Kernel 源代码解包, 切换到新建目录.

用下面(任一)命令修改 kernel 配置:

make config (命令行界面).

make menuconfig (一个基于 ncurses 的菜单界面). 注意必须安装了 libncurses5-dev 软件包.

make xconfig (X11 界面). 需要安装相关的 X 和 Tcl/TK 软件包.

置完成后, 就会在 kernel 源文件的最上层目录生成一个 .config 文件.

执行命令: make-kpkg -rev Custom.N kernel_image, N 指用户指定的版本数字. 就会生成一个修正版为 Custom.1 的新 Debian 包, 例如 Linux 2.2.14 内核,就会是kernel-image-2.2.14_Custom.1_i386.deb.

安装生成的软件包.

运行 dpkg –install /usr/src/kernel-image-VVV_Custom.N.deb 安装内核. 安装脚本会:

运行启动加载程序, LILO(如果安装了的话),

安装放在 boot/vmlinuz_VVV-Custom.N 下定制的 kernel, 并生成相应的符号连接.

提示用户制作启动软盘, 启动盘仅包含基本内核. 见如何制作启动软盘?, 第 9.3 节.

如果使用第三方启动加载程序, 如 grub 或 loadlin, 把这个影像考到相应位置(如 /boot/grub 或 MS-DOS 分区).

dpkg –purge –force-remove-essential kernel-image-NNN 删除kernel image

http://debian.linuxsir.org/book/faq/etony/ch-kernel.zh-cn.html

不同版本软件包的文件替代
假设系统管理员或本地用户想使用 “login-local” 而不是 Debian 提供的登录程序 login.

不 要这样做:

用 login-local 将 /bin/login 覆盖掉.

包管理系统并不知道这个变化, 当 login(或其它依赖 /bin/login 的软件包)安装或升级时, 你定制的 /bin/login 就会被覆盖掉.

应该是

运行:

dpkg-divert –divert /bin/login.debian /bin/login
使将来Debian的 login 包安装时, 写入 /bin/login.debian 而不是/bin/login.

然后:

cp login-local /bin/login
将你定制的程序移到相应位置.
http://debian.linuxsir.org/book/faq/etony/ch-customizing.zh-cn.html

screen笔记

还是写下来吧,不然又忘了

screen -S sessionname
screen -r sessionname
screen -ls

C-a tab (focus) Switch the input focus to the next region.
C-a C-a (other) Toggle to the window displayed previously.
C-a c
C-a C-c (screen) Create a new window with a shell and switch to that window.
C-a d
C-a C-d (detach) Detach screen from this terminal.
C-a S (split) Split the current region into two new ones.
C-a ‘ (select) Prompt for a window name or number to switch to.
C-a ” (windowlist -b) Present a list of all windows for selection.