export LANG=en_US
xdg-user-dirs-gtk-update
弹出对话框勾选不再提醒
,点确定
sudo apt-get install openssh-server
安装了即可
Jacob Pan ( jacobpan3g.github.io/cn )
之前写过一篇文章阐述如何在win7下硬盘安装ubuntu,而不需要安装U盘或光盘。接下来,介绍一下在xp下如何硬盘安装ubuntu,在操作上面,有一点点小差别
并把镜像casper/
里的initrd.lz
和vmlinz
提取出来,连同iso镜像放在某一磁盘的根目录下,为简单起见,这里都放在c盘下
这里就是和win7下操作的不同之处,win7用的是easyBSD。
下载grub4dos,解压后把grldr
和menu.lst
拷贝到C盘根目录,此时,包括第一步,一共有以下几个文件放到了c盘根目录:
install.lz
vmlinz
ubuntu-xx.04-destop-i386.iso
grldr
menu.lst
编辑C:\boot.ini
,在文件结尾添加
c:\grldr="start grub4dos"
ps: 若在C盘根目录下找不到该文件,可以通过文件夹选项
-查看
-高级设置
中,把隐藏受保护的操作系统文件(推荐)
不勾选,然后选择显示所有文件和文件夹
,就可以把系统隐藏文件显示出来,从而找到boot.ini
接下来编辑menu.lst
,以添加引导项。添加下面内容到文件结尾
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-xx.04-desktop-i386.iso
initrd (hd0,0)/initrd.lz
其中
(hd0,0)
一般情况下代表的是C盘,这里的hd0
代表第一块硬盘,0
代表第一个分区。若到时重启系统选择新增的引导项提示找不到文件时,可以重复修改该文件,直到找到正确的数字编号为止。
若第一步的iso镜像等三个文件放在了其他磁盘根目录下,同理,也可通过上述方法找到正取的编号
若需要安装中文版本的,可在第二行结尾添加 locale=zh_CN.UTF-8
,这样子安装界面就会是中文,安装的系统也是中文环境的。
重启电脑,开机页面会多了一项start grub4dos
,点击后,选择Install Ubuntu
,细心的读者会发现,这两项都是我们上面第2步填写过的title内容。iso镜像路径没有错的话,就可以成功引导镜像了。
镜像引导成功后的第一步,记得要先卸载isodevice分区
sudo umount -l /isodevice
Jacob Pan ( jacobpan3g.github.io/cn )
Makefile主要用来make的输入,命令make filename
的意思就是要把filename生成。
target: dependences
shell cmd
以上是Makefile的基本格式。
通过%
可以对target进行模式拓展
targets = aa bb
targets: %: %.c
gcc -o $@ $^
这里会自动拓展成
aa: aa.c
gcc -o aa aa.c
bb: bb.c
gcc -o bb bb.c
如上面的例子,$@
代表target,$^
代表全部的依赖文件,还有以下自动变量:
$<
依赖文件中的第一个文件通过make可以传递参数,在Makefile里可以获取到
aa: aa.c
gcc $(CFLAG) -o $@ $^
通过make CFLAG=-g
,就可以把参数传入到makefile中,变成gcc -g -o aa aa.c
ifdef VAR
target = aa
else
target = bb
endif
ifeq ($(VAR), 1)
CFLAG = -g
endif
target:
gcc $(CFLAG) -o $@ $^
上述例子描述了ifdef
和ifeq
的用法,请注意ifdef
后面跟的变量名加$()
,此外,还有ifndef
和ifneq
。
这里的makefile可以通过make VAR=1
传入参数,使makefile针对不同情况执行不同的命令。
$(subst <from>,<to>,<text>)
$(addsuffix <suffix>,<names...>)
$(addprefix <suffix>,<names...>)
更多makefile函数可见makefile中常用函数
如果当前目录下有一个makefile.in
,可以通过下面语句来引入
include makefile.in
$(warning ...) // 打印warning信息
$(error ...) // 打印error信息,并立马退出make
Jacob Pan ( jacobpan3g.github.io/cn )
我曾经写过两篇windows xp和win7下硬盘安装ubuntu的文章,至于如何在xp下硬盘安装centos6.4,大体方法和xp下安装ubuntu一样,具体步骤可以参看博客里的相应文章,差异主要如下:
centos镜像提取出来的是vmlinuz
和initrd.img
root (hd0,0)
kernel /vmlinuz
initrd /initrd.img
网上有帖子说,解压grub4dos把grldr
和menu.lst
放到C盘根目录,并编辑boot.ini
后,直接重启系统,点击新增加的引导项进入grub命令行,可以通过下面命令找到vmlinuz所在的分区编号:
find /vmlinuz # 返回 (hd0,0)
reboot # 重启
也可以直接在命令行敲入第二第三行,使用boot
命令直接引导镜像。
Jacob Pan ( jacobpan3g.github.io/cn )
根据笔者多年折腾双系统的经验,发现在linux系统工作时,有时候会因为系统太久而缺少某些库,通过apt-get
或yum
都无法安装,或者一些其他问题导致项目代码在自己的系统就是编译不过,此时,或许需要考虑更换linux系统。
基于上述考虑,我们的系统使用了一段时间后需要重新安装新版本的系统,因此,我的分区原则是一个词降偶
——降低代码与系统之间的耦合性,降低系统与磁盘分区的耦合性,同时还要保持一个到两个reserved分区
我一般不会采取安装引导里的推荐分区方案,一般都是选取其他
,一些是我们具体分区方案:
我的电脑一般会保留windows系统,方便切换使用;还有,当我需要跟换linux系统时,我可以通过熟悉的方法,windows下硬盘安装linux
有了windows系统,windows的ntfs文件分区也是需要的,这里可以根据需要分配,100G~200G足够了
这个分区专门放代码的,日后若还了linux系统,我这个分区里的代码还是可以使用的,只需通过简单的硬盘挂载,最多需要通过chown -R
来更改一下所有者。这个分区我一般建议是100~200G,具体可根据自己需要和硬盘总大小决定
主要在linux存在工程代码意外的东西,笔记,文档,自己的小项目代码等等,这个分区根据自己喜好分配大小,我一般分配20~40G
这个分区用来安装linux系统,我一般分配20G,安装系统直接挂载\
根目录即可
这个分区是冗余分区,大小20G,我一般会选择留2个reserved分区,主要作用是用于当我需要安装新linux系统时,但旧系统的资料又还没空整理,不能立马覆盖原系统分区,这时这些reserved分区就起作用了,直接把系统安装在reserved分区中,这样PC就同时存在3个系统,不用担心boot,新安装linux系统时boot会自动把所有系统都找到
该分区主要用来存放boot引导程序,分配256M~512M,一般都够用。之前有过boot分区满了的经历,当时是因为每次系统提示软件升级都同意了,不知为何,boot分区渐渐就满了,这个也是有方法清除的。现在我一般不按照系统提示的软件升级了,感觉没必要
之前听过一个理论,swap分区需要时内存的两倍,所以这个分区需按照PC的内存而确定,4G内存就8G,我感觉4G~8G足够了。
ps: boot分区和swap分区是可以多个linux共用的,安装linux时也不需要主动挂载,系统会自己探测到的,安装时只把挂载根目录就可以了。
以上就是我的多系统分区的经验了,按照上面分区,做好了各方面解耦和存冗,只要再把一些工具的配置备份好,就完全不需惧怕频繁更换linux系统
Jacob Pan ( jacobpan3g.github.io/cn )