導航:首頁 > 操作系統 > linux軟體安裝原理

linux軟體安裝原理

發布時間:2023-05-27 02:31:08

A. linux軟體安裝confiure make 原理是什麼

這樣編譯源代碼安裝軟體,沒卜可以根據不同發行版本的環境獲得更好的安裝效果。configure是用來敏睜檢測你的系統是否滿足編譯源代碼所需的條件的,比如需要相應的庫等。configure之後會生成make需要調用的makefile文件的,makefile里包含了源代碼之間的依賴關系,並根據依賴關系調用gcc來編譯代碼。make是一個很強大的源代碼管理工具,若想了解更多詳情,可以上維基網路看看。其實只是輸入幾個字母的事情,習慣了也不覺得比點幾下枯拿穗滑鼠麻煩,呵呵

B. 如何安裝LINUX

這個是英語環境下裝中文的,可以參考下
對於國內的Linux用戶,經常煩惱的一個問題是:系統常常在需要顯示中文的時候卻顯示成了亂碼,而由於某些原因,需要英文界面的系統的時候,卻苦於系統不能正常輸入和顯示中文.另外,由於大部分主要Linux發行版都是以英語為主體的,英文界面的系統和應用程序不管在界面的美觀程度和穩定程度上都比中文的略好一些,各種奇怪的BUG也要少一些。因此,很多稍微有英語基礎的Linux用戶都寧願使用英文界面的系統。但是,矛盾又突現出來:在英文系統下,如何才能正常顯示和輸入中文呢?有沒有兩全其美的方案呢?因此,筆者開始探索如何解決這個問題。我的完美狀態是:系統和應用程序全部為英文(系統菜單、應用程序工具欄、默認輸入法等),而我需要閱讀和撰寫中文文檔的時候,能正確的顯示中文並調出中文輸入法。經過嘗試,設置成功,現在以FC4 Linux為例,講解一些相關知識和設置過程。

本文主要通過修改系統配置的過程來展現修改linux系統配置的一般思路和過程,如果你不太有耐心看完,請跳過文章的1—4節,直接看第五節快速設置部分。

一,相關變數介紹

我們知道大部分Linux系統是無所謂中文版和英文版的,以FC4 Linux為例,系統發行的時候全世界都一樣,系統是中文的還是英文的完全取決於你選擇的語言包。不同國家的人在安裝使用的時候選擇屬於自己國家的語言包,應用程序中的語言也不是寫死的,它根據系統的設置來調用相關的語言,所以,一個應用程序寫出來不經過修改,全世界不同國家的用戶都可以以母語界面使用它,這就事所謂的internationalization(國際化),簡稱i18n。這也是未來軟體的發展趨勢。

那麼,如果我在系統中安裝了不同的語言包和不同的字體,系統是如何判斷我所要的語言界面並調用相關的字體的呢?系統中那些文件和變數在控制這些呢?

在redHat和FC系列Linux系統下,記錄系統默認使用語言的文件是/etc/sysconfig/i18n,如果默認安裝的是中文的系統,i18n的內容如下:

代碼:

LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

其中LANG變數是language的簡稱,稍微有英語基礎的用戶一看就看出來這個變數是決定系統的默認語言的,即系統的菜單、程序的工具欄語言、輸入法默認語言等。SYSFONT是system font的簡稱,決定系統默認用哪一種字體。SUPPORTED變數決定系統支持的語言,即系統能夠顯示的語言。需要說明的是,由於計算機起源於英語國家,因此,不管你把這些變數設置成什麼,英語總是默認支持的,而且不管用什麼字體,英文字體總包含在其中。

這些變數中LANG變數是在字元模式和圖形界面下都用到的,在你登錄系統後就被讀取並生效,相信很多人在字元界面下輸入Linux命令的時候經常會遇到顯示出來的出錯信息是亂碼的情況,必需安裝zhcon或者cce等字元模式下的中文軟體才能正常顯示中文的出錯信息。如果我不要他顯示中文亂碼,我也不要為了看個很簡單的出錯信息而特意起用zhcon那我該怎麼辦呢?一個簡單的零時解決的辦法就是設置一下LANG變數:

代碼:

[root@gucuiwen ~]# LANG="en_US.UTF-8"

即把系統的語言臨時設置成英文,或者更簡單一點,可以直接這樣:

代碼:

[root@gucuiwen ~]# LANG=""

即把LANG變數清空,由於英語是無論什麼情況都支持的,LANG變數被清空後,系統就默認用英語。這樣設置後,在字元模式下輸出的出錯信息等就是全英文的了。但這種設置是臨時的,只是臨時改變了LANG這個bash變數而已。當退出重新登錄或者切換到其他字元終端後就無效了。到現在,讀者應該想到了,只要把i18n文件中的LANG變數設置成英文的」en_US.UTF-8」,就可以永久解決這個問題了。修改後的文件如下:
代碼:

#LANG="zh_CN.UTF-8"
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

請不要把LANG變數簡單的清空,因為這個變數不僅在字元模式下用到,在圖形界面下也用到,簡單清空在字元模式下確實不會有問題,但在圖形界面下,卻會造成中文無法正常顯示的情況,在過去Re d ha t 系列的版本中i18n文件中還有一個叫LANGUAGE的變數,專門控制圖形界面下的語言設置,現在的FC系列中已經把這兩個變數整合成一個變數了。

經過修改這個變數,重新起動圖形界面後,就可以看到界面一經完全是英文的了。但是按ctrl+空格卻不能調出中文輸入法,輸入法菜單中也不能添加中文輸入法。我們只簡單的修改了LANG變數改變了系統語言設置,當然這一步也可以用圖形界面下的工具修改,而不用親自修改配置文件。

二,關於運行等級

這個問題似乎和這篇文章的的主題無關,但是介於現在越來越多的linux新手遇到linux圖形界面的問題,而且在中文輸入法設置過程中也牽涉到這些問題,因此想順便提一下。

現在的linux安裝完成後,默認就運行在第5個系統運行級別。在SYSTEM V 風格的UNIX系統中,系統被分為不同的運行級別,這和BSD分支的UNIX有所不同,常用的為0~6七個級別:

0 關機
1 單用戶
2 不帶網路的多用戶
3 帶網路的多用戶
4 保留,用戶可以自給定義
5 圖形界面的多用戶
6 重起系統

由於現在的Linux系統安裝完後就運行在第5個級別,即系統啟動後直接進入圖形界面,而不用在字元模式下登錄後用startx或者xinit 來起動圖形界面。這樣看起來很方便。但是有什麼壞處呢? 一旦你改變了某些設置,顯示出問題的時候,系統不斷在圖形和字元間派徊,新手又不知道如何應對,十分麻煩,而且對於學習研究Linux的人來說,這樣不利於了解和學習Linux底層的一些東西。很早就用Linux的老用戶都知道,過去的Linux如redhat6.0,都是默認運行接別為3,即使後來的RedHat9.0也可以在安裝時候選默認字元登錄還是圖形登錄。但現在的FC系列和其他大多數版本都不管三七二十一直接幫用戶選擇了直接圖形界面登錄。雖然對於大多數菜鳥來說,Linux確實越來越簡單了,但是很多樂趣,那些新手也體驗不到了。

也許你不相信,直接圖形登錄到系統確實會有很多問題,因此,作為一個有6年Linux使用經驗的Linux和Solaris 系統管理員,我強烈建議在系統安裝完成後把系統的默認運行等級設置在第3級,在字元終端登錄後,再手工輸入startx 命令起動圖形界面。可以用如下的方法修改:
用文本編輯器修改 /etc/inittab文件 ,把
代碼:

id:5:initdefault:

這一行,修改成
代碼:

id:3:initdefault:

保存後就重起,系統就默認起動到字元界面。不同運行級別之間的差別的在於系統默認起動的服務的不同,如運行級別3默認不啟動X圖形界面服務,而運行級別5卻默認起動。本質上是沒有區別的,更無所謂不同級別間功能強弱的問題。用戶完全可自給定義不同級別的默認服務。在任何運行級別,用戶都可用init 命令來切換到其他運行級別。

三,調出中文輸入法:

我之所以要在上面費那麼多筆墨來講系統運行級別,是因為對系統的認識是從底部向上開始的。
先把默認運行級別修改成3級別,當然,如果你實在不想修改,就臨時用init 3命令切換到第3級。

這樣你就可以用startx起動圖形界面,然後用ctrl+alt+backspace退出圖形界面。請注意我說的是「退出」圖形界面,而不是按ctrl+alt+F2切到一個字元終端。

好了,一切由startx開始。當你需要在Linux系統中設置某個東西,或者配置某個服務的時候,最關鍵的是要知道,這一切是怎麼開始的。知其然必需知其所以然。如果你有空把/etc/rc.d目錄下的系統起動時運行的腳本通讀一遍,就完全知道了/etc下的各種配置文件是用來干什麼的、如何修改、修改後有什麼效果等等。玩起系統來也能隨心所欲想怎麼改就怎麼改。這就是我一直強調的,知其然一定要知其所以然。一定要深入系統,讀腳本,學會用命令和手工修改系統配置文件。這樣對系統才會有透徹的了解,整天用圖形界面的工具是不能幫助你對系統有教為透徹深入的了解的,不同的linux系統提供的圖形界面配置程序會不同,但命令和配置文件都是相同的,越是底層的東西越具有通用性。所以,應當先學會手動配置和修改系統配置文件,等熟悉了以後,再用圖形界面的工具修改,以便減少工作量。

上面提了一下我解決問題的思路。我是順著這個思路開始的:

中文輸入法是在圖形界面下使用的,是圖形界面下運行的一個程序。而圖形界面中的一切,都是由startx程序開啟運行的。這就是問題的根源。

找出startx的位置:
代碼:

[root@gucuiwen ~]# which startx
/usr/X11R6/bin/startx

看startx是一個腳本還是二進制文件:
代碼:

[root@gucuiwen ~]# file /usr/X11R6/bin/startx
/usr/X11R6/bin/startx: Bourne shell script text executable

發現startx是一個shell 腳本,於是我打開它分析並閱讀,看看能不能找到一些關於輸入法起動過程和相關變數的線索:
代碼:

[root@gucuiwen ~]# vi /usr/X11R6/bin/startx

我找到了該腳本在運行過程中調用的其他腳本和配置文件的信息:
代碼:

userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc

並且知道,startx的目的是尋找系統中可用的桌面系統X伺服器系統、以及用戶自定義的參數,最終調用xinit來初始化X圖形界面。我沒有在startx腳本中找到直接和起動輸入法相關的代碼,於是就可以肯定,輸入法相關的代碼在startx調用的腳本中。於是我來到
/etc/X11/xinit/目錄下,閱讀並分析該目錄下的腳本,這些腳本有些是startx直接調用的,有些是被startx調用的腳本再調用的,存在著多級嵌套的關系,沒有一點耐心還真是搞不清楚。最終我在/etc/X11/xinit/xinitrc.d目錄中的xinput.sh腳本中找到了和輸入法相關的代碼:
代碼:

lang_region=$(echo $tmplang | sed -e 's/\..*//')
lang_region="zh_CN" #這一行是修改後加上去的
for f in $HOME/.xinput.d/${lang_region} \
$HOME/.xinput.d/default \
/etc/X11/xinit/xinput.d/${lang_region} \
/etc/X11/xinit/xinput.d/default ; do
[ -r $f ] && source $f && break
done

通過分析腳本,我知道,圖形界面啟動的時候腳本是根據LANG變數來決定是否啟用輸入法,以及啟用哪種語言的輸入法等。問題在於:我們還沒有把LANG變數改成英語之前,系統得到的LANG變數是中文的,因此,它知道需要在圖形界面啟動過程中啟用中文輸入法,但把LANG變數改成英文後,系統根據LANG變數知道系統是英文的,它便不再啟動中文輸入法,也不再設置和導出相關的變數,導致中文輸入法不可用。因此,只要在這個腳本中,「騙」過系統,讓輸入法腳本「以為」系統是中文的,它不就運行中文輸入法,並導出相關變數了嗎? 於是,通過分析腳本,我在xinput.sh中的:
代碼:

lang_region=$(echo $tmplang | sed -e 's/\..*//')

後面又添加了

lang_region="zh_CN"

直接把lang_region=$(echo $tmplang | sed -e 's/\..*//') 修改成 lang_region="zh_CN" 也可以
多添加一行是為了以後改過來方便,直接刪除添加的一行就可以了。

當然,把for循環中的/etc/X11/xinit/xinput.d/${lang_region}該成
/etc/X11/xinit/xinput.d/zh _CN也可以。

當然還有其他的改法,前提是你要懂得shell 腳本的語法,看得懂腳本的意思。這樣修改後,即便系統是英文的,xinput.sh腳本也會去讀取/etc/X11/xinit/xinput.d/zh _CN 文件並導出其中的內容、設置好XMODIFERS等輸入法變數,並運行iiimx輸入法程序。

那麼為什麼不在圖形界面啟動後直接運行iiimx輸入法程序呢?實驗一下就知道,這根本不行。因為輸入法程序是須要和被輸入的應用程序配合運行的軟體,在運行過程中需要導出很多變數。直接運行iiimx只運行了主程序,而沒相關變數,沒辦法和應用程序配合完成輸入工作。

完成修改工作後,保存腳本文件。輸入startx命令啟動圖形界面,就可以用全英文的系統界面和中文輸入法了。但需要注意的是:由於系統是全英文的,默認輸入法也是英文,通過GNOME或者KDE菜單起動的應用程序第一次輸入中文的時候不能按ctrl+空格來切換到中文,需要用滑鼠在任務欄上點擊輸入法圖標切換,第一次切換後以後就可以用ctrl+空格快捷鍵來切換中英文輸入法了。

四,一些後續問題

某些軟體,比如Open Office,通過GNOME或者KDE菜單啟動的話,即使切換到中文輸入法也輸不進中文,這是因為整個桌面系統的環境是英文的,軟體「繼承」了英文環境的相關變數,這些軟體就「認死理」,就是不讓輸入中文,這時候可以打開一個gnome終端,把LANG變數臨時設置成zh_CN.UTF-8 :

[root@gucuiwen ~]# LANG="zh_CN.UTF-8"

然後在這個gnome終端中,用命令打開open office:

[root@gucuiwen ~]# oowriter &

這樣Open Office就「繼承」了gnome終端的LANG變數,起動後,工具欄和菜單等都是中文的,而且能輸入中文。推而廣之,任何軟體都可以用這種方法,根據需要,打開中文界面的軟體和英文界面的軟體。要以英文界面運行軟體時,只要從GNOME或者KDE菜單打開,要用中文界面運行軟體時,在終端中修該LANG變數,從修改過LANG變數的終端中通過命令運行即可。當然,如果你還安裝了其他語言的字體,你還可以以其他語言的界面來運行程序。如日語:

[root@gucuiwen ~]# LANG="ja_JP.UTF-8"
[root@gucuiwen ~]# gedit &

我用上面的兩條命令打開的gedit 編輯器就是全日語界面的,但是能輸入中文和英文,並顯示日文。從而達到,一個系統,多種語言和文字共存的目的。

當然,前提是要安裝了日語字體和日語locale,否則所有有文字的地方會全部顯示成一連串問號。總之,要先懂得原理,之後想怎麼玩就怎麼玩,隨心所欲,完全不受限制,充分享受用Linux的樂趣。

五, 快速設置步驟:

1.修改/etc/sysconf/i18n文件,把
LANG="zh_CN.UTF-8"
修改成:
LANG="en_US.UTF-8"

2.修改/etc/X11/xinit/xinitrc.d/xinput.sh文件,把其中一行:

lang_region=$(echo $tmplang | sed -e 's/\..*//')

修改成:

lang_region=」zh_CN」

3,重新啟動圖形界面,就可以用英文的界面並且正確顯示中文和輸入中文。

C. linux下安裝軟體的步驟和原理

原理啊?這東西還真不好說啊~~
要裝軟體,你要有那個軟體的安裝包啊!WINDOWS下只有一個EXE,或壓縮的。
LINUX現在大概就三種,比較普遍的,RPM,DEB,還有一種是源代碼的,一般是壓縮的,後綴名是*.gz,*.bz2等
步驟的話,你先要有那個包啊!看是什麼格式的,紅帽系列的就一般是RPM,可以用命令:rpm -ivh 安裝包的名稱.rpm,或者用軟體包管理器安裝,就是右鍵啦!
deb的也差不多,雙擊都可以~

源代碼的就比較麻煩,要先編譯,在安裝!
tar -zxvf/-jxvf 安裝包名稱.gz/bz2
進入解壓後的目錄,運行: ./configure編譯
再安裝:make & make install
如果編譯不出錯,安裝也不出錯就完成了!

D. 如何在Linux系統下安裝軟體

1、打開系統,可以看到桌面如下圖,找到軟體中心,打開軟體中心

E. redhat linux,軟體安裝時的原理是什麼 軟體御載的原理又是什麼

安裝自然是更新弊升和添加一些文件和信段明息

卸載也就是刪除和更新一些文件租燃老和信息

rh 系列管理這個過程用的 rpm

F. 請問Linux安裝盤的原理。(非大蝦莫入)

我想應該是神侍禪已編譯的文件,並且安裝的時候把東西放入指定的位置。
可以參談鄭照啟動的順序來;
安裝下載gcc安游塵裝包好了,rpm。
或者安裝系統時定製安裝選擇gcc就好了。

G. Linux文件系統的系統原理

Linux 最早的文件系統是Minix,但是專門為Linux 設計的文件系統——擴展文件系統第二版或EXT2被設計出來並添加到Linux中,這對Linux產生了重大影響。EXT2文件系統功能強大、易擴充、性能上進行了全面優化,也是所有Linux發布和安裝的標准文件系統類型。
每個實際文件系統從操作系統和系統服務中分離出來,它們之間通過一個介面層:虛擬文件系統或VFS來通訊。VFS使得Linux可以支持多個不同的文件系統,每個表示一個VFS 的通用介面。由於軟體將Linux 文件系統的所有細節進行了轉換,所以Linux核心的其它部分及系統中運行的程序將看到統一的文件系統。Linux 的虛擬文件系統允許用戶同時能透明地安裝許多不同的文件系統。
在Linux文件系統中,作為一種特殊類型/proc文件系統只存在內存當中,而不佔用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供介面。/proc文件系統是一個偽文件系統,用戶和應用程序可以通過/proc得到系統的信息,並可以改變內核的某些參數。
在Linux文件系統中,EXT2文件系統、虛擬文件系統、/proc文件系統是三個具有代表性的文件系統,本論文試圖通過對他們的分析來研究Linux文件系統機制。並且在分析這三種文件系統的基礎上對Linux文件系統操作進行了解、研究(本論文選取了open和close兩種操作進行研究)。在第二部分中將介紹EXT2文件系統;第三部分論述虛擬文件系統的特點;第四部分簡要介紹/proc文件系統;最後,介紹兩種具體文件系統操作的實現。

H. 安裝linux系統實驗原理

1) 啟動vmware虛擬機
2) 單擊「文件—>新建?虛擬機」,出現「安裝虛擬機向導」對話框,單擊「下一步」,選「典型」;
3)「客戶機操作系統」選擇安裝linux,版本選「redhat linux」,單擊「下一步」;
4) 在「虛擬機名稱」處:輸入「linux」, 創建指定位置(不要選擇在c盤)的磁碟映像文件linux.vmx單擊「下一步」,出現「網路連接」 設置界面,選擇「使用橋接網路」 單擊下一步;
5) 磁碟容量為8g, 單擊「完成」;
6)編輯虛擬機設置:
雙擊設備欄「cd-rom」,選擇「使用iso鏡像」;指定鏡像文件路徑,例如: d:\redhatlinux_isofiles\redhatlinux9_i386_disc1.iso ;
floppy設備欄取消「打開電源時連接「
7) 配置步驟完成,啟動系統。

閱讀全文

與linux軟體安裝原理相關的資料

熱點內容
51單片機課程設計課題 瀏覽:895
手機淘寶登錄怎麼加密碼 瀏覽:481
linux快捷方式圖標 瀏覽:34
陽光車險的app叫什麼名字 瀏覽:461
購買單片機的器件時需要給商家啥 瀏覽:534
並行編譯技術的發展 瀏覽:549
阿里雲伺服器安裝管理 瀏覽:550
java手機開發教程 瀏覽:674
我的世界怎麼刪除伺服器數據 瀏覽:671
linux內存子系統 瀏覽:972
加密思維幣 瀏覽:690
魅族訪客文件夾 瀏覽:52
添加的文件夾怎麼找 瀏覽:617
程序員涉黃 瀏覽:700
maven編譯resources下的js 瀏覽:521
ubuntu文件移動命令 瀏覽:229
安卓i怎麼查找蘋果手機 瀏覽:951
雲伺服器宕機概率 瀏覽:232
在線買葯用什麼app知乎 瀏覽:815
ubuntu解壓xz文件 瀏覽:676