my blog my blog

Tag: Ubuntu
Makefile的基本写法与范例

 

Makefile 基本写法:

格式:

  1. ------------------------------------------------- 
  2.  
  3. target: dependencies 
  4.  
  5. [tab] system command 
  6.  
  7. ------------------------------------------------- 

范例1:

  1. # I am a comment, and I want to say that the variable CC will be 
  2.  
  3. # the compiler to use. 
  4.  
  5. CC=g++ 
  6.  
  7. # Hey!, I am comment number 2. I want to say that CFLAGS will be the 
  8.  
  9. # options I'll pass to the compiler. 
  10.  
  11. CFLAGS=-c -Wall 
  12.  
  13.   
  14.  
  15. all: hello 
  16.  
  17. hello: main.o factorial.o hello.o 
  18.  
  19.        g++ main.o factorial.o hello.o -o hello 
  20.  
  21.   
  22.  
  23. main.o: main.cpp 
  24.  
  25.        g++ -c main.cpp 
  26.  
  27.   
  28.  
  29. factorial.o: factorial.cpp 
  30.  
  31.        g++ -c factorial.cpp 
  32.  
  33.   
  34.  
  35. hello.o: hello.cpp 
  36.  
  37.        g++ -c hello.cpp 
  38.  
  39.   
  40.  
  41. clean: 
  42.  
  43.        rm -rf *o hello 

范例2:
 

  1. CC=g++ 
  2.  
  3. CFLAGS=-c -Wall 
  4.  
  5. LDFLAGS
  6.  
  7. SOURCES=main.cpp hello.cpp factorial.cpp 
  8.  
  9. OBJECTS=$(SOURCES:.cpp=.o) 
  10.  
  11. EXECUTABLE=hello 
  12.  
  13.   
  14.  
  15. all: $(SOURCES) $(EXECUTABLE) 
  16.  
  17.        
  18.  
  19. $(EXECUTABLE): $(OBJECTS) 
  20.  
  21.        $(CC) $(LDFLAGS) $(OBJECTS) -o $@ 
  22.  
  23.   
  24.  
  25. .cpp.o: 
  26.  
  27.        $(CC) $(CFLAGS) $< -o $@ 
  28.  
  29. Hello.c 

 

BIOS跟Ubuntu无关

 

今天weibo吐槽了一个人,实在有些看不下去了,虽然这几年来在网上看到关于操作系统的吐槽不少,但是从来就没见过这么低水平的吐槽。引用下:

作者的原话:ubuntu连BIOS都找不到。。。。。。。。这怎么改 优先 光驱 日了

我转发顺便评论了下:ubuntu 连开机键都找不到 。。。。。。。。这怎么开机哇 日了

收到作者的回复:呵呵 我就不信@奶牛博客 生来就会用UBUNTU 。。。。以自己的强项去吐槽别人的弱项 是显得你的强大伟岸呢 还是什么心理阴暗 幸灾乐祸 真是林大什么鸟都有

好吧,就到这。现在作者把原微博已经删除了,无处可寻,但是,奶牛仅就此时谈谈感想。

本来只是想娱乐下大众,没想到收到如此的回复,呵呵一笑带过一千只乌鸦飞过的感觉。自始至终,我都觉得自己有很多东西要学,我知道自己有多少东西不会有多少东西不知道有多少方向要努力,我也懒得用自己宝贵的时间去跟你争论什么强项弱项,三年来积累写下的文章有小600篇了,不晓得对各位有多少帮助,但是我觉得我还算是比较热心跟有爱心的。一个知道可以在BIOS里面改启动优先级的人竟然都不知道BIOS跟操作系统无关,这个可以不怪你,但是不要拿这么愚蠢的问题来吐槽一个压根儿不适合你的操作系统可以么?你不觉得这个操作系统很无辜么?你可以说你不会用,你也可以求助询问如何使用,但是请不要这么装13似的无知的告诉别人ubuntu就像垃圾一样。科普下什么是BIOS:

  1. BIOS是英文"Basic Input Output System"的缩略语 
  2. 中文名称就是"基本输入/输出系统" 
  3. 它是一组固化到计算机内主板上一个ROM芯片上的程序 
  4. 它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 
  5. 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。 

从上面的百科介绍,我们可以知道BIOS是一个ROM芯片上的程序,固化在了主板上的硬件上,所以就算你的硬盘是完全空白的,BIOS仍旧是可以正常工作的。而对于操作系统而言,跟BIOS并没有直接关系。

那个作者所说的启动优先级是BIOS设置中常用的一个设置方面,可以通过设置boot的顺序来改变先启动什么硬件。比如你有光驱,有优盘,有硬盘,还有网络,这四种最常见的启动方式,如果你的硬盘放在第一启动项,那么就算你把安装光盘放进了光驱,重新启动,仍旧是从硬盘先启动而非你的光盘,这也就是启动顺序的一个比较好的一个例子了。裸机一般都会在硬盘装有操作系统,就像现在很多厂商为了降低笔记本的价格,从而安装linux操作系统,比如像奶牛前阵子接触的那个meego系统的机子一样。如何知道怎么进入BIOS呢,可以开机的时候看看最先出来的那行提示就知道了。

好了,科普结束。Linux操作系统本来就不是适合每个人用的,那些根本还不知道什么是linux还想着装B的筒子无权吐槽。

[mp3 auto=1]http://blog.96911.com/blog_musfile/89811004.mp3?ickey=1[/mp3]

GNOME 3.6 正式发布

 

用户界面更新

新应用更新

多语言更新

 

开发者工具更新

 希望Ubuntu 12.10的下个版本跟Arch Linux都可以尽快更新吧~

本文纯属翻译,详细看http://library.gnome.org/misc/release-notes/3.6/index.html.en

 

 

 

 

Ubuntu 12.10 Quantal Quetzal beta1已发布

 

时间好快,Ubuntu 12.10 beta1在9月6日已经发布,奶牛还木有下载测试,因为是beta版本,所以稳定性一般跟不上,加上最近几个版本的Ubuntu有些地方确实有些不尽人意,暂时不打算测试了,童鞋们自测吧。奶牛还是有一点儿期待Gubuntu的,听说最近Linux Deepin的KDE版本也进入了冻结,各种小新闻吧。现在已经不是版本帝了,还是习惯Arch Linux下没有版本的感觉,只要升升级就好了。

Ubuntu 12.10 beta1的安装截图在IMCN 有发布,奶牛还真没怎么看出来变化,估计都是一些优化神马的吧,等最后的final版本的release notes看吧,暂时就不折腾了。

Ubuntu 12.10下载可以到http://releases.ubuntu.com/quantal/来找相应的镜像

关于64位linux系统无法执行32位程序的解决方法

 

前阵子就是因为32位lib的关系没有正常执行永中office安装,当然,我的问题不是缺少32位库,而是64位的库也有问题,呃,这个今天不讨论了,今天就说说最基本的解决方案。

当你执行一个32位程序的时候,你可能会发现提示No such file or directory,这就是说明你的64位系统没有安装32位的lib库,如何知道一个程序是32位还是64位呢,也很简单,可以通过readelf来看。呃,如果你确定你执行的是32位程序,而你是64位系统,则出现No such file or directory错误就是因为你缺少了32位的库文件。解决方法也很简单:

对于Arch Linux用户:

添加下面几行到 /etc/pacman.conf 启用该软件仓库:

  1. [multilib] 
  2. Include = /etc/pacman.d/mirrorlist 

然后执行:

  1. sudo pacman -Syy 
  2. sudo pacman -S lib32-glibc 

对于Ubuntu用户:

  1. sudo apt-get install ia32-libs 

对于fedora用户:

  1. sudo yum install glibc.i686 

一般的程序就可以运行了,当然也可能还需要一些其它的32位库,可根据实际情况来解决。

windows系统通过grub4dos引导linux系统教程

 

安装系统呢,难免会有各种问题存在,比如grub安装失败(虽然不是很常见,但是还是会出现)。今天奶牛就来说下对于双系统如何用windows引导起来已经安装好的但是引导没有安装成功的linux系统,这里以fedora为例,ubuntu哇,Arch Linux哇道理也是一样的。安装的情况是这样子的,前面都是正常的安装,然后分区挂载点选择好了之后就开始安装了,但是安装最后一步写入grub的时候提示:

  1. There was an error installing the bootloader. 
  2. The system may not be bootable. 

因为没有写入grub的引导,所以windows是可以正常启动的,进入windows后我们需要安装一个grub4dos。对于grub4dos的安装可以自行google求助,这里不讲,讲下如何手动引导进入linux系统。

  1. title Fedora 17 
  2. root (hd0,4) 
  3. kernel /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5 
  4. initrd /boot/initramfs-3.3.4-5.fc17.x86_64.img 
  5. boot 

先进入grub4dos的引导,然后选择c进入命令行模式,输入root (hd0,然后按tab,看看自己的linux所在的分区情况。这里详细说下,对于只有根分区跟根分区与boot分区分离的两种情况的引导方式。

第一行root (hd0,4)是你的boot所在的分区,也就是有内核引导文件的分区,而kernel行root=后面的则是你的根所在的分区,而且sda后面的数字是比hd0后面的数字大1的。

这样子来说吧:情况1,只有/分区的时候,因为boot也在/分区下,所以root的进入的是同一个root,所以如上面的引导形式就可以正常引导了。情况2,有/boot分区与/分区的情况下,上面的命令行就需要改变了。比如你的boot在sda4,/在sda5,那么上面的形式应该变为:

  1. title Fedora 17  
  2. root (hd0,3)  
  3. kernel /vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5  
  4. initrd /initramfs-3.3.4-5.fc17.x86_64.img  
  5. boot  

看到变化没有。仔细看下你就明白了。title下的root是boot的所在目录,而文件是由这个root决定的,在linux系统中,boot分区是挂载在根分区的boot文件夹下的,所以在boot分区中,并没有boot文件夹的。

手动的时候输入(hd0,tab可以看到分区的具体情况,kernel /后tab可以看到文件系统下的文件,避免问题,所以根据具体的文件来填写,上面只是范例,initrd行同理的。当两行都输入完成后就输入boot应该就可以正常启动了,当启动都正常后把正常的引导行写回menu.lst就好了。

当然,kernel行可以加一些其它的参数的,这里没有加,可以参考grub.cfg中的参数自行增加就可以了。

Ubuntu资讯还是OMGUbuntu更新快

 

说ubuntu资讯呢,其实奶牛一直比较喜欢OMG!Ubuntu!这个网站的,站点设计风格很棒,而且更新速度绝对一流,跟国内的相比感觉还是相当专业的。推荐朋友们订阅OMG!Ubuntu这个网站,奶牛最近很少更新Ubuntu的资讯了,自己用ubuntu的时候不多,自从上次12.04的升级挂掉后,奶牛还是回归了Arch Linux,不过如果是对于新手朋友,奶牛还是强烈建议使用Ubuntu的,特别是国内的Deepin Linux,也相当值得关注,看到今天Deepin Music Player又有了小更新,感觉深度做东西还是很认真的,希望朋友们多多支持~奶牛以前使用过一段时间的Deepin Linux,比原版Ubuntu更符合国人的一些习惯,所以不用怕陌生,上手并没有那么难~本来打算假期来把ubuntuo.com这个网站做起来的,呃,现在发现,自己真的懒惰懒惰懒惰至极了,唉~~~再说吧,还是感觉有必要起个wiki站来介绍ubuntu或者linux入门,呃…

 

Grub2.0正式版发布

 

grub终于进入2.0正式版了,看网上的截图貌似没啥区别,看官方通告是各种各种支持的提升,呃,估计大部分一般桌面用户都用不到是真滴。

tarball文件下载:http://ftp.gnu.org/gnu/grub/grub-2.00.tar.gz

编译安装方法可以参考奶牛的文章:grub2编译安装

终于把这周的课设搞定了,可以回linux了…

动态磁盘无法写入grub问题介绍

 

昨天帮小远装linux,发现正常安装后grub无法写入,而且最强大的是mbr中的windows引导还顽强的存在。当时分区的时候就感觉怪怪的,因为没有主分区跟扩展分区,刚开始也没多想,只是觉得怪怪的,后来经过很久的排错,终于知道了,原来是由于windows的动态磁盘造成的。

查了下百科,介绍如下:Windows 2000起引入了基本磁盘和动态磁盘的概念,并且把它们添加到Windows系统管理员的工具之中。无论是基本磁盘还是动态磁盘,你都可以使用任何文件系统,包括FAT和NTFS。而且你可以在动态磁盘改变卷而不需要重启系统。你可以把一个基本磁盘转换 成动态磁盘。但是你必须了解这并不是一个双向的过程。一旦你从基本磁盘变成了动态磁盘,除非你重新创建卷,否则你不能将它转变回去。

我们平时用的是基本磁盘,有主分区跟扩展分区之分,而动态磁盘默认都是简单卷,还有其它的卷模式。这里我们就不讨论了,我们只要知道这个grub无法写入的问题是由于动态磁盘造成的就ok鸟。

看了网上的一些文章,其实是有无损把动态磁盘转换为基本磁盘的程序跟方法的,但是这里只是针对简单卷的哦,有其它卷的就不好处理了。

资料我已经都整理到文件中了,朋友们有需要的可以直接下载无损转换动态分区工具包 (请先备份数据再使用,以防万一)

教程可以看下图:点击可以看大图

怎么无损数据地转换动态磁盘到基本磁盘

 

Ubuntu12.04新手入门指南

写一篇新手入门指南吧,可能总结的不够全面,再补充吧~有些点可能写的不够明确,希望朋友们可以好好借助google baidu等搜索引擎来寻找更详细的介绍.

1.系统安装

对于Ubuntu系统的安装,方法真的很多.比如在windows下就可以进行的wubi安装,正常推荐的光盘安装(哪里有光盘?自己把iso镜像文件刻录为光盘就可以了哇),U盘安装以及奶牛前篇介绍过的硬盘安装.如果采用wubi方式安装,请尽量将系统放在一个ntfs分区上,否则可能会因为文件大小限制造成一些问题.奶牛更推荐的是直装方式,但是需要你有一定的了解跟基础.

Ubuntu的安装,你首先要了解linux下的分区以及引导方式的一些知识,奶牛在这里简单的说一下:

Ubuntu等linux操作系统一般不要求你安装在主分区上,不像windows要求那样子苛刻,就算全是逻辑分区也是没有任何问题的.一般对于新手,分配一个分区给根目录(/)+一个交换分区(swap).交换分区的概念也许在windows下并没有怎么被提到,不过如果你了解比较多,一定听说过页面缓存文件,一个跟交换分区差不多的东西,都是用作交换时候用的,弥补内存不足造成的一些问题,就相当于一个速度不高的内存区域,一般设置为内存的1~1.5倍,不过内存超过4G的PC就可以不设置了.

引导呢,linux主流系统现在都是用grub来做引导,此处所说的grub是grub2,从前几个版本就开始一直在用,因为使用Ubuntu的grub引导可以轻松实现对于windows的引导,所以一般我们都选择由grub来做引导,如果安装完成后发现没有windows的开机启动选项,可以直接执行命令update-grub来寻找windows的引导的.

2.配置工具ubuntu-tweak

对于一个操作系统,配置很关键,如果你已经顺利的安装完成,那么就要用一些配置工具来帮你配置好一个你更习惯更喜欢的桌面环境了.这里奶牛首推的是ubuntu-tweak.国人编写,功能较为完善的ubuntu配置工具,涵盖了从系统桌面环境配置到源的修改,以及垃圾清理.使用ubuntu-tweak几乎可以完成对于ubuntu的常用配置,如果你还觉得不够过瘾,想对于特效有更详细的配置,可以使用ccsm,compiz的高级配置工具.

3.驱动问题

驱动问题估计是个老大难,因为奶牛只有一台Y450笔记本,没有遇到太大问题,除了此次六屏幕问题(已经解决),并没有遇到过其它问题.不过奶牛没遇到并不代表其他朋友不会遇到,这里奶牛说一下.显卡驱动一般分为开源驱动跟闭源驱动,奶牛一般直接去官方网站下载官方驱动(也就是闭源驱动,总体性能上还是不错的),对于显卡驱动的安装,一般会下载一个.run的驱动,然后关闭lightgdm服务,sh xxx.run来安装驱动.如果你用开源驱动没啥问题,就继续用也没关系的.

声音驱动一般用alsa来配置就可以搞定的.而无线网卡呢,linux下有一个可以安装windows无线驱动的工具ndiswrapper,如果无线无法搞定可以试试这个工具.

4.软件

牛X的应用程序,linux下很多都有相应的版本,如果没有,也会有很多功能类似的替代软件可以使用.比如office有open office 跟libre office,现在永中跟wps也加入到linux环境下的office工具开发当中了.

影音播放只要解码没啥问题也都可以正常使用,一般装个vlc,装个totem+gstream那个系列的解码就ok搞定99%了.

上网呢,mozilla firefox chrome opera等各种主流浏览器也都完美支持.

一些拨号的客户端可以通过wine的方法来搞定.

IM软件:QQ可以直接用webQQ,skype有linux的客户端,功能很强大,gtalk哇msn哇可以直接用自带的集成软件去实现.

更多软件尽在:ubuntu的软件中心

5.建议买本书学起

可以看奶牛的介绍文章:Ubuntu Linux 入门书籍教程推荐

6.一些思想

开放:不要局限在windows的点点鼠标,你应该更加深入了解系统

共享:把好的东西分享给需要的人

自由:让自己充满想法,要geek一些,不要被局限

友帮拓:虽然很多人说这个中文名很烂,但是奶牛觉得它的含义很明确:友好互爱,互帮互助,开拓进取