歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Ubuntu Linux發行版新手應用指南[二]

Ubuntu Linux發行版新手應用指南[二]

日期:2017/3/3 16:44:18   编辑:關於Linux

十九、如何編譯新的內核?

編譯新的內核其實是一個比較復雜的過程:復雜之處在於進行make menuconfig

不知道如何選擇,這次我選擇的是:從linux2.6.15升級到linux2.6.16,跳動還是比較大的,這個內核改動還是比較大的。

我也不知道怎麼選擇好,但是我用了一個偷懶的辦法,就是將配置文件從/boot文件夾下拷貝出來:

就是:config-2.6.15-26-386文件即可,拷貝到linux的源文件夾中,改名為ubuntu.config,文件名無所謂,但是後綴一定是config,然後仔細閱讀documentation/Changes文件中對編譯器環境等的要求,要讓自己的環境達到他的要求,下面我們就可以開始進行編譯的工作了。

sudo make-kpkg -revision=tonylinux1 kernel_image kernel_headers

這裡我們看到要運行make-kpkg,這個命令是專門用來產生deb(針對debian的系統)的安裝包。

必須安裝kernel-package.安裝辦法就是:apt-get install kernel-package

這個辦法可以產生兩個deb格式的安裝包:kernel-headers-2.6.16_tonylinux1_i386.deb

kernel-image-2.6.16_tonylinux1_i386.deb

而其中的kernel-image-2.6.16_tonylinux1_i386.deb安裝包就是壓縮的內核。

然後使用如下的命令:

sudo dpkg -i kernel-image-2.6.16_tonylinux1_i386.deb

這其實是一個安裝命令,將該內核安裝包加載到grub項中。這時去看/boot/grub/menu.lst文件就可以看見增加的選擇項,以及/boot目錄下的壓縮內核。

然後重啟電腦即可。

二十、如何讓系統不直接進入gdm的桌面環境中,而是先進入到命令行模式?

我仔細的閱讀過有關系統啟動過程的文檔,發現當系統加載內核完成之後,第一個被執行的文件是/etc/inittab,在這個文件中,定義系統運行的級別 (這裡系統運行的級別是非常內似於windows xp啟動時按f8之後出現的菜單,但是該功能比windows強大了許多,對於這個文檔的具體的分析:請見系統啟動文件夾下的文件)。

id:2:initdefault:

#這是我們系統設置的默認的啟動級別。

si::sysinit:/etc/init.d/rcS

#這是系統在啟動狀態的運行級別

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

###當運行級別為5時,以5為參數運行/etc/rc.d/rc腳本,init將等待其返回(wait)

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

運行等級 S:開機進程中的第一個運行等級。/etc/init.d/rcS腳本將被調用到開啟並且/etc/rcS.d目錄下的所有進程將被執行。

運行等級 1:單用戶模式。/etc/rc1.d目錄下的所有進程將被執行。

運行等級 2,3,4,5:在debian系統裡是多用戶環境,可能不包含圖形用戶界面。同樣的,在相應目錄下的進程將被運行。

**注意** 這和RedHat,SuSE, 以及其它基於RPM的系統不同。

運行等級 0:關閉計算機

運行等級 6:重起計算機

上面這幾行對應的分別是rc0.d到rcS.d的8個文件夾。每個文件夾中是連接文件,其實最終連接到的是/etc/init.d文件夾,每個文件對應 init.d文件夾下面的一個腳本,每個腳本文件完成一個服務的加載工作。這幾個文件加中的連接文件以S開頭表示開始,以K開頭表示停止。

理論上來說2好運行級別是多用戶運行級別,不應該出現圖形工作界面,但是我發現出現了圖形的工作界面,開始我不理解,因為:在rc2.d這個目錄下,沒有開啟x window的服務(在rcS.d中有,讓我將文件名修改了,系統不會找到了),怎麼會啟動圖形桌面環境了?後來我仔細的觀察發現,系統雖然沒有啟動 x11服務,但是系統啟動了gdm服務,大家應該明白:在linux環境中主要有GNOME和KDE兩大桌面環境,但是這兩大桌面環境都是以x window作為基礎的GUI,gdm就是GNOME的桌面環境。所以可能系統在加載gdm服務的時候,自動的啟動了x window服務,所以我就將使用sudo mv Sgdm tySgdm,將該文件改名,目的是不讓系統加載該服務,重啟系統,果然,發現成功的啟動到了linux命令行環境。

在命令行環境下:運行startx啟動桌面環境,正常進入,但是當我打開一些管理器時就發現出錯,彈出沒有x授權的錯誤,這是我想到,可能是沒有運行gdm服務的原因,故重啟,進入命令行模式,需要進入桌面環境時,輸入gdm命令進入桌面環境,一切ok!

二十一、如何在菜單中建立一個自己的需要的菜單項:

對於有些綠色軟件,系統不會自動的添加一個菜單項,在linux下可以自己的添加,方法如下:

ubuntu linux下的所有菜單都放在/usr/share/applications目錄下:

該目錄下的所有文件都是以.desktop為後綴的。雙擊該目錄下的文件會運行該程序的,同時也可以很方便的使用gedit來編輯文件。

下面是一個文件的例本:

[Desktop Entry]

Name=LumaQQ

Name[zh_CN]=LumaQQ

Comment=QQ Client

Exec=/home/ty/software/LumaQQ/lumaqq

Icon=/home/ty/software/LumaQQ/QQ.png

Terminal=false

Type=Application

Categories=Application;Network;

Encoding=UTF-8

StartupNotify=true

注意:必須要加上[Desktop Entry],表示這是一個桌面菜單項,不加的話會被認成普通文件。

Name表示菜單項上的名稱,Exec代表的是絕對路徑的可執行文件

Icon用來指定在菜單項上顯示的圖標是什麼,Type一般都是Application.

Categories代表將該圖標放在哪個位置,第一個一般是Application,第二個是位置,這裡是將其放在Network下面。

這些位置都可以是,它們分別對應如下:

互聯網 Network

辦公 Office

圖像 Graphics

聲音和視頻 AudioVideo

系統工具 System

編程 Development

輔助選項 Utility

首選項 Settings。

這個添加完之後,就會自動的在菜單項上出現你要的菜單。

這裡要注意還有一個目錄也可以放這些文件:

/usr/local/share/applications

二十二、系統一共打開了6個終端,其實這在/etc/inittab文件下就有表示:

# Note that on most Debian systems tty7 is used by the X Window System,

# so if you want to add more getty's go ahead but skip tty7 if you run X.

#

1:2345:respawn:/sbin/getty 38400 tty1

2:23:respawn:/sbin/getty 38400 tty2

3:23:respawn:/sbin/getty 38400 tty3

4:23:respawn:/sbin/getty 38400 tty4

5:23:respawn:/sbin/getty 38400 tty5

6:23:respawn:/sbin/getty 38400 tty6

上面的第二個字段代表這各個終端的運行級別,像我們目前的系統處在的是運行級別2(runlevel 2),可以使用的就有6個終端,但是當我們將系統啟動的運行級別修改為45的時候,就會只有一個終端可以使用。

在各個終端中切換使用的命令是:ctrl+alt+f1~f6,進入全屏的命令行模式。如果使用ctrl+alt+f7,則進入當前的x window模式。

二十三、系統分區的劃分。

今天晚上我將一個windows的分區刪除掉,然後在linux下來安裝這個分區:

a、在linux下處理分區的命令是fdisk,注意要在root的權限下進行這些操作。最好運行其菜單行模式的命令cfdisk,

我們想要操作的硬盤是/dev/hda,所以使用cfidsk /dev/hda,來打開運行界面。選中空閒分區,選擇創建分區,需要你輸入大小,輸入該分區整個大小,然後選擇下面的type,對該分區的格式進行設置,選擇83,表示使用linux分區格式,注意不要選擇82,那是swap(就是虛擬內存空間的格式)。

b、到這裡,遠遠還沒有完,使用df和 sudo fdisk -l查看的話,新分的分區和原來的分區格式是一樣的,但是這個分區還是不能用的,如果想要使用,必須要對其進行格式化,格式化使用命令mkfs.ext3 /dev/hda9,表示對新建立的分區使用ext3格式進行格式化。這樣之後,就可以使用嗎?

c、還是不能使用的,在linux中,你是不能直接操作/dev/hda9的,想要操作他的話,必須要對其進行掛載,自動掛載的執行文件是

/etc/fstab,打開此文件,找到原來的有關於hda9的行,將其修改為與其他的linux掛載分區的設置一致,即可,掛載點設置為

/disk_ty

#/dev/hda9 /media/hda9 ntfs defaults,nls=utf8,umask=007,gid=46 0 0

/dev/hda9 /disk_ty ext3 defaults 0 2

d、這樣就行嗎?不行,對於普通用戶可能不被允許直接對/disk_ty進行寫入的操作,由於root才是/disk_ty文件夾的屬主,想讓其他用戶也可以對文件夾進行寫入操作的話,必須對文件夾進行設置:sudo chmod 777 /disk_ty,所有的用戶都擁有對該文件夾的所有權限,使用ls -l查看文件屬性即可。

e、重啟機器。

二十四、拷屏軟件scrot的使用

一個命令行的拷屏工具scrot,可以比較方便的拷貝屏幕上任意窗口的圖案,如果沒有指定文件的存放位置,圖片將被報存在當前的目錄下面。

ty@tonylinux:~$ scrot -s

ty@tonylinux:~$ man scrot

Reformatting scrot(1), please wait...

ty@tonylinux:~$ pwd

/home/ty

ty@tonylinux:~$

二十五、logitech的攝像頭的安裝:

我使用的攝像頭是logitech的quickcam pro 4000,在攝像頭插入usb借口之後,我麼可以從lsusb中查看到系統已經識別了這個usb設備,從我們安裝linux設備驅動的常識來說,我們不關心這個產品到底是誰生產,之關心這個產品用的是誰的芯片!我在網上查看了這個產品的資料,知道這個產品使用的是sp的芯片,而在網上我發現Philips USB Webcam Driver for Linux支持這種攝像頭,我就到

http://www.saillard.org/linux/pwc/下載了一個pwc10.0.11,下載完畢之後,解壓縮到/home/ty/tools/camstream/,

編譯發現一大堆錯誤,在這裡我犯了一點錯誤:呵呵,讓我走了不少的彎路阿,而在個系統打補丁成功之後,我在後面用sudo make的權限編譯成功(其實我現在也不知道現在編譯成功是不是因為我已經對內核進行了patch而造成的),沒有辦法,我就在pwc下面下載了對內核 2.6.15的補丁,然後用patch -p1對內核的源碼打了補丁,打完補丁之後,其實就是修改了一下/drivers/usb/media/kconfig,增加一個pwc文件夾,怎麼辦,重新編譯內核???不可能,還是原來的那個辦法,進入源碼的根目錄,然後使用 make M=drivers/usb/media/pwc,執行完之後,會產生一個pwc.ko文件,將這個文件拷貝到/li/modules/2.6.15- 27/kernel/drivers下面,然後在/lib/modules/2.6.15-27下面運行depmod -a來產生自動依賴,然後使用modprobe pwc,加載驅動,成功,然後使用lsmod查看驅動的加載情況,也可以使用dmesg查看驅動加載成功。

驅動加載成功之後,就需要一個專門用來使用攝像頭的軟件camstream,使用sudo apt-get install camstream來安裝。裝完之後,運行camstream就可以看到自己的頭像了,然後在/usr/share/applications來添加一個桌面菜單項。

二十六、如何安裝latex

apt-get install latex209*

如何卸載latex:

下載 26.7MB,耗時 4m42s (94.3kB/s)

正在預設定軟件包 ...

選中了曾被取消選擇的軟件包 tex-common。

(正在讀取數據庫 ... 系統當前總共安裝有 86184 個文件和目錄。)

正在解壓縮 tex-common (從 .../tex-common_0.15build1_all.deb) ...

選中了曾被取消選擇的軟件包 tetex-base。

正在解壓縮 tetex-base (從 .../tetex-base_3.0-15ubuntu1_all.deb) ...

選中了曾被取消選擇的軟件包 tetex-bin。

正在解壓縮 tetex-bin (從 .../tetex-bin_3.0-13ubuntu6_i386.deb) ...

選中了曾被取消選擇的軟件包 jlatex209-base。

正在解壓縮 jlatex209-base (從 .../jlatex209-base_1.9.1-3_all.deb) ...

選中了曾被取消選擇的軟件包 jtex-base。

正在解壓縮 jtex-base (從 .../jtex-base_1.9.1-3_all.deb) ...

選中了曾被取消選擇的軟件包 libkpathsea3。

正在解壓縮 libkpathsea3 (從 .../libkpathsea3_2.1-1_i386.deb) ...

選中了曾被取消選擇的軟件包 jtex-bin。

正在解壓縮 jtex-bin (從 .../jtex-bin_1.9.1-7_i386.deb) ...

選中了曾被取消選擇的軟件包 latex209-base。

正在解壓縮 latex209-base (從 .../latex209-base_25.mar.1992-7_all.deb) ...

選中了曾被取消選擇的軟件包 jlatex209-bin。

正在解壓縮 jlatex209-bin (從 .../jlatex209-bin_1.9.1-7_all.deb) ...

選中了曾被取消選擇的軟件包 latex209-bin。

正在解壓縮 latex209-bin (從 .../latex209-bin_25.mar.1992-7_all.deb) ...

選中了曾被取消選擇的軟件包 latex209-src。

正在解壓縮 latex209-src (從 .../latex209-src_25.mar.1992-7_all.deb) ...

正在設置 tex-common (0.15build1) ...

我們注意到最先安裝的是tex-common,我們卸載的時候,可以卸載其就可以。這就是所謂的依賴關系。這是最底層的依賴文件

二十七、如何在ubuntu下面打開tftp的服務?

tftp分為兩類,一類是客戶端:tftp,一類是服務器:tftpd

如何安裝:sudo apt-get install tftp tftpd

這樣會產生一個/etc/inetd.conf文件。

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpdir

該文件的格式如上,最後的一個文件夾名是tftp服務器的根目錄。

apt-get install netkit-inetd

然後安裝如上的一個網絡工具。

然後使用命令:/etc/init.d/inetd restart重啟tftp服務。

這樣就可以用tftp命令來進行通信。

二十八、如何為一個ip地址指定mac地址,就是指定靜態mac地址

arp -s 10.0.0.100 12:34:56:78:90:ab

二十九、動態連接庫和靜態連接庫有什麼區別?(編程入門網)

靜態連接的庫文件表示該文件不需要任何其他文件的支撐,就可以單獨執行,一般這樣的庫以.a結尾。

動態連接的庫文件表示該文件需要其他文件的幫助,依賴其他文件,一般以.so文件結尾。

三十、當你使用dpkg -i來強制安裝一個文件,而這個文件在安裝過程中又被發現不能滿足依賴關系的時候,怎麼辦?

如果這樣的話,由於這個文件安裝了一半沒有進行下去,那麼系統在每次安裝其他的文件的時候都會報錯,不能正常的安裝其他的任何文件,解決的辦法就是

使用apt-get -f install來將沒有安裝完畢的文件刪除掉。

Copyright © Linux教程網 All Rights Reserved