工作环境需要:ubuntu12.04、gcc 4.4.7、vim、source insight、git。

1. 制作启动盘

  首先需要制作一个能从苹果电脑启动的ubuntu启动盘:

在苹果电脑的终端中输入:

  hdiutil convert /path/ubuntu.iso -format UDRW -o /path/ubuntu.dmg

  这条命令是在MacBook Air上把ISO格式的镜像文件转换成dmg格式。

插入空白U盘,运行下列命令查看其序号

  diskutil list

运行下面的命令,把N改成你U盘的序号,通常是2或者1。

  diskutil unmountDisk /dev/diskN

运行下面的命令,把N改成你 U 盘的序号。

  sudo dd if=/path/to/ubuntu.dmg of=/dev/rdiskN bs=1m

退出 U 盘,把N改成你 U 盘的序号

  diskutil eject /dev/diskN

2. mac下安装系统

  准备好安装用的 U 盘后,还需要在硬盘上划出一块分区来给 ubuntu 使用,可以使用mac系统自带的磁盘工具,或者是 BootCamp 进行分割。插入 U 盘重新启动 Mac,开机时按住Option 键不放,直到出现磁盘选择为止。选择EFI boot 这一启动项,进入后选择 try ubuntu,进入 ubuntu 试用模式。此后便可如常安装。

  实际上根目录分10G是可以的

  分区设置完毕后,下方还有一项“安装启动引导器的设备”,macbookpro用户需要选择/boot这个分区所在磁盘位置(设置这个以后不要用ubuntu的话,直接删除不会影响mac系统的启动)。

  安装完成后,注意不要按重启这个按钮,选择继续试用 ubuntu,我们要解决启动引导的问题,否则重启是无法进入 ubuntu 的。接下来执行下面的命令以修复引导。

  sudo apt-get install efibootmgr

  sudo efibootmgr

  sudo efibootmgr -o 0,80

  之后就可以重新启动了。重启后可以进入 ubuntu,但还需要继续修復,否则会进不到 Mac OS X。

  sudo gedit /etc/grub.d/40_custom

  在显示出的文本最后加入以下几行。

  menuentry “Mac OS X"

  {

    exit

  }

  (如果重新安装了Mac系统,进不去ubuntu系统,使用安装ubuntu的盘,试用ubuntu系统,然后再设置设个efibootmgr就可以从新引导了)

  如果使用ubuntu的grub引导不能进入mac的话,那么开机按住option键选择mac启动,然后再mac下安装refit引导,安装好后在Mac的终端里输入:

  cd /efi/refit/

  ./enable-always.sh启动rEFIt。

  重启,你就会看到ubuntu的选项。

3. 安装vim

Sudo apt-get install vim

4. 降低gcc版本

  1. sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib

  2. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 100

  3. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 50

  4. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100

  5. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50

  6. sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100

  7. sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 50

  8.gcc –v

5. ubuntu下安装source insight

  首先安装wine,进入ubuntu的软件中心,搜索wine,安装。安装完成wine之后,下载好windows下的source insight软件,右键选择使用wine打开,就可以像windows下那样安装了。

6. 安装git

  sudo apt-get install git

  安装git之后如果不需要使用github托管代码,那么就不需要配置github账户了,如果需要github托管,那就需要继续设置github账户。

  git config --global user.name "Your Real Name"

  git config --global user.email you@email.address

  首先使用ssh命令连接github.com的ssh服务,登陆用户名为git(所有github用户共享此ssh用户名)

  ssh –T git@github.com

  如果提示: Permission denied (publickey).

  说明我们还没有在github账户中设置公钥认证.

  通过ssh-keygen -C "github注册账号" -f ~/.ssh/github 创建公钥:一直回车即可

  接下来将~/.ssh/github.pub文件的内容拷贝到剪切板,复制到key窗口即可

  点击add key之后就可以看到公钥已经生成了。

  再次进入ubuntu终端中,输入ssh –T git@github.com

  表示已经成功连接上了,这样以后就可以直接通过git命令访问github托管服务器了。

7. 从服务器下载代码:

  mkdir github

  cd github

  git clone git@github.com: “用户名”/”仓库名”.git  //中间都没有空格

  获取到源码之后就可以进行开发了,代码开发完成就可以提交代码:

  git add .  //往暂存区域添加已添加和修改的文件,不处理删除的文件

  git status  //比较本地数据目录与暂存区域的变化

  git commit -m "commit directions" //提交代码到本地数据目录,并添加提交说明

  如果提交的版本和其他人的修改是一样的,那么冲突的情况在所难免,那么在提交之后可以再获取一下代码,就会提示代码冲突的文件,我们需要做的就是处理这些冲突,并再次提交:

  git pull //更新代码,根据提示修改冲突文件中的代码

  git add .

  git commit –m “commit directions”

  当做完以上的步骤的时候,需要做的事把本地的数据目录的版本库的数据同步到github服务器上,这样你的同事才能够看到你做出的修改:

  git push   //最后一步

8. Github怎么使用组织共享代码:

  创建一个组织,在组织下建立仓库。只要加入组织的人都有权限提交代码,

  git clone git@github.com:“组织名”/“仓库名”.git   (整个句子没有空格)

  然后其他操作就和之前的操作一样了。

  在更新代码前最好git pull一下,预防团队其他人修改了代码。

在macbook上搭建ubuntu工作环境的更多相关文章

  1. VirtualBox上搭建Ubuntu开发环境

    软件版本: VirtualBox虚拟机:5.1.8 for Windows hosts  x86/amd64 Ubuntu系统:Ubuntu 14.04.5 LTS  Desktop (32-bit) ...

  2. 在Ubuntu14.04 64bit上搭建单机Spark环境,IDE为Intelli IDEA

    在Ubuntu14.04 64bit上搭建单机Spark环境,IDE为Intelli IDEA 一. 环境 Ubuntu14.04 64位    JDK 1.8.0_73    scala-2.10. ...

  3. 在WP8上搭建cocos2d-x开发环境

    在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...

  4. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

  5. 使用XAMPP和DVWA在Windows7上搭建渗透测试环境

    前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...

  6. 使用WampServer和DVWA在Windows10上搭建渗透测试环境

    前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...

  7. Windows上搭建Flume运行环境

    1.如果没有安装过Java环境,则需首先安装JDK. 可参考<Windows上搭建Kafka运行环境>中的搭建环境安装JDK部分 2.官方下载Flume(当前为apache-flume-1 ...

  8. (转)Windows上搭建Kafka运行环境

    转自:<Windows上搭建Kafka运行环境> 完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS   在环境搭建过 ...

  9. [转]Windows上搭建Kafka运行环境

    [转]http://www.cnblogs.com/alvingofast/p/kafka_deployment_on_windows.html Windows上搭建Kafka运行环境   完整解决方 ...

随机推荐

  1. Leetcode Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  2. compass Sprites 雪碧图 小图片合成[Sass和compass学习笔记]

    demo 源码 地址 https://github.com/qqqzhch/webfans 什么是雪碧图? CSS雪碧 即CSS Sprites,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法 ...

  3. html5和css3学习笔记

    HTML5针对移动端,移动端的浏览器主要是chrome,是webkit内核; app(applicatin):应用; native app:原生的app sadsadsadad 单标签可以省略结尾标记 ...

  4. PHP操作字符串 截取指定长度字符 移除字符串两侧 左侧 右侧指定字符 或空白字符 替换字符

    trim() trim() 函数移除字符串两侧的空白字符或其他预定义字符. <?php $str = "Hello World!"; echo $str . "&l ...

  5. Xamarin的不归路-连接MAC失败

    昨天费了老大劲才配置连接好MAC虚拟机,今天居然又连接不上了. 记录一下最后的解决办法: 直接用“Add Mac”添加虚拟机,一定要填写ip地址,为啥要写ip?我也不知道,因为我填写“MacdeMac ...

  6. C++11新特性——初始化列表 initializer_list

    破事水: 由于最近数据结构有个实验报告说是要对字符串进行排序,想偷个懒不想一个一个地赋值,虽然可以用strcpy和传入二级指针的形式直接写,但是这样感觉不美观漂亮. 然后就去膜了一下C++11的新特性 ...

  7. monkey命令

    介绍: monkey是一个命令行工具,可以运行在Android模拟器里或真实设备中.它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入.触摸屏输入.手势输入等),可以对待测的 ...

  8. Full exploitation of a cluster hardware configuration requires some enhancements to a single-system operating system.

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Operating System Desi ...

  9. 关于(object sender, EventArgs e)

      sender是事件源 就是指发起这个事件的对象(控件)//表示触发事件的那个控件比如说你按下按钮,那么sender就是按钮 又如:textboxchange,sender就是该textbox,在事 ...

  10. TextView无法通过setText设值

    因为setText接收的是char序列接口类型实例,假如你在传入int类型的时候一定要String.valueOf: 设值没有成功八成是你传递的为非char序列接口类型!!!!!