Archive

Posts Tagged ‘Linux’

Windows XP 硬盘安装 Ubuntu (Mint 8)

April 12th, 2010 leeing No comments

今天用自己的 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 命令~

Categories: Linux, Mint, Ubuntu Tags: , ,

Ubuntu apt-get 代理服务器设置

April 10th, 2010 leeing 1 comment

教育网内的源有限,常常不能更新访问一些国外网站资源,一些插件如 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  更新国外的源了。

Categories: Linux, Ubuntu Tags: ,

Ubuntu 配置 SVN 服务器

April 9th, 2010 leeing No comments

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

在安装过程中,权限的配置很关键。

Categories: Linux, Ubuntu Tags: ,

Ubuntu 安装 iBus

April 7th, 2010 leeing No comments

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.

Categories: Linux, Ubuntu Tags: ,

Linux 环境编程的一些常识

March 9th, 2010 leeing No comments

杂乱地记录一些在 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:标准错误

Categories: C++, Linux Tags: