用gparted-LiveCD进行ubuntu分区大小的调整

 一、准备
  1、下载最新版本的gparted镜像文件:http://sourceforge.net/project/s …
p;package_id=173828

  2、将gparted镜像文件刻录成光盘或压制在U盘上制成LiveUSB

  3、虽说是无损调整,但为了安全起见(万一停电咋办?),建议备份重要数据到移动硬盘上

  4、在BIOS中,将启动顺序设置为首先光驱启动(如果是用LiveUSB,应设为USB-HDD)

  二、调整分区
  1、将光盘放入光驱(如果是用LiveUSB,插上U盘),重启电脑

  2、进入gparted启动界面,直接选Defalt
settings
  3、第二个界面继续按回车
  4、接下来选语言,输入“26”回车(就是简体中文,尽管汉化不全)

  5、接着提示将要进入X-Windows界面,回车
  6、进入gparted,就会发现和瘟到死的PQ相似的界面,实际操作也是一样的,而且也支持瘟到死分区的调整

  7、点击你要腾出空间的分区,弹出右键菜单选择“Resize/Move”

  8、用鼠标托动或数字精确调整要释放的空间大小,若要释放在分区头部拉左侧的控制条(输入第一行数值),若要释放在分区尾部拉右侧的控制条(输入第三行数值),调整好之后点“更改大小/移动”按钮。

  9、点击欲扩大容量的分区,弹出右键菜单选择“Resize/Move”

  10、按照第8步的方法操作,只是现在变成扩大分区容量而已

  11、点击“Edit”菜单,选择“Apply All
Operations”
  12、再次确认要调整分区容量后,gparted开始调整分区,完成后点“Close”按钮

  13、点“gparted”菜单,选“Quit”关闭gparted窗口,再双击左上角的“Exit”按钮退出gparted系统

  14、在弹出的窗口中选“Reboot”重启电脑,退出时系统会提示你取出光盘

  三、可能存在的问题
  可能会发生swap分区丢失的情况,可在终端中用“free
-m”命令查看swap分区是否激活(是否显示容量),如果未激活,可用“sudo mkswap
/dev/sdaX”命令(X为swap分区的编号)进行激活,并将激活所得的UUID码替换掉“/etc/fstab”文件(需要管理员权限)中原来
swap分区的UUID编码,重启后即可自动激活挂载
  具体操作方法,请进Ubuntu官方论坛中查找,有教程帖

  警告:对swap分区的激活操作及对fstab文件的修改应谨慎,必需仔细核对修改的值

ubuntu分区方案

新分区的类型:
Primary(主分区)单独安装Ubuntu到全新磁盘,/分区需要选择Primary,
其它分区选择Logical逻辑分区就可以;
如果将/boot单独分区,则/boot为主分区,而/分区不必是主分区。

文件类型,我是全部选择Ext4。

各个分区配额(硬盘大小320G)

1.swap 交互分区(在文件系统栏中选择swap),本分区一般分1G就足够一般桌面应用,本本要休眠,则分2G。(

有一个不成文的小规律:

电脑内存,小于
1G的,SWAP
512M;内存大于
1G的,分
1G就行。)这里我分了1G。

2./boot:引导分区(mountpoint挂载点
/boot)这个分区用于存放引导Linux的内核文件,一般用户分100MB足够,想研究Linux内核的朋友不妨分大一点,我自己就分200Mb。这里我分了200M。

Linux系统,它的引导文件很小很小,这个boot挂载点,大家分
100M,就足够了(这个基本上能算是定论!不管你硬盘多大,就分这么多,足够足够了!等你安装完了系统,去看看它,其实就占
45M——50M

小知识:BOOT挂载点,并不是必须的。但是个人建议,如果你要做双系统,最好是单独分出来,等你安装grub引导器的时候,把它安装到boot上,就是双系统了,这样做,目的就是更明确,更方便。

3./或者
/ROOT
就一个符号,是Linux系统特有的,是根目录的意思。根目录,用来存储用户的一些基本配置文件,软件设置文件等等很多。分20G

4./usr:占你整个容量的
15%差不多吧。呵呵,自己酌情考虑,其实你不挂载这个都行的。分50G

5./var:包含系统产生的经常变化的文件,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。建议单
独的放在一个分区。这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理
员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。分50G

6./home:用户分区(mountpoint挂载点
/home):这个分区是用于存放用户的一些配置信息,建议可以分大一点。分20G

7. /tmp:临时文件存储地方,大家可以理解为Windows下的:C:\Documents and
Settings\Administrator\Local Settings\Temp

目录。
(用来存放临时文件,对于大型、多用户的系统和网络服务器有必要。同理,个人用户,没必要那么大。)分10G

8./srv 存放系统所提供的服务数据 分2G

9./opt 作为可选文件和程序的存放目录,主要被第3方开发者用来简易地安装和卸装他们的软件包 分150G

10./usr/local 系统管理员安装的应用程序目录 分剩下的20G

附上网友的分区:
http://forum.ubuntu.org.cn/viewtopic.php?t=320885

我的分区情况:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.1G 660M 8.0G 8% /
none 239M 264K 238M 1% /dev
none 244M 1.7M 242M 1% /dev/shm
none 244M 96K 244M 1% /var/run
none 244M 0 244M 0% /var/lock
/dev/sda6 1.2G 56K 1.2G 1% /srv
/dev/sda2 25G 10G 14G 43% /home
/dev/sda5 25G 3.5G 20G 15% /opt
/dev/sda7 11G 3.8G 6.2G 39% /usr
/dev/sda8 2.9G 363M 2.4G 14% /usr/local

你的根分区里含了/usr,这是最占地的。但将 / /usr /usr/local 加起来还是没有超过五个吉。但是,你的 /var
和/tmp 就没有施展的空间了。

我的sda6 分区本来给/tmp, 用了个audacity, 居然数据溢出。
给/var 就会在开机时屏幕闪出一行字。于是就给了/srv. 我让他闲着。
/opt 里面装着Texlive.

僅供参考。

Linux日志文件系统(EXT4、XFS、JFS)及性能分析

Ext4
ReiserFS Btrfs 等七种文件系统性能比拼

自上一篇《Ext2
v.s. Ext3 v.s. Ext4 性能比拼
》 发布以来,社会各界纷纷来电来函,给出了“Ext4
我看行”,“Ext4 牛牛牛”,“用了
Ext4,嘿,还真对得起这块盘”,“Ext4,碎片去无踪,性能更出众”等等热情洋溢的评论,兄弟我深受鼓舞。在对 Ext4
颇不低俗的性能进行表扬的同时,人民群众还提出了新的要求,希望看到与现有同类文件系统性能横向比拼的结果。为了满足广大群众的热切需求,今天做了
Ext2、Ext3、Ext4、XFS、JFS、ReiserFS 和 Btrfs 的全面性能测试,对比结果如下:

reclen write rewrite read rereadrandom
read
random
write
bkwd
read
record
rewrite
stride
read
fwrite frewrite fread freread
Ext2

real 27m23.545s
user 0m9.184s
sys 4m40.925s

4218,554218,662668,245245,20885,235175,284101,8641,911,57974,368215,014217,680583,169244,831
8216,064220,489618,661243,444146,695215,002176,9082,314,305129,333215,772218,571605,436241,144
16218,874219,173609,563242,592246,442220,306292,1142,438,520218,357216,497219,774596,211244,652
32219,584217,859611,712244,445372,023224,151442,6292,423,574334,999218,829219,553606,186244,346
64216,320219,400622,218243,761478,747227,018580,9602,633,117439,129215,956220,166608,210243,950
128219,286218,318614,559243,862579,724224,346690,9452,467,787537,440219,420218,330607,326244,337
256216,027220,509635,633245,385614,120227,099842,2202,567,169614,753217,744219,897617,728243,780
Ext3

real 27m26.675s
user 0m9.323s
sys 6m43.199s

4215,478218,294604,858246,14886,758151,858102,1131,618,76974,979214,446218,569568,659242,772
8217,695218,777609,377244,520148,608190,313171,9031,830,365128,957218,752217,501603,465246,861
16215,683219,822643,396248,815252,255202,374290,6811,915,488219,805216,519219,033568,086243,985
32219,341217,364603,462245,273379,512208,740435,7562,069,791335,303218,578219,086604,572245,578
64216,192220,186665,646244,234481,101212,185567,7502,106,710442,926217,075220,042618,134244,870
128218,503219,151616,479244,711589,927212,355683,9432,080,136541,597219,271218,514600,308244,782
256217,255219,213637,417248,555636,309211,793839,9072,125,314618,958218,424218,954600,894245,523
Ext4

real 26m15.771s
user 0m9.609s
sys 5m36.096s

4225,586224,616532,721270,17482,398180,231102,9351,683,47674,990224,893224,186277,025584,868
8226,896221,965274,314629,603239,913219,223156,9642,026,184127,553226,382227,019292,566593,154
16222,929229,392272,022599,360390,533223,951256,8312,114,002212,773227,728225,332602,317269,289
32223,703221,025566,981262,980380,787227,198435,7742,157,610338,629226,208225,816591,102268,725
64222,236223,813593,481268,002522,365227,268582,8302,216,225457,252228,294223,269614,376269,657
128221,681222,859285,304623,990915,430231,380663,3832,276,039573,624226,616224,477583,965271,159
256220,129221,608279,101657,815889,963232,256770,2202,212,083610,074225,877224,642288,852603,933
XFS

real 28m43.957s
user 0m9.899s
sys 6m4.268s

4217,459214,348244,600239,64778,424161,673107,6431,711,97674,828218,638216,903227,675240,492
8220,514219,994241,854951,125248,623207,750161,1752,214,681127,363218,892211,613219,749240,286
16220,776220,740226,186242,746224,486219,963318,5032,480,826223,664221,106221,694669,693262,346
32218,481216,919255,232799,715593,083225,213408,8162,278,034337,026222,153213,330226,093241,351
64216,921210,031228,877244,161430,479225,432612,8722,568,460448,155224,650209,745221,768239,888
128216,341218,284232,550242,283559,400227,915768,2512,545,859568,945222,605216,060714,911258,397
256221,444220,462469,309321,275757,895225,641806,2512,689,152609,077219,703219,815226,021240,108
JFS

real 26m53.990s
user 0m9.096s
sys 4m39.691s

4196,819218,121455,194258,06285,910169,163142,8141,949,28292,246212,270217,272450,996258,928
8211,794215,030445,452258,082147,556208,623236,1972,214,516159,402213,076218,146451,013258,767
16209,028214,714455,795257,989248,145218,747399,9352,587,176269,527214,271215,626439,736258,830
32210,454218,204448,067258,568380,325220,682591,7812,379,845409,061213,292217,683439,114259,160
64214,862215,636450,430258,413487,982222,660750,1392,613,574522,050216,365217,830444,546259,553
128213,152218,084449,185258,775592,912148,064933,5832,728,229667,878219,155213,461466,396262,608
256213,119213,514477,804258,508631,376129,0601,055,2052,727,762717,814213,771217,569463,931258,291
ReiserFS

real 28m16.075s
user 0m10.134s
sys 7m38.726s

4208,422217,932190,459223,68472,142175,21099,8201,726,65474,081211,433216,255540,847239,091
8214,840218,917610,592240,376146,908210,703176,2952,180,046128,114215,368218,950580,334240,261
16216,886217,827651,240243,800249,478219,967288,4572,444,958213,780217,438219,510592,932239,510
32214,217219,178645,366240,227369,030224,795434,5562,372,823329,006217,055217,110554,072240,046
64217,160219,013623,512239,875470,435224,619560,7902,429,552421,615218,043218,734587,074239,802
128215,163219,348624,117240,364572,926226,463683,6862,530,721530,024215,932218,157577,617240,975
256217,058218,839643,857240,141615,875224,530825,3642,631,201590,909217,256218,942567,422240,061
Btrfs

real 59m41.974s
user 0m10.382s
sys 18m40.804s

4214,203215,879265,389280,24465,36710,52016,032773,64434,26094,105194,357269,380268,254
8218,318215,978270,100275,160109,68726,01540,4471,366,91189,489141,760214,990273,446271,531
16219,477215,738284,876282,111178,66247,88172,6231,864,106150,255177,508219,348264,935273,140
32218,835220,886281,550277,054246,933130,288181,7742,573,279250,936204,491219,736281,894268,989
64216,758218,890282,026275,127312,803195,963299,6853,270,521354,200202,362220,928281,331271,676
128216,509220,235279,353274,813368,053215,445343,6963,739,759414,950216,029219,711276,973272,569
256220,333216,113277,920273,271405,215215,495393,7314,015,851474,052213,849220,372283,035277,594
Kbytes/sec

本次测试所使用的 Linux kernel 版本为 2.6.29-rc3,文件系统性能测试工具为 IOzone
3.318。

从 测试结果可以看出,Ext4 的综合性能位居现有文件系统之首,JFS、ReiserFS 在读性能方面亦有不俗表现。Btrfs
的小块数据读写性能与平均水平相差甚远,是导致其本次测试总时间超出平均时间两倍的主要原因。较之其它成熟的文件系统,Btrfs
投入生产系统运作可能尚需时日。

至于一小撮不明真相别有用心的群众提出还要测 NTFS、 Vfat、MSDOS 等“文件系统”,恕时间有限,不予受理。

http://www.360doc.com/content/11/1226/12/16531_175056567.shtml

———————————————————–
http://www.360doc.com/showWeb/0/0/175056758.aspx

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了
Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4
可以提供更佳的性能和可靠性,还有更为丰富的功能:
1. 与 Ext3
兼容。

执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3
数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。
2.
更大的文件系统和更大的文件。

较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB,
1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。
3.
无限数量的子目录。

Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。
4.
Extents。

Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600
个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent
为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。
5.
多块分配。

当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用
25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc)
支持一次调用分配多个数据块。
6.
延迟分配。

Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache
中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
7. 快速
fsck。

以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode
表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode
了。
8.
日志校验。

日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4
的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3
的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。
9. “无日志”(No
Journaling)模式。

日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
10.
在线碎片整理。

尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供
e4defrag 工具进行个别文件或整个文件系统的碎片整理。
11. inode
相关特性。

Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode
中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4
还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes
reservation)。
12.
持久预分配(Persistent preallocation)。

P2P
软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。Ext4
在文件系统层面实现了持久预分配并提供相应的 API(libc 中的
posix_fallocate()),比应用软件自己实现更有效率。
13. 默认启用
barrier。

磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit
记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当
barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 “mount -o barrier=0”
命令禁用该特性。)

————————————————————
http://www.360doc.com/content/11/1226/12/16531_175055973.shtml

      
北京时间1月15日消息,据国外媒体报道,谷歌正在将EXT2文件系统转到新的EXT4(the fourth extended file
system)文件系统。

来自谷歌的麦克-罗宾(Michael
Rubin)透露消息说,谷歌正考虑将EXT2系统升级,最终确定为EXT4系统。

他表示,他们还考虑过XFS和JFS。结果显示,EXT4和XFS的表现类似,不过从EXT2升级到EXT4比升级到XFS容易。

而Btrfs太具实验性,谷歌目前不会考虑。

分析称,EXT4最初的表现非常好,但是在某些内核条件下表现力降低。比如在Linux2.6.32内核条件下,EXT4的表现力降低,而Btrfs的表现力提高。

同时,谷歌雇佣了知名的Linux内核开发者Ted Ts’o,他对EXT4文件系统的开发起到了主要作用。

EXT4介绍:http://baike.baidu.com/view/2220807.htm

XFS介绍:http://baike.baidu.com/view/1222157.htm

JFS介绍:http://baike.baidu.com/view/1494218.htm

————————————————————————–

http://q.sohu.com/forum/5/topic/5453380

   
在Microsoft
Winsows的世界,硬盘可以格式化成NTFS、FAT32、FATl6等等不同的格式。同樣地,在GNU/Linux底下也是有很多不同的文件系统格
式可供选择。当前在GNU/Linux底下,比较常用的有这几种格式:Ext2/Ext3、ReiserFS、XFS和JFS等数种。

  除了Ext2以外,其它几种都是日誌型文件系统。那什麼是日誌型文件系统呢?
就是系统会多用一些额外的空间纪錄硬盘的数据状态,因而在不正常开关机后,不需整个硬盘重新扫描来恢复正常的系统状态。

  ●
Ext2:此为一非常老旧且不支持日誌系统的文件系统格式,早期的Linux玩家应该还记得吧,在每次不正常关机后,重新开机时错误检查会需要很久,而且在不正常关机下,常常会让你一次不见很多文件,现在已经很少人使用这类文件系统了。

   ●
Ext3:为Ext2个改良版,所以Ext2可以直接升级成为Ext3而不必重新格式化,这也可以让旧的Ext2系统更加稳定。而主要和Ext2的差別是
增加了日誌系统(metadata),所以在不正常开关机后,可以迅速使系统恢复。而因为它与旧有的文件系统兼容,因此很多发行版都缺省使用Ext3。但
是在实际测试上,它的硬盘使用率其实不佳,大概只有真正空间的93%会被使用到,至於其它性能测试表现则为中等。在格式化与创建文件系统的时间也是其它文
件系统的数十倍。

  ● ReiserFS::採用日誌型的文件系统,为Hans
Reiser所创,因此以他的名字来命名。技术上使用的是B*-tree为基础的文件系统,其特色为从处理大型文件到眾多小文件都可以用很高的效率处理。
实务上ReiserFS
在处理文件小於1k的小文件时,效率甚至可以比Ext3快約10倍,所以ReiserFS专长是在处理很多小文件。而在一般操作上,它的性能表现也有中上
的程度。

  ● XFS: />不错的表现。

  ●
JFS::为全球最大计算机供应商IBM为AIX系列设计的日誌型文件系统,技术上使用的是B+-tree为基础的文件系统和ReiserFS使用
B*-tree不同。IBM
AIX服务器在很多金融机构上使用,所以稳定性是沒话說的。而它最重要的特色是在处理文件I/O的时候是所有文件系统里面最不佔CPU资源的,也就是
CPU使用率最低。而且在这樣节省使用CPU的情況下,它的效率表现还有中上以上的程度。

  虽然Ext3性能不好(在日誌型文件系统中 效率上算是最糟糕的)
,那为何还有那麼多人使用?那是因为当时Ext3可以直接从Ext2升级,而不需要先备份数据,然后格式化后再把文件复制回去,所以使用人数最多。但这也
不能全然怪它,因为它为了和Ext2兼容,所以背负了很多的历史包袱。若是以性能为考虑,则可以选择ReiserFS或XFS。若是系统资源不多,要使用
最低的CPU使用率,那麼可以选择JFS,因为它有著最好的性能资源比。

Universal USB Installer, 從USB随身碟安裝、執行Linux

笨笨包的電腦上並沒有裝設光碟機,意思就是說,我如果要安裝任何作業系統,我就必須使用一個USB磁碟裝置。但是要如何可以將安裝檔案正確存放在USB磁碟裝置上,而且又能確實的開機和安裝呢?

在大陸有很多簡體中文的USB磁碟裝置的開機與安裝的程式,台灣大多使用英文版的軟體。一個朋友向笨笨包推薦了一套叫做Universal USB
Installer
的類似程式,因為以前沒測試過,所以這次來裝Linux試試看好不好用!

準備USB隨身碟

Universal USB
Installer是一個Windows環境下免安裝的一個小工具,你只要執行這個程式,所有的功能都在同一個畫面裏。我們先將最少要有2GB的容量的
USB隨身碟插入,然後再執行程式,因為這個程式無法偵測事後安裝的磁碟裝置(好像大多數類似的軟體都有這個問題)。

UniversalUSBInstaller1 Universal USB Installer, 從USB随身碟安裝、執行Linux

你可以透過下拉選單Step 1選擇你要安裝的Linux種類,無論是Ubuntu、Debian、Linux、Mint、Open
Suse…有十幾個可以選擇。

其實不是只有Linux,如果你想安裝Windows Vista或者是Windows 7也可以用同樣的方式。


UniversalUSBInstaller4 thumb Universal USB Installer, 從USB随身碟安裝、執行Linux

如果你沒有事先下載好安裝ISO的話,你可以經由這個工具直接下載要安裝的Linux ISO,只要將右邊的Download the
iso的框框打勾,立即就會打開瀏覽器開始下載。當下載完成或者你原本就有iso檔案的話,按一下Browser選取你要安裝的ISO檔案即可。

在Step
3那邊選擇USB隨身碟。它只會顯示可移動磁碟。雖然你可以設定顯示全部的磁碟機,但是我不是很建議這麼做,而且如果是安裝在硬碟上的話,有可能會破壞原有的作業系統。

UniversalUSBInstaller2 Universal USB Installer, 從USB随身碟安裝、執行Linux

我建議將磁碟機選單旁邊的format打勾,它會把USB隨身碟清除的乾乾淨淨的,裏面只要單純有Linux安裝程式即可。Step
4的Set a Persistent file size for storing
changes選項不用去理會,因為我們只是做這次安裝而已,不需要另外設定USB隨身碟的可用空間。

UniversalUSBInstaller3 Universal USB Installer, 從USB随身碟安裝、執行Linux

將Linux安裝程式複製到USB隨身碟上會需要一些時間,特別是與你的USB隨身碟速度有關。畫面會顯示目前進度以及複製過程。

使用USB隨身碟上的Linux安裝程式

現在,Linux安裝程式已經在USB隨身碟上準備好了,你有兩種方式可以應用:你可以在原有的Windows中直接執行Linux,或者在別台電
腦安裝Linux。你可能必須要先改變BIOS的開機順序,通常電腦開機都是由硬碟為第一個開機裝置,所以你要將USB磁碟裝置設定在第一個開機裝置上,
第二個才是硬碟裝置。

當你開機順序設定完成後,就讓電腦由USB隨身碟開機了,之後你只要跟著Linux的引導逐步安裝即可。

感想

我沒想到這次用USB隨身碟安裝Linux會那麼順利,下載小工具和複製到USB隨身碟的相關程式,調整BOIS,再到重新開機正式開始安裝總共花
不到10分鐘的時間。也就是說如果各位想要用USB隨身碟安裝作業系統的話可以考慮使用這套Universal USB
Installer。這個程式到現在為止配合Linux版本還不斷的更新,而且,官方網站上也有不少關於安裝Linux的評測說明,有興趣的人不妨到官方
網站看看!

官方直接下載

http://reader.feedshow.com/show_items-feed=5f97284424398189dd41d17bccc69bd6

ubuntu的LTS以及衍生版本

ubuntu的LTS版本

先介绍一词:LTS = Long-Term Support,长期技术

Ubuntu Long Term Support:Ubuntu
长期技术支持版(三年),一般的版本支持为18个月。注意,这里的T是term而不是time。

Ubuntu的母公司Canonical定期并有计划地不断发布其新版本,Ubuntu一直坚持每6个月发布一个新的版本,并致力于在该发行版的支持期内持续的发布安全和关键补丁。需要注意的是,除了更新支持时间上的长短之外,LTS桌面版本与普通桌面版并没有任何区别。

从06年4月份(06年的LTS时间上有点赶不及,所以往后推了两个月,所以是06.06)开始每隔两年发布一个长期支持版。2006年6月
Canonical推出第一个长期支持版本,并标记为Ubuntu 06.06
LTS,并保持每隔两年(偶数年的四月份)推出一个长期支持版的计划,这一年的xx.04版本则停止发布而是改为LTS版本。由于Ubuntu
06.06
LTS的准备使得这个长期支持版实际上比原计划推迟理两个月,所以长期支持版的发布日期实际上与普通桌面版和服务器版都是在4月份同时发布的。

目前为止Canonical共发布了3个长期支持版,分别为06.06(Dapper Drake)、08.04(Hardy
Heron)、10.04 (Lucid Lynx),按照每两年一个LTS版本的周期,下一个LTS版本应该是12.04。

Ubuntu为普通桌面版本提供18个月的支持,提供桌面LTS版本提供3年的更新支持,服务器版的支持周期为5年。

 

Ubuntu正式支援的衍生版本

  1. Kubuntu:使用和Ubuntu一样的软件库,但不采用GNOME,而使用更为美观的KDE为其预定桌面环境默认蓝色风格,是十分漂亮。当然,Ubuntu下只要安装最新的KDE也就可看到Kubuntu的面貌了。
  2. Edubuntu:是Ubuntu的教育发行版。这是为了使教育工作者可以在短于一小时的时间内设计电脑教室,或建立网上学习环境,并且可即时控制该环境而不用在家学习而创作的。包含了大量的教育套件,学习比较方便。
  3. Xubuntu:属于轻量级的发行版,使用Xfce4作为桌面环境,与Ubuntu采用一样的软件库。这个特别适合比较老,或者机器配置较低的用户。
  4. Ubuntu Server Edition:其于Ubuntu 5.10版(Breezy
    Badger)起与桌面版同步发行。其提供了服务器的应用程序,如一个电邮服务器、一个LAMP网页服务器平台、DNS设定工具、档案服务器与数据库管理。与原来的桌面版本比较起来,服务器版的光碟映像档体积较小,并且其对硬件规格的要求更低。若要运行服务器版,最少只需要有500MB的硬盘空间与64MB的内存便可。然而其并没有任何桌面环境提供,使用者在缺省环境里只可使用文字接口。
  5. Gobuntu:GNU版本,只使用自由软件基金会认证过的自由软件,不含任何非开源成分。
  6. Ubuntu
    Studio:音频,视频和图像设计专用版本。这个版本也十分漂亮,默认的主题风格非常吸引人,网上有DEB包,可以安装在Ubuntu上,效果很不错。
  7. Ubuntu JeOS:JeOS,即──Just enough Operation
    System(刚刚好的系统),发音同:Juice,是一个高度精简的、专门面向虚拟化应用的发行版。也就面向虚拟化技术的系统。可当修复盘用。这些专案与Ubuntu紧密相关,从2006年起,他们与Ubuntu同步发行。他们的所有版本下载地址可以在
    http://releases.ubuntu.com
    http://cdimage.ubuntu.com/找到。
  8. Mythbuntu:Mythbuntu,是一套基于Ubuntu的面向媒体中心电脑的发行版.MythTV是其中最重要的组成之一,用于实现媒体中心等功能。新版本改用了Xfce。

 

非正式衍生版本

  1. Linux Mint:最受欢迎的Ubuntu非正式衍生版本。口号是“From Elegance Came
    Freedom”。它添加了多媒体编码支持,重新设计了桌面和菜单,美化增强的软件安装更新工具,以及其它改进。最新版本为Linux
    Mint 7(Gloria),基于Ubuntu
    9.04。另外还有社区支持版本,有KDE、XFCE、Fluxbox三种不同环境的版本。
  2. nUbuntu:专注于安全工具的版本。
  3. zUbuntu:为IBM zSeries 主机移植的版本。
  4. Ebuntu:建基于Enlightenment 0.17桌面环境并附有视窗管理员的Ubuntu修改版。
  5. Fluxbuntu:建基于 Fluxbox桌面环境的修改版。
  6. KGubuntu:这是中国台湾Ubuntu爱好者改进Ubuntu的版本,并存有KDE4.1以及GNOME环境的DVD安装版,同时也是Live
    DVD。
  7. Gnoppix : 这是基于Ubuntu Live CD而研制的以GNOME为缺省桌面环境的Live CD。
  8. Dubuntu :这是中国大陆Ubuntu爱好者改进Ubuntu的版本,更好的支持中文,并且添加了更多软件的Live
    CD。
  9. Freespire:一个基于Ubuntu的Linux OS发行版本,Linspire(原Lindows)的Live
    CD。支持MP3,Windows,Real
    Media,Java,Flash等媒体格式。当然也同时支持ATI,Nvidia,Wi-Fi等驱动或应用。它甚至还包含了一个自己的CNR服务系统,可以让用户运行那些基于Windows的程序。当然,Freespire所包含的这些功能都是目前很普遍的了。但是Linspire将他们很好的整合在了一起,并附加了一个修改过的KDE图形操作界面,并将Firefox等常用软件巧妙地整合进了整个系统。
  10. Hiweed:这也是中国大陆Ubuntu爱好者改进Ubuntu的版本, 是一套计算机操作系统,基于 Debian 和
    Ubuntu 构建;如果您正在使用 Windows,不妨下载试试看(Desktop
    版本不用安装就能直接在光盘上运行)。最主要的,这是国人改编的,很适合国内用户使用。
  11. BioInfoServOS:基于xUbuntu6.06/ Hiweed Linux Desktop
    1.01,能完美支持桌面电脑、笔记本电脑和服务器硬件,其界面友好,功能强大,易于快速安装部署。
  12. eeeXubuntu:华硕的EEEPC热卖,有爱好者就推出了专供它使用的ubuntu。基于XUbuntu。
  13. gOS:gOS 是专为199美元Everex Green PC TC2502 PC构建的操作系统,它基于Ubuntu
    Linux
    7.1构建,最大的亮点在于它是一个为Google系列服务量身定制的系统。Google粉丝绝对不能错过。以绿色为主要色调,风格很像Google,因此很多人误以为是Google的系统。
  14. Ubuntu CE:全名,Ubuntu Christian
    Edition,如其名,这是一个专为基督教徒开发的Ubuntu,里面包含一些关于学习的圣经软件,理财软件,以圣经为主题的Firefox,父母控制软件(保护儿童不受XX内容的影响啥的),还有会每天在桌面上显示圣经诗歌的软件。确实是一个专为基督教徒开发的Ubuntu呢。
  15. Ubuntu ME:既然有基督教徒专用版Ubuntu,也会有别的信仰的教徒专用版Ubuntu, Ubuntu
    ME就是回教徒专用。Ubuntu ME全名Ubuntu Muslim Edition。不例外的,Ubuntu
    ME肯定是要包含回教徒的圣物可兰经的有关软件的,而且还内置有每天定时播放可兰经的软件。这么说来不知道佛教有没有专用发行版呢。
  16. Ubuntu MCE:微软有Windows XP MCE以及Windows Vista Home
    Premium提供给用户媒体中心功能,Ubuntu也有,就是Ubuntu MCE了,不过Ubuntu的MCE版名为Ubuntu
    MMC,全名Ubuntu Multimedia Center。
  17. Ubuntu Ultimate
    Edition,这是国外的一个比较好的美化版本,做得非常漂亮,还有一个游戏版本的,集成很多游戏,包括一些开源的大游戏。不过现在没有更新了。

国内现在也有了很多的定制版,如新氧的,雨林木风的,开拓者的,都是各有特色。不过最后一个开始比较早,版本也比较多了,经验丰富,对于新手可是不错的选择。

 

32位还是64位

当前,ubuntu下载页面(http://www.ubuntu.com/download/ubuntu/download)上建议下载32位版本。

一方面,当前很多软件在32位系统上开发和运行,在64位上可能会有问题。

另外一方面,当前主流CPU和内存用32位即可充分发挥其潜力。

 

因此,建议到ubuntu下一个LTS版本12.04发布的时候,再考虑选择64位。

Ubuntu, Ruby, RVM, Rails, and You

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/
http://www.iloopai.com/blogs/11
http://ivanbernat.com/guides/install-rails-3-with-sqlite3-mysql-ubuntu-10/

25 Dec 2010

This beginner’s guide will set up with Ruby 1.9.2, RVM
and Rails 3.0.7 and is specifically written for a
development environment on Ubuntu 10.10, but will probably
work on many other operating systems, including older versions of
Ubuntu and Debian. YMMV.

If you’re looking for a way to set this up on a
production server then I would recommend the use of the railsready script
which installs all the necessary packages for Ruby 1.9.2p136 and
then that version of Ruby itself, Bundler and Rails. Then it leaves
it up to you to install Apache or nginx to get your application
online.

If you’re not using Ubuntu then try
Wayne E. Seguin’s rails_bootstrap_script
which probably gets a
version of Rails working for you, albeit with 1.8.7 rather than
1.9.2.

Under no circumstance should you install Ruby, Rubygems or any
Ruby-related packages from apt-get. This system is out-dated and
leads to major headaches. Avoid it for Ruby-related packages. We do
Ruby, we know what’s best. Trust us.

Still not convinced? Read this.

This guide will go through installing the RVM (Ruby Version Manager),
then a version of Ruby (1.9.2), then Rails and finally Bundler.

By the end of this guide, you will have these things installed
and have some very, very easy ways to manage gem dependencies for
your different applications / libraries, as well as having multiple
Ruby versions installed and usable all at once.

We assume you have sudo access to your machine, and
that you have an understanding of the basic concepts of Ruby, such
as “What is Rubygems?” and more importantly “How do I turn this
computer-thing on?”. This knowledge can be garnered by reading the
first chapter of any Ruby
book
.

Housekeeping

First of all, we’re going to run sudo apt-get
update
so that we have the latest sources on our box so that
we don’t run into any package-related issues, such as not being
able to install some packages.

Next, we’re going to install Git
(a version control system)
and curl which are both
required to install and use RVM, and build-essential
which is required to compile Ruby versions, amongst other
compilable things. To install these three packages we use this
command:

sudo apt-get install build-essential git-core curl

RVM

RVM is a Ruby Version
Manager
created by Wayne E. Seguin and is extremely helpful for
installing and managing many different versions of Ruby all at
once. Sometimes you could be working on a project that requires an
older (1.8.7) version of Ruby but also need a new version (1.9.2)
for one of your newer projects. This is a problem that RVM solves
beautifully.

Another situation could be that you want to have different sets
of gems on the same version of Ruby but don’t want to have to do
deal with Gem Conflict Hell. RVM has gemsets for
this. This is a feature you wouldn’t have if you used the
packaged Ruby
.

We’re going to use it to install only one version of Ruby, but
we can consult the
documentation
if we want to install a different version of
Ruby.

With git-core and curl installed we’ll
be able to install RVM with this command:

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

The beautiful part of this is that it installs Ruby to our home
directory, providing a sandboxed environment just for us.

Once that’s done, we’re going to need to add a line to
~/.bashrc file (the file responsible for setting up
our bash session) which will load RVM:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc 

Then we’ll need to reload the ~/.bashrc file which
we can do with this small command:

. ~/.bashrc

The next command we run will tell us what other packages we need
to install for Ruby to work:

rvm notes
...
# For Ruby (MRI & ree)  you should install the following OS dependencies:
ruby: aptitude install build-essential bison openssl libreadline6 libreadline6-dev
curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0
libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf

A couple of these packages we’ve already installed, such as
git-core and curl. They won’t be
re-installed again.

These packages will lessen the pain when we’re working with
Ruby. For example, the libssl-dev package will make
OpenSSL support in Ruby work, libsqlite3-0 and
libsqlite3-dev are required for the
sqlite3-ruby gem and the libxml2-dev and
libxslt-dev packages are required for the
nokogiri gem. Let’s install all these packages now
using this command:

sudo aptitude install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g
zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf

This command *must* be written on a single line, otherwise
some of the packages will not install.

Now our Ruby lives will be as painless as possible.

Ruby

With RVM and these packages we can install Ruby 1.9.2:

rvm install 1.9.2

This command will take a couple of minutes, so grab your
$DRINKOFCHOICE and go outside or something. Once it’s done, we’ll
have Ruby 1.9.2 installed. To begin using it we can use this lovely
command:

rvm use 1.9.2

Are we using 1.9.2? You betcha:

ruby -v
ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]

Or, even better, would be to make this the default for
our user! Oooh, yes!

rvm --default use 1.9.2

Now whenever we open a new bash session for this user we’ll have
Ruby available for us to use! Yay!

Rails

Now that RVM and a version of Ruby is installed, we can install
Rails. Because RVM is installed to our home directory, we don’t
need to use that nasty sudo to install things; we’ve
got write-access! To install the Rails gem we’ll run this
command:

gem install rails

This will install the rails gem and the other 22
gems that it and its dependencies depend on, including Bundler.

MySQL

If you’re planning on using the mysql2 gem for your
application then you’ll want to install the
libmysqlclient16-dev package before you do that.
Without it, you’ll get an error when the gem tries to compile its
native extensions:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

/home/ryan/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

PostgreSQL

Similar to the mysql2 gem’s error above, you’ll
also get an error with the pg gem if you don’t have
the libpq-dev package installed you’ll get this
error:

    Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

/home/ryan/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb
checking for pg_config... no
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Fin.

And that’s it! Now you’ve got a Ruby environment you can use to
write your (first?) Rails application in with such minimal effort.
A good read after this would be the official guides for Ruby on
Rails
. Or perhaps the documentation on the RVM site which goes into using
things such as gemsets and the
exceptionally helpful per-project
.rvmrc file
. A quick way to generate an .rvmrc
file is to run a command like this inside the project

rvm use [email protected] --rvmrc

RVM is such a powerful tool and comes in handy for day-to-day
Ruby development. Use it, and not the packages from apt to live a
life of development luxury.

Credits

Thanks to krainboltgreene for
pointing out that the guide needed to install the packages
specified by rvm notes. He’s got a similar write up here for Ubuntu
10.04
. Some of the instructions in this guide were “inspired”
by that post.

1、先安装gcc,mysql和一些库

sudo apt-get update
sudo apt-get upgrade
sudo dpkg-reconfigure tzdata
date

sudo apt-get install gcc
sudo apt-get install build-essential
sudo apt-get install git-core
sudo apt-get install libcurl4-openssl-dev libssl-dev zlib1g-dev libreadline5-dev

sudo apt-get install mysql-server mysql-client
 

2、编译ruby1.9.2 :

先下载源代码:http://www.ruby-lang.org/en/downloads/

tar vfxz ruby-1.9.2-p180.tar.gz  
cd ruby-1.9.2-p180
sudo ./configure --prefix=/usr/local/ruby-1.9.2

sudo make
sudo make install  

#添加路径
sudo gedit /etc/profile
#加入如下内容并且保存,注销就可以了
if [ -d "/usr/local/ruby-1.9.2/bin" ] ; then  
    export PATH=/usr/local/ruby-1.9.2/bin:$PATH
fi 

#查看安装到ruby版本
#sudo用到环境变量没搞清楚...加个-i就行了
sudo -i ruby -v

#安装rails,这儿也用-i
sudo -i gem install rails -y

设置MQSQL的UTF-8编码方式:

$sudo gedit /etc/mysql/my.cnf  #编辑添加如下内容
[mysql]
default-character-set = utf8 
[mysqld]
default-character-set = utf8 
init_connect = 'SET NAMES utf8' 

[client]
default-character-set = utf8

sudo /etc/init.d/mysql restart  #运行
sudo netstat -tap | grep mysql  #检查

#检查MYSQL查看编码,用MYSQL命令: 
show variables like'character%';  
#或者:mysql -u root -p
Enter password: ******
> \s # 查看是否配置成功
Client characterset:    utf8
Server characterset:    utf8
>quit

#Install nginx+passenger

sudo -i gem install passenger
sudo -i passenger-install-nginx-module

用rails new 新建 app

rails new blog -d mysql

现在3.0.7版本的mysql2不能用最新版,需要添加个限制

cd blog
gedit Gemfile

把gem ‘mysql2’改成: gem ‘mysql2′,'<0.3’
然后运行:bundle,如果提示下面到错误就是少了些运行库了:Could not create Makefile due to
some reason, probably lack of necessary libraries and/or
headers.
安装库:

sudo apt-get install libmysql-ruby libmysqlclient-dev 

在运行bundle就能正确安装mysql2了
执行:rake db:create还是出错…这个是rake
0.9版本到问题,这个有人给出了方法:打开刚才新建的app根目录下的Rake文件,在里面添加:

#注意把Blog改成你自己到模块名
module ::Blog
  class Application
    include Rake::DSL
  end
end

module ::RakeFileUtils
  extend Rake::FileUtilsExt
end
#这个是原来rake文件到最后一行,不是添加的,注意这个“Blog”就是你的模块名字
Blog::Application.load_tasks

第二种方法就是卸载0.9版本的rake了:

sudo -i gem uninstall rake -v 0.9
sudo -i gem uninstall rake -v 0.8.7
sudo -i gem install rake -v 0.8.7
 

我的系统里有rake 0.9和rake 0.8.7,把rake
0.9卸载了就找不到rake也许要加个链接到ruby/bin目录,我偷懒直接把2个都卸掉然后再安装0.8.7

这个就是安装mysql2过程中出现的问题:http://blog.csdn.net/linhx/archive/2011/03/29/6286899.aspx

配置ngnix:/opt/nginx/conf/nginx.conf

server {
        listen       80;
        server_name  localhost;
        root /home/xxx/rails_app/blog/public;  #xxx这个就是你刚才新建的app的public目录到完整路径
        passenger_enabled on;  
        rails_env development;     #设置为开发环境,默认是生产环境
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        #location / {
        #    root   /home/leslin123/rorails/helloMySQL/public;
        #    index  index.html index.htm;
        #} 

配置Nginx为启动项:

sudo apt-get install curl#在终端里输入curl,如果提示未安装就用这个命令安装,如果已经存在就跳过
curl -L http://bit.ly/nginx-ubuntu-init-file > nginx
sudo mv nginx /etc/init.d/
sudo chmod +x /etc/init.d/nginx 
sudo /usr/sbin/update-rc.d -f nginx defaults
sudo /etc/init.d/nginx start 

在浏览器里输入:127.0.0.1,看到Welcome to nginx!就是安装成功了,如果已经设置了rails
app的目录应该是rails程序到欢迎界面了
每次修改了nginx配置后需要重启生效:

sudo /etc/init.d/nginx restart 

注:如果提示:Access denied for user ‘root’@’localhost’ (using
password: NO)重启下nginx试试

用到的链接:rvm安装方式,只采用了前面:http://www.yangzhiping.com/tech/ubuntu-ree-nginx-passenger-rails3.blog.html

编译ruby1.9.2以及配置:
http://hi.baidu.com/rikioy/blog/item/57fdfe38b87ce3ccd462256a.html

解决mysql2版本不相容的问题:http://stackoverflow.com/questions/5840742/version-
of-mysql2-0-3-2-doesnt-ship-with-the-activerecord-adapter-bundled-anym

执行rake出错解决方法:http://stackoverflow.com/questions/5287121/undefined-method-task-using-rake-0-9-0-beta-4

安装mysql2不成功:http://blog.csdn.net/linhx/archive/2011/03/29/6286899.aspx

activescaffold+rails2.3.4+本地化 记录

这两天把原有一个项目从rails 2.2.2升级到了rails
2.3.4,在activescaffold插件上耗费了许多时间,但总算都解决了。
1.升级activescaffold
  首先要说明的是AS的官网很是诡异。里面的文档几乎不更新,反而github
wiki上才是最新的。所以大家不要找错地方了。
   按照文档,升级AS到2.3版本需要以下两步:
   1). ruby script/plugin install
git://github.com/activescaffold/active_scaffold.git
   2). ruby script/plugin
install git://github.com/ewildgoose/render_component.git -r
rails-2.3

  但是注意:
第二步安装的render_component插件在rails 2.3.4上并不能使用。启动时会出现
无效的方法”set_session_options”的错误
。我最后是在github上找了另一个render_component插件才好的。在这里浪费了我至少2个小时。

   2). ruby script/plugin install
git://github.com/weplay/render_component.git

2.中文化

 
原来我使用的是localization插件。并在Object类中加入了as_()方法来实现中文化。可是此插件在rails
2.3.4中也会报错。于是我就直接采用rails自带的I18n国际化方法。当然还是需要加入as_()方法.代码如下

 

Ruby代码  收藏代码记录” />
  1. class Object  
  2.   def as_(string, *args)  
  3.     if string  
  4.       I18n.t(string,*args)  
  5.       if (r =~ /^translation missing/)  
  6.         return string  
  7.       end  
  8.       return  
  9.     else  
  10.       return string  
  11.     end  
  12.   rescue  
  13.     return string  
  14.   end  
  15. end  

 

   附上翻译文件:

 

http://www.iteye.com/topic/484236

数据库,schema,catalog三者的涵义(简单描述)

你是否经常见到schema,catalog这些单词,在数据库的背景下是什么意思呢?

 

 

两篇参考:http://www.iteye.com/problems/9738 
http://luckybat.iteye.com/blog/259976

 

taopian (高级程序员) 2009-01-07 写道
schema是对一个数据库的结构描述。在一个关系型数据库里面,schema定义了表、每个表的字段,还有表和字段之间的关系。

catalog是由一个数据库实例的元数据组成的,包括基本表,同义词,索引,用户等等。

 

 

luckybat 写道
在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。


同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的schema的操作根权
下,每个用户只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的数据(即schema用户自己的数据)。引
自:http://utong.itpub.net/post/3610/58061

 

 

我另外结合MySQL官方的MySQL administrater数据库管理工具理解一下所谓的schema,catalog

 

mysql administrater 管理界面

 

我点了那个catalogs,下面就出来了所有的database。

 

想了一下,我这样来总结:

 

数据库:指的是说MySQL(或者说Oracle等)

 

schema: 指的是说当偶create database caiceclb时,caiceclb就是一个schema

 

catalog:
指的是所有的database目录,就像上图显示的那样,将MySQL原来的(mysql,infomation_schema)及偶后来create
database ****创建的的database的集合。(这个怎么取名字呢,不知道,以后或许就知道了)

.bat中怎样注释一段话

方案一:
::利用转义符号^
优点是无任何显示,缺点是每行都要加^(而且最后一行一定不能加),比较适用于注释行数少时
pause>nul

方案二:
rem 同样是用转义符号^
优点是大部分时候比较简单省事,缺点同上
pause>nul

方案三:
if 1==0 (
利用恒不等的判断语句
个人认为是有长注释时的最优方案,不解释
)
pause>nul

echo 方案四:
(利用屏蔽错误回显的方法。
优点是注释比较零碎且行数少时效率比方案五高,但行数多时比较难说,而且有可能出错
)2>nul
pause>nul

方案五:
goto 1
利用跳转让电脑不执行注释内容。
优点是绝不出错,但是效率低,频繁使用时更低
:1
pause>nul