今天用自己的 Mint 8 换了 Lucid 的源,想升级到 Ubuntu 10.04 , 漫长升级的结果却是进不了系统~~ 只好重装我的Mint 8,由于不想刻盘,同时要使用 Windows XP,于是参照网上的一篇 文章,采用硬盘安装,综合起来步骤如下:
1. 把 LinuxMint-8.iso 放到 C:\ 下,用 WinRAR 将镜像里的 vmlinuz 和 initrd.lz 两个文件也直接解压到 C 盘的根目录。
2. 在 C 盘根目录下新建一个名为 menu.lst 的文件,内容是:
title Install Mint
root (hd0,0)
kernel /vmlinuz boot=casper iso-scan/filename=/LinuxMint-8.iso ro quiet splash
initrd /initrd.lz
3. 在 C:\boot.ini 文件中加入一行:c:\grldr=”GRUB”
例如添加之后我的 boot.ini 文件是这样的:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\GHLDR=一键GHOST v2009.09.09
C:\grldr="GRUB"
4. 下载 grldr 文件,放于 C 盘根目录。
在上述操作完成后,C 盘根目录下添加的文件有:

files in C
5. 重启后选择 GRUB,选择 Install Mint 选项即可进入 LiveCD 的安装界面,在正式进行安装前,应当运行以下命令:
sudo umount -l /isodevice
6. 在安装完以后,我发现原来的启动菜单消失了,只好重新找回来,由于 Ubuntu 9.10 已经开始采用GRUB 2 作为默认的引导程序,因此修复引导菜单也是很简单的,只要运行:
$sudo apt-get install grub2 grub-pc grub-common
这时 grub2 的安装程序会自动识别原来的 windows XP 并生成启动菜单,这一步骤显得相当的简单。今天得到的教训是最好不要直接升级版本,小心使用 apt-get dist-upgrade 命令~
教育网内的源有限,常常不能更新访问一些国外网站资源,一些插件如 adobe-flash-plugin 就不能从官方源安装,每次都会提示超时错误。解决的方法也很简单: 在 /root/.bashrc 定义一个 http_proxy 变量:
$ sudo vi /root/.bashrc
添加以下内容:
http_proxy=http://username:password@host:port/
export http_proxy
然后:
$ sudo source /root/.bashrc
如果代理服务器有效,就可以通过代理来用 apt-get update 更新国外的源了。
1. 安装 svn 和 apache2
$sudo apt-get install subversion
$sudo apt-get install libapache2-svn
$sudo apt-get install apache2
2. 将 /var/svn 作为版本控制的目录
$sudo svnadmin create /var/svn
3. 将这个目录的所有者改为 apache
$sudo chown -R www-data:www-data /var/svn
4. 修改 apache 的配置
sudo vi /etc/apache2/mods-available/dav_svn.conf
修改为:
<location /svn>
DAV svn
SVNPath /var/svn
AuthType Basic
AuthName “myproject subversion repository”
AuthUserFile /var/svn/conf/passwd
Require valid-user
</location>
5. 创建用户
$sudo htpasswd –c /var/svn/conf/passwd leeing
输入密码确定,就新建了一个用户。如果还要新增其它用户,去掉 -c 参数重复这个步骤。
6. 重启apache2 。
$sudo /etc/init.d/apache2 restart
这时可以打开 http://localhost/svn,输入用户名密码即可看到初始界面。
如果是在局域网内提供服务,可以将 localhost 改为本机地址,为了方便使用,可以设定静态的 IP 地址而不是通过 DHCP 来获取 IP 。
7. 遇到权限问题,可以为源目录加权限:
$sudo chmod o+rw -R /var/svn
在安装过程中,权限的配置很关键。
Since Scim is not function well on my Linux desktop( I can’t switch to chinese input method sometimes), so I decide to switch the input method to iBus:
step 1 : First remove the scim installation, Modify the /etc/apt/sources.list (it seems that you can ignore this step, since iBus is in the official source now).
$sudo apt-get remove scim*
$sudo echo "deb http://ppa.launchpad.net/ibus-dev/ppa/ubuntu jaunty main" >> /etc/apt/sources.list #do this if necessary
$sudo apt-get update
step 2:Run the apt-get install command:
$sudo apt-get install ibus ibus-pinyin ibus-table-wubi ibus-gtk python-ibus ibus-table ibus-qt4
step 3: Switch the input method, let ibus be the default option:
$sudo im-switch -s ibus
step 4: Log out and then Enjoy it.

杂乱地记录一些在 linux 下编程的常识,主要来自<Beginning Linux Programming> 的第一章。
- /bin: 二进制文件目录,用于存放启动系统时用到的二进制文件。
- /usr/bin: 用户二进制文件目录,用于存放用户使用的标准程序。
- /usr/local/bin: 本地二进制文件目录,用于存放特定软件安装的程序。
- /opt: 可选的操作系统组件和第三方应用可以安装在这个目录。可以将路径添加到PATH。
- /usr/include: 系统的标准库函数。
- /usr/include/sys及 /usr/include/linux: 一般放置依赖于特定系统的头文件。
如果没有用 -o 选项告诉编译器将可执行文件放在何处,则会默认将程序放到一个名为a.out的文件里,而a.out的意思是:assembler output,即汇编输出。
库文件的类型:
- .a :archive 代表传统的静态函数库,类似于windows中的LIB文件,包含在可执行文件中。
静态库的一个缺点是:如果同时运行多个应用程序,且使用来自同一个函数库时,内存中会有多个相同的拷贝,这将浪费大量的内存和磁盘空间。
- .so :shared object 代表共享函数库,类似于windows中的dll文件,在程序运行时加载。
程序使用共享库时的链接方式是这样的:它本身不再包含函数代码,而是引用时可访问的共享代码,当编译好的程序被装载到内存中执行时,函数引用被解析并产生对共享库的调用,如果有必要才被加载到内存中。
可以使用ldd命令来查看程序所信赖的共享库。
在 gcc 中,参数 -lm 表示链接名为libm的库,并且,编译器会优先选择共享库。而 -L则表示添加库的搜索路径。-c 表示阻止编译器创建一个完整的程序。
$ gcc -c bill.c fred.c #生成目标文件
$ ar crv libfoo.a bill.o fred.o #生成静态库文件
$ gcc -o program program.o -L. -lfoo #指定库文件位置
info 的优点是:可以通过链接或者交叉引用来浏览文档并可直接跳转到相关的章节。
> 重定向
>> 将输出附加到一个文件中。
0:标准输入
1:标准输出
2:标准错误
评论