2021-05-12 14:32:11
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='$..........[ 33[01;32m]u@h[ 33[00m]:[ 33[01;34m]w[ 33[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='$................... 33[01;31m]u[ 33[00m]@h:w$ '
儲存後退出,然後source一下,也就是輸入>source ~/.bashrc
在root資料夾裡面位置 /root也同樣操作一遍。
以上是我個人的修改。
以下是網上的參考:(再下面是截圖)
customer: PS1='$........................[ 33[01;32m]u@h[ 33[00m]:[ 33[01;34m]w[ 33[00m]$ '
root: PS1='$........................[ 33[01;32m]u@h[ 33[00m]:[ 33[01;34m]w[ 33[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"就可以了
sudoadd−apt−repository"debhttp://old−releases.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
sudoadd−apt−repository"debhttp://old−releases.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
更多Ubuntu相關資訊見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-08/121752.htm
相關文章