Ubuntu学习笔记及相关问题解决


这些操作在Ubuntu14.04.1或者Ubuntu12.04.5中进行

首先,安装Ubuntu12.04(LTS)版本

安装按照高级安装方式,系统分配40G如下:

/dev/sda*   ext4    /            14G

/dev/sda*   ext4   /work     20G 

/dev/sda*   swap                 2G

/dev/sda*   ext4    /home    4G 

Ubuntu12.04开机黑屏解决方法

实验一:排除硬件故障光盘启动,一切正常,说明不是硬件的问题,顺便检查了硬盘没有问题。

实验二:排除版本启动时按 shift 键出现grub菜单。

选择其他内核版本启动,仍然黑屏。

实验三:查看错误提示 在显示grub菜单的时候,按 e ,可以调整内核启动的参数,把 quiet splash 改成 text splash。

F10 启动后,进入命令行模式。

startx进入图形模式,报 Error:API mismatch: the NVIDIA kernel module ... ,找到故障原因,是nvidia 显卡驱动不完全安装造成无法进入图形模式。复制代码代码如下:sudo apt-get purge nvidia*

sudo apt-get install nvidia-current-updates-dev 重启即可。 

安装Vmware tools

点击虚拟机,点击安装Vmware tools出现安装光盘,复制压缩包,解压压缩包到一个位置,运行vmware-install.pl即可命令: sudo ./vmware-install.pl 

修改places

从13.04或13.10开始,Ubunt文件管理器(Nautilus)侧边栏的顶部显示为“位置(Place)”,大都是我一年用不着几次的文件夹,一直看它不顺眼。现在装UbuntuKylin 14.04,竟然还是没有改观。只好大肆搜索,果然不是我一个人对此觉得不爽,

原文在此:http://jamesmcminn.com/2012/12/removing ... -6-places/

简单来说就是修改个人目录 ~/.config 下的 user-dirs.dirs 文件,将你不想要的都注释掉或者删除:# This file is written by xdg-user-dirs-update

# If you want to change or add directories, just edit the line you're

# interested in. All local changes will be retained on the next run

# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped

# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an

# absolute path. No other format is supported.

XDG_DESKTOP_DIR="$HOME/Desktop"

#XDG_DOWNLOAD_DIR="$HOME/Downloads"

#XDG_TEMPLATES_DIR="$HOME/Templates"

#XDG_PUBLICSHARE_DIR="$HOME/Public"

#XDG_DOCUMENTS_DIR="$HOME/Documents"

#XDG_MUSIC_DIR="$HOME/Music"

#XDG_PICTURES_DIR="$HOME/Pictures"

#XDG_VIDEOS_DIR="$HOME/Videos"

保存好后在本目录下命令行输入

echo "enabled=false" > ~/.config/user-dirs.conf

重启看看,是不是清爽了。 

安装谷歌输入法

>sudo apt-get install ibus-googlepinyin          log out后重启添加输入法即可。 

如何修改终端用户名颜色修改为红色

tipsbychsry:由于输入特定符号会导致乱码,乱码部分用.............显示,有些截图显示!!!!!!!!

整个操作代码流程图片和最终显示结果

输入>echo $PS1

显示:如上图

在个人用户文件夹输入

输入gedit ~/.bashrc

修改这几行代码

if [ "$color_prompt" = yes ]; then

PS1=....

else

PS1==...

fi

unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir

重改为:

# if [ "$color_prompt" = yes ]; then

#PS1='$..........\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# else

# PS1='$........................\u@\h:\w\$ '

# fi

unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir

然后再文件的末尾一行加上:

(下一行是截图)PS1='$...................\033[01;31m\]\u\[\033[00m\]@\h:\w\$ '

保存后退出,然后source一下,也就是输入>source ~/.bashrc

root文件夹里面位置 /root也同样操作一遍。

以上是我个人的修改。

以下是网上的参考:(再下面是截图)

customer:        PS1='$........................\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

root:                PS1='$........................\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Git使用操作:

先安装git:

sudo apt-get install git git-core

在第一次使用Git时,你需要告诉你的协同开发者,你是谁以及你的邮箱,在你提交的时候,Git需要这两个信息。具体通过以下命令设置:

git config --global user.name “XXX”

git config --global user.email XXXXXXX@gmail.com

当你通过ssh协议与远端服务器进行通信的时候,你可以通过以下命令生成ssh密钥对:

ssh-keygen -C 'XXXXXX@gmail.com' -t rsa

(默认使用前面那行命令,这行也可以)ssh-keygen -t rsa

如果你没有指定密钥名称和存放路径的话,它默认把两个不对称密钥放在你的家目录下的.ssh目录下,密钥文件默认名称为id_rsa和id_rsa.pub,前者是私钥,后者是公钥。中间可能会要你设定访问密钥密码,这个可以设,可以不设,但为了安全考虑,还是建议你设一个访问密码。否则,意味着任何持有你密钥的人都可以使用该密钥。

将Public Key 添加到GitHub

打开你的GitHub->SSH Public Key->点击“Add another public key”,  将你的public key(id_rsa.pub)的内容拷贝到GitHub中

可以使用 ssh -v git@github.com 命令来测试链接是否畅通

这些设定完之后,你可以通过获得任何一个公开的代码仓库来检测你的git是否工作正常。比如下面这个:

git clone https://github.com/jackyh/qt210_ics_uboot.git

其他技巧:

$ cd ~/.ssh    //检查计算机ssh密钥

从Github 用git下载的四种方法

以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接拷贝的。

法一:不用github的账号,打开这个库在github上的主页,运行下面命令即可

(read only)运行命令$git clone https://github.com/jackyh/qt210_ics_kernel3.0.8

下面的三种方法都要先在github上注册账户,然后生成相应的ssh key,并把public key添加到个人账户里面,详见github帮助

法二:(read+write)$git clone git@github.com:jackyh/qt210_ics_kernel3.0.8.gitit   (需要输入密码) (常用第二种)

法三:(read+write)$git clone https://jackyh@github.com/jackyh/qt210_ics_kernel3.0.8.git  (还没有试过) 

会提示输入密码,注意此处的密码不是你在github上账户的密码,而是当前登录系统用户的密码。 (这个真不知道)

法四:(read only)$git clone git://github.com/jackyh/qt210_ics_kernel3.0.8.git

JRE vs OpenJDK vs Oracle JDK

在我们继续了解如何安装Java之前,让我们快速地了解JRE、OpenJDK和Oracle JDK之间的不同之处。

JRE(Java Runtime Environment),它是你运行一个基于Java语言应用程序的所正常需要的环境。如果你不是一个程序员的话,这些足够你的需要。

JDK代表Java开发工具包,如果你想做一些有关Java的开发(阅读程序),这正是你所需要的。

OpenJDK是Java开发工具包的开源实现,Oracle JDK是Java开发工具包的官方Oracle版本。尽管OpenJDK已经足够满足大多数的案例,但是许多程序比如Android Studio建议使用Oracle JDK,以避免UI/性能问题。

检查Java是否已经安装在Ubuntu上

打开终端,使用下面的命令:

java -version

如果你看到像下面的输出,这就意味着你并没有安装过Java:

The program ‘java’ can be found in the following packages:

*default-jre

* gcj-4.6-jre-headless

* openjdk-6-jre-headless

* gcj-4.5-jre-headless

* openjdk-7-jre-headless

Try: sudo apt-get install

在Ubuntu和Linux Mint上安装Java

看了各种类型‘Java’的不同之后,让我们看如何安装他们。

在Ubuntu和Linux Mint上安装JRE

打开终端,使用下面的命令安装JRE:

sudo apt-get install default-jre

在Ubuntu和Linux Mint上安装OpenJDK

在终端,使用下面的命令安装OpenJDK Java开发工具包:

sudo apt-get install default-jdk

特殊地,如果你想要安装Java 7或者Java 6等等,你可以使用openjdk-7-jdk/openjdk-6jdk,但是记住在此之前安装openjdk-7-jre/openjdk-6-jre。

在Ubuntu和Linux Mint上安装Oracle JDK

使用下面的命令安装,只需一些时间,它就会下载许多的文件,所及你要确保你的网络环境良好:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

sudo apt-get install oracle-java8-set-default

打印消息:

java version "1.8.0_51"

Java(TM) SE Runtime Environment (build 1.8.0_51-b16)

Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode)

表示已经安装好了-chsry

如果你想安装Java 7(i.e Java 1.7),在上面的命令中用java7代替java8。

安装Java JDK6.0:

在ubuntu12.04版本以下按照的办法

>sudo gedit /etc/apt/source.list

末尾添加deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse(之前的地址不能用,改为这个!!!!)

将"deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse" 改为"deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse"就可以了

sudoaddaptrepository"debhttp://oldreleases.ubuntu.com/ubuntu/hardymultiverse"()  sudo apt-get update
$ sudo apt-get install sun-java6-jdk

JDK6.0在ubuntu14.04版本无法使用!!!!!

关于ubuntu的sources.list总结

以一行为例: deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

每一行的开头是deb或者deb-src,分别表示直接通过.deb文件进行安装和通过源文件的方式进行安装。

deb或者deb-src字段之后,是一段URL,之后是五个用空格隔开的字符串,分别对应相应的目录结构。在浏览器中输入http://archive.ubuntu.com/ubuntu/,并进入dists目录,可以发现有5个目录和前述sources.list文件中的第三列字段相对应。任选其中一个目录进入,可以看到和sources.list后四列相对应的目录结构。

Ubuntu Linux 环境变量PATH设置

>export PATH=/bin/:$PATH

Ubuntu Linux系统环境变量配置文件:

/etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。

/etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。

~/.profile :  在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

/etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

PASH环境变量的设置方法:

方法一:用户主目录下的.profile或.bashrc文件(推荐)

登录到你的用户(非root),在终端输入:

$ sudo gedit ~/.profile(or .bashrc)

可以在此文件末尾加入PATH的设置如下:

export PATH=”$PATH:your path1:your path2 ...”

保存文件,注销再登录,变量���效。

该方式添加的变量只对当前用户有效。

方法二:系统目录下的profile文件(谨慎)

在系统的etc目录下,有一个profile文件,编辑该文件:

$ sudo gedit /etc/profile

在最后加入PATH的设置如下:

export PATH=”$PATH:your path1:your path2 ...”

该文件编辑保存后,重启系统,变量生效。

该方式添加的变量对所有的用户都有效。

方法三:系统目录下的 environment 文件(谨慎)

在系统的etc目录下,有一个environment文件,编辑该文件:

$ sudo gedit /etc/environment

找到以下的 PATH 变量:

PATH="<......>"

修改该 PATH 变量,在其中加入自己的path即可,例如:

PATH="<......>:your path1:your path2 …"

各个path之间用冒号分割。该文件也是重启生效,影响所有用户。

注意这里不是添加export PATH=… 。

方法四:直接在终端下输入

sudo export PATH=/usr/local/arm/arm-2009q3/bin/:$PATH

或者sudo export PATH="$PATH:your path1:your path2 …"

这种方式变量立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。

注 意:方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误。因此笔者推荐使用第一种方法。

另外嵌入式 Linux的开发最好不要在root下进行(除非你对Linux已经非常熟悉了!!)

以免因为操作不当导致系统严重错误。

问题解决1: 因为不小心在 etc/environment里设在环境变量导致无法登录

提示:不要在 etc/environment里设置 export PATH这样会导致重启后登录不了系统

解决方法:

在登录界面 alt +ctrl+f1进入命令模式,如果不是root用户需要键入(root用户就不许这么罗嗦,gedit编辑会不可显示)

/usr/bin/sudo /usr/bin/vi /etc/environment

光标移到export PATH** 行,连续按 d两次删除该行;

输入:wq保存退出;

然后键入/sbin/reboot重启系统(可能会提示need to boot,此时直接power off)

问题解决2:

root@lenovo:~# gedit /etc/profile
Command 'gedit' is available in '/usr/bin/gedit'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.

原因分析:

是因为我在/root/.bashrc末尾一行添加了PATH=/usr/local/arm/arm-2009q3/bin/:$PATH

之后出现的,导致了PATH只有这一个路径其他路径都没有了

解决办法就是在终端输入export PATH=/usr/bin/:$PATH

那个命令的路径没有,就输入那个,然后再进入gedit  /root/.bashrc

删除自己添加的PATH

问题解决3:

在嵌入式开发中如果确实路径直接在终端添加,这样子重启后就消失,对系统无害

># export PATH=/usr/local/arm/arm-2009q3/bin/:$PATH

># echo $PATH

/usr/local/arm/arm-2009q3/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

QT210下载烧录android2.3过程

将安装所需要的 4 个文件

arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.tar

u-boot-samsung-dev.bz2

android-kernel-samsung-dev-full.bz2

android-samsung-dev-full-rtl81xx.bz2

复制到虚拟机本地

/home/armzone/目录下建立新的文件夹“QT210”,把文件拷贝到这个目录

在终端下输入以下内容,在/usr/local 创建 arm 目录,必须加创建目录命令前面必须加 sudo

cd /usr/local

sudo mkdir arm

然后转到 QT210 目录下,解压工具链到/usr/local/arm 目录

sudo tar jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.tar -C /usr/local/arm/

(注意!此命令在同一行上,不要用回车换行!图片上的换行是文字输入超过窗口宽度时候自动换行,以下所有操作相同。)

命令前面加 sudo,有时会要求输入用户密码,输完后回车,后续都如此操作,不再提示。

查看工具链是否安装正确,输入

ls /usr/local/arm/arm-2009q3/bin/

编译 U-boot

确保回到 QT210 目录,解压缩 u-boot 的源代码:

命令如下:

tar jxvf u-boot-samsung-dev.bz2

进入 u-boot 代码目录:

命令如下:

cd u-boot-samsung-dev/

清除原来的编译痕迹:

命令如下:

make clean

make distclean

配置单板类型:

make smdkv210single_config

编译:命令:

make

最后将当前目录下生成我们要烧写的目标文件'u-boot.bin'

 编译 Kernel

回到/home/armzone/QT210 目录

cd /home/armzone/QT210

压内核源代码包

tar jxvf android-kernel-samsung-dev-full.bz2

cd android-kernel-samsung-dev-full

uboot 目录下的 mkimage 文件拷贝到/usr/bin

sudo cp /home/armzone/QT210/u-boot-samsung-dev/tools/mkimage /usr/bin/

然后执行如下命令:

cp config_QT210_android .config

开始编译内核

编译内核命令如下:

make uImage

编完成后将生成文件'uImage',编译生成的 uImage 位于 arch/arm/boot 目录下!

编译 android

(1)解压缩 android2.3.1 源代码文件,命令如下:

回到 home/armzone/QT210 目录

(2)安装所必须的很多库文件,这一步很重要,同时需要很耐心:

在安装库之前,需要先添加一个下载源,在终端执行以下命令:

sudo gedit /etc/apt/sources.list

gedit 打开 sources.list 文件,在最后新加一行,输入:

deb http://cz.archive.Ubuntu.com/ubuntu hardy-updates main multiverse

deb http://cz.archive.Ubuntu.com/ubuntu trusty-updates main multiverse

点击 Save,保存后关闭 gedit

编译过程分两步:第一步安装必要的库,第二部执行编译脚本。

添加完源之后,进行源更新,在终端输入:

sudo apt-get update

(a)库的第一部分,在终端界面里面执行如下命令 :

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev g++

(注意!此命令在同一行上,不要插入回车换行!建议把光盘中的 cmd.txt 文件拷贝到虚拟机,然后复制命令,以下操作要求相同,不再重复)

中间会出现下载提示,输入 y,回车即可继续。(后续安装过程,需要下载都会有此提示,按此操作,不再重复)

【发现错误:无法找到libwxgtk2.6-dev,修改如下:】

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev g++

【网上参考的库】

sudo apt-get install build-essential

sudo apt-get install make

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install libc6-dev

sudo apt-get install patch

sudo apt-get install texinfo

sudo apt-get install libncurses-dev

sudo apt-get install git-core gnupg

sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl

sudo apt-get install ncurses-dev

sudo apt-get install zlib1g-dev

sudo apt-get install valgrind

sudo apt-get install python2.5

(b)库的第二部分,在终端界面里面执行如下命令

sudo apt-get install gcc-multilib g++-multilib libc6 libc6-dev

继续安装库,在终端输入

sudo apt-get install libncursesw5 libncursesw5-dev libncurses5-dev libncurses5

继续安装库,在终端输入

(c)安装 java 库,包括 sun-java5 和 sun-java6:

首先是安装 sun-java6    

在ubuntu12.04版本以下按照的办法(JDK6.0在ubuntu14.04版本无法使用!!!!)

>sudo gedit /etc/apt/sources.list

末尾添加deb http://old-releases.ubuntu.com/ubuntu/ hardy multiverse

sudoaddaptrepository"debhttp://oldreleases.ubuntu.com/ubuntu/hardymultiverse"()  sudo apt-get update 
$ sudo apt-get install sun-java6-jdk 

在安装过程需要接受 Java 的协议,会自动跳出协议的界面,按“Tab”键选中“OK”选中时为红色背景。

按回车或者空格确认。

->java -version

java version "1.6.0_06"

Java(TM) SE Runtime Environment (build 1.6.0_06-b02)

Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

然后安装 sun-java5

在终端界面里面执行如下命令:

sudo apt-get install sun-java5-jdk

(3)执行编译命令

转到 andriod 目录

android 代码目录下,执行如下命令:

对于 32 位系统,

./build_android_32.sh

对于 64 位系统,

./build_android_64.sh

相关内容