透過chroot構建Linux作業系統(轉)
透過chroot構建Linux作業系統(轉)[@more@]轉貼:出處:天極網
在已有的Linux作業系統中,安裝另一個開源作業系統,我們一般是先構建新作業系統的chroot基礎環境,然後chroot進入新構建的作業系統環境來安裝和配置。這種構建和安裝作業系統的方法,對於我們學習和研究作業系統結構和原理應該說比較重要。本文舉了簡單的例子,以Fedora Core 5.0 為基礎,透過chroot來構建Slackware 10.2;
1、chroot方式安裝作業系統的目的和用途
chroot 工具是Linux作業系統都具備的工具,從表面的意思看,chroot 是從一個/根到另一個/根。在一個Linux作業系統中安裝另一個作業系統,就是利用chroot的這個特點。首先建立chroot執行的基礎環境,然後透過chroot到新的/根,然後再用相應的軟體包管理工具把新的作業系統其它軟體包安裝上;
幾乎所有的開源作業系統都可以用chroot的方法來安裝,比如Gentoo 、LFS及CRUX比較常用chroot;透過chroot安裝作業系統,好象堆積木一樣,一塊一塊的把作業系統安裝起來,所以Gentoo和LFS的Fans特別有成就感。呵,也說是作業系統全手工打造,成就感自然不言而喻了;
透過chroot安裝作業系統,我們能學到什麼呢?主要是能知道一個作業系統最少需要多少部件可以“動”起來,以及瞭解一個作業系統需要哪些基礎的必備的“部件”,這對開發自己的基於Linux作業系統以及瞭解作業系統的構成及原理是比較重要的;
2、透過chroot 方式安裝作業系統所需要的系統環境
最根本的環境是是在您的機器有得有一個能執行的Linux作業系統或一個LiveCD;
3、透過chroot 安裝作業系統的流程
要下面幾個流程:
一、規劃硬碟分割槽或建立映像檔案;請參考:《例項解說 fdisk 使用方法》
二、建立檔案系統;《儲存裝置分割槽操作及檔案系統管理概述》
三、掛載檔案系統;《Linux 建立檔案系統及掛載檔案系統流程詳解》
四、安裝基礎系統;主要透過解壓軟體包來實現;
五、修改新系統的配置檔案,比如 位於新系統中的/etc/fstab
六、解決依賴關係,安裝軟體包管理工具;
七、透過chroot進入新系統;
八、透過新系統的軟體包我管理工具來安裝其它軟體包;
九、處理引導問題,比如GRUB引導之類的;《系統引導管理器GRUB,為初學者指南》
4、作業系統安裝安裝目的地的介質說明;
一個作業系統可以安裝在物理硬碟中,也可以安裝在一個映像檔案中;安裝在物理硬碟中大家都能理解。安裝在一個映像檔案中怎麼理解呢?比如透過VMWARE來虛擬安裝作業系統是不是安裝在一個檔案中呢?是的,和這個意思差不多; 再說一點,交換分割槽swap 也可以是檔案;再比如Xen虛擬作業系統就可以安裝在檔案映像中;
安裝在映像檔案中的作業系統,可以用來學習,透過chroot訪問,也可以透過xen來虛擬等 ... ... 還可以做成類似file.iso的形式來儲存檔案等;
5、實說簡說在Fedora 中安裝Slackware 10.2;
本例是在Fedora Core 5.0 中透過chroot 安裝Slackware 10.2,安裝目的地的介質分為兩種,一種是物理硬碟;一種是映像檔案。安裝在物理硬碟的可以透過GRUB或LILO等引導管理器來獨立真實執行,安裝在映像檔案中的能透過chroot訪問或Xen虛擬執行;
5.1 透過chroot 安裝Slackware 10.2 到一個硬碟物理分割槽中;
這個過程好象是有點多餘,但寫一寫也好,這是大多開源作業系統的安裝都通用的,也是最原始、最有效的方法,也就是說在一個已有的作業系統環境中安裝另一個作業系統;
首先:您得懂的規劃您的分割槽,請參考:《例項解說 fdisk 使用方法》
其次:您還要知道如何建立檔案系統,請參考:《儲存裝置分割槽操作及檔案系統管理概述》
第三:您要知道如何掛載一個檔案系統;請參考:《Linux 建立檔案系統及掛載檔案系統流程詳解》
掛載檔案系統就是透過mount 來掛載;
舉例:
比如我的硬碟/dev/hda5是空白分割槽,並且我想建立/dev/hda5為ext3檔案系統,並且把它掛載到 /mnt/slack目錄中,然後透過chroot來安裝Slackware 10.2;
第一步:您要透過分割槽工具fdisk 或parted來規劃您的分割槽,此步省略;
請參考:《例項解說 fdisk 使用方法》
第二步:建立檔案系統;
[root@localhost ~]#mkdir /mnt/slack[root@localhost ~]# mkfs.ext3 /dev/hda5 注:格式化/dev/hda5為ext3檔案系統;
第三步:掛載檔案系統;
[root@localhost ~]# mount /dev/hda5 /mnt/slack 注:掛載/dev/hda5到 /mnt/slack目錄;
第四步:掛載slackware 10.2 光碟的第一張,安裝基礎系統;
[root@localhost ~]# mount -o loop slackware-10.2-install-d1.iso /mnt/cdrom/
我們可以先在/mnt/slack目錄中建立一個軟體包存放目錄,用於存放slackware-10.2-install-d1.iso中的所有內容;
[root@localhost ~]#mkdir /mnt/slack/pack[root@localhost ~]# cp -rp /mnt/cdrom/* /mnt/slack/pack
然後把slackware 第一張盤中的slackware目錄中的a目錄中的所有包都進行解壓縮,以及d目錄中glibc開頭的包,d目錄中的zlib以及zsh 並且把解出來目錄,比如 /usr、etc、lib等所有目錄都複製到 /mnt/slack中;
第五步:解決依賴關係;
如果我們執行下面的命令提示沒有/bin/bash這個檔案時,我們要解決依賴關係;透過解決依賴關係,也會發現執行chroot所需要的必備的基礎軟體包;
[root@localhost ~]# chroot /mnt/slack
如果提示缺少一些檔案,我們可以自行判斷缺少哪些包;當我們進入/mnt/slack/bin目錄發現,的確沒有bash這個檔案,所以我們要複製一個bash過去;
[root@localhost ~]# cd /mnt/slack/bin[root@localhost bin]# cp bash2.new bash
這時我們還要判斷 bash 所依賴的庫檔案;
[root@localhost bin]# ldd bash
出來的依賴關係,大多是glibc的,glibc被安裝在了/mnt/slack/lib/tls目錄中,我們可以根據提示一個一個的做連結。少什麼東西就做什麼的連結;要看/mnt/slack/lib中是否有glibc的檔案,然後做連結。如果是存放在tls目錄中的,也要鏈到/mnt/slack/lib中。連結時要用相對路徑,不能用絕對路徑;
建立連結檔案和在Windows建立快捷方式比較相似,用ln 命令;
#ln -s 原檔名 新檔名
什麼才算解決了 bash的依賴關係了呢?直到能chroot /mmt/slack才算成功;
第六步: chroot成功,進入Slackware系統;
chroot 成功後,我們就能進入Slackware系統,然後透過pkgtool 或installpkg 工具來安裝其它的軟體包,比如 核心什麼的;
[root@localhost ~]# chroot /mnt/slack
第七步;更改/etc/fstab檔案;
如果要讓一個作業系統獨立執行,非得寫一寫/etc/fstab檔案,對於這個您可以參考,比如 下面的這個例子,您改一改就可以用了;
/dev/hda7 swap swap defaults 0 0/dev/hda6 / reiserfs defaults 1 1/dev/hda1 /mnt/winc ntfs ro 1 0/dev/hda3 /mnt/wind vfat defaults 1 0/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0/dev/fd0 /mnt/floppy auto noauto,owner 0 0devpts /dev/pts devpts gid=5,mode=620 0 0proc /proc proc defaults 0 0none /sys sysfs defaults 0 0
第八步:引導系統;
要透過GRUB或LILO引導管理器實現對Slackware的引導;不多說了,請參考 :《系統引導管理器GRUB,為初學者指南》
5.2 透過chroot把Slackware 10.2安裝在一個映像檔案中;
第一步:建立映像檔案;
比如 我們建立一個名為slack.img的映像檔案,體積為2G的,就可以用下面的命令;bs是每個塊的大小為1M,共建立2000塊;
[root@localhost ~]# dd if=/dev/zero of=slack.img bs=1M count=2000 seek=1024
第二步:建立檔案系統;
我們可以建立為ext3、fat32或reiserfs等檔案系統,建立檔案系統,請參考:《儲存裝置分割槽操作及檔案系統管理概述》
[root@localhost ~]# /sbin/mkfs.ext3 slack.imgmke2fs 1.38 (30-Jun-2005)slack.img is not a block special device.Proceed anyway? (y,n) y
第三步:掛載已被格式化映像檔案;
[root@localhost ~]# mkdir /mnt/slack[root@localhost ~]# mount -o loop slack.img /mnt/slack/
第四步以後和物理硬碟操作基本相同,省略過去;
6、有關軟體包rpm、tgz、deb等軟體包提取;
發行版都有一定的軟體包格式,比如 file.rpm 、file.deb或file.tgz或file.tar.gz等;rpm格式的軟體包,一般基於Redhat或Fedora為基礎開發的都採用RPM格式。因為chroot安裝作業系統,首要的是從一個軟體包中提取檔案,然後複製到檔案系統中,所以提取檔案工具也得做一點解說;
6.1 從rpm軟體包抽取檔案;
操作的前提是得有rpm的管理工具,也就是說得有rpm等相關命令;
命令格式: rpm2cpio file.rpm |cpio -div
舉例:
[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div
抽取出來的檔案就在當用操作目錄中的 usr 和etc中;
其實這樣抽到檔案不如指定安裝目錄來安裝軟體來的方便;也一樣可以抽出檔案;
為軟體包指定安裝目錄:要加 -relocate 引數;下面的舉例是把gaim-1.3.0- 1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%] 1:gaim ########################################### [100%][root@localhost RPMS]# ls /opt/gaim
這樣也能一目瞭然;gaim的所有檔案都是安裝在 /opt/gaim 中,我們只是把gaim 目錄備份一下,這樣其實也算提取檔案的一點用法;
6.2 file.tgz、file.tar.gz和file.tar.bz2的提取;
[root@localhost ~]# tar zxvf file.tgz[root@localhost ~]# tar zxvf file.tar.gz[root@localhost ~]# tar zxvf file.tar.bz2
6.3 file.deb的提取;
[root@localhost ~]# ar x file.deb[root@localhost ~]# tar zxvf data.tar.gz
file.deb透過ar x 來解包,然後再把data.tar.gz解開就看到相關的目錄和檔案了;
6.4 file.iso檔案的提取;
這樣的檔案在Linux主要透過mount -o loop file.iso 掛載地址;比如 ;
[root@localhost ~]# mount -o loop slackware-10.2-install-d1.iso /mnt/cdrom/
6.5 提取檔案相關參考;
《檔案解壓縮》
《RPM 的介紹和應用》
7、chroot 成功切入新的作業系統後的軟體安裝問題補充;
如果透過chroot能進入新安裝的作業系統,我們就可以新作業系統的軟體包管理工具來安裝其它軟體包了,比如 Slackware 用的是pkgtool 或installpkg工具;Fedora 用的是 rpm 等工具;大多發行版所用的工具不盡相同,以發行版為準 ;
8、關於本文;
在去年的時候就想寫此文,隨著時間的推移,今天想起來的事情可能明天就忘的差不多了,所以用到chroot的時候就想寫,用不到的時候就把寫文件的事扔到一邊。今天正好寫關於Xen的文件,也恰恰用到chroot方式安裝新的作業系統,所以“被迫”中寫了一篇。雖然涉及chroot的功用少了點,但大體上還是把chroot說了差不多了;可能本文的名字有點不符合,我也不知道用什麼命名標題不好。慢慢修正中... ...
在已有的Linux作業系統中,安裝另一個開源作業系統,我們一般是先構建新作業系統的chroot基礎環境,然後chroot進入新構建的作業系統環境來安裝和配置。這種構建和安裝作業系統的方法,對於我們學習和研究作業系統結構和原理應該說比較重要。本文舉了簡單的例子,以Fedora Core 5.0 為基礎,透過chroot來構建Slackware 10.2;
1、chroot方式安裝作業系統的目的和用途
chroot 工具是Linux作業系統都具備的工具,從表面的意思看,chroot 是從一個/根到另一個/根。在一個Linux作業系統中安裝另一個作業系統,就是利用chroot的這個特點。首先建立chroot執行的基礎環境,然後透過chroot到新的/根,然後再用相應的軟體包管理工具把新的作業系統其它軟體包安裝上;
幾乎所有的開源作業系統都可以用chroot的方法來安裝,比如Gentoo 、LFS及CRUX比較常用chroot;透過chroot安裝作業系統,好象堆積木一樣,一塊一塊的把作業系統安裝起來,所以Gentoo和LFS的Fans特別有成就感。呵,也說是作業系統全手工打造,成就感自然不言而喻了;
透過chroot安裝作業系統,我們能學到什麼呢?主要是能知道一個作業系統最少需要多少部件可以“動”起來,以及瞭解一個作業系統需要哪些基礎的必備的“部件”,這對開發自己的基於Linux作業系統以及瞭解作業系統的構成及原理是比較重要的;
2、透過chroot 方式安裝作業系統所需要的系統環境
最根本的環境是是在您的機器有得有一個能執行的Linux作業系統或一個LiveCD;
3、透過chroot 安裝作業系統的流程
要下面幾個流程:
一、規劃硬碟分割槽或建立映像檔案;請參考:《例項解說 fdisk 使用方法》
二、建立檔案系統;《儲存裝置分割槽操作及檔案系統管理概述》
三、掛載檔案系統;《Linux 建立檔案系統及掛載檔案系統流程詳解》
四、安裝基礎系統;主要透過解壓軟體包來實現;
五、修改新系統的配置檔案,比如 位於新系統中的/etc/fstab
六、解決依賴關係,安裝軟體包管理工具;
七、透過chroot進入新系統;
八、透過新系統的軟體包我管理工具來安裝其它軟體包;
九、處理引導問題,比如GRUB引導之類的;《系統引導管理器GRUB,為初學者指南》
4、作業系統安裝安裝目的地的介質說明;
一個作業系統可以安裝在物理硬碟中,也可以安裝在一個映像檔案中;安裝在物理硬碟中大家都能理解。安裝在一個映像檔案中怎麼理解呢?比如透過VMWARE來虛擬安裝作業系統是不是安裝在一個檔案中呢?是的,和這個意思差不多; 再說一點,交換分割槽swap 也可以是檔案;再比如Xen虛擬作業系統就可以安裝在檔案映像中;
安裝在映像檔案中的作業系統,可以用來學習,透過chroot訪問,也可以透過xen來虛擬等 ... ... 還可以做成類似file.iso的形式來儲存檔案等;
5、實說簡說在Fedora 中安裝Slackware 10.2;
本例是在Fedora Core 5.0 中透過chroot 安裝Slackware 10.2,安裝目的地的介質分為兩種,一種是物理硬碟;一種是映像檔案。安裝在物理硬碟的可以透過GRUB或LILO等引導管理器來獨立真實執行,安裝在映像檔案中的能透過chroot訪問或Xen虛擬執行;
5.1 透過chroot 安裝Slackware 10.2 到一個硬碟物理分割槽中;
這個過程好象是有點多餘,但寫一寫也好,這是大多開源作業系統的安裝都通用的,也是最原始、最有效的方法,也就是說在一個已有的作業系統環境中安裝另一個作業系統;
首先:您得懂的規劃您的分割槽,請參考:《例項解說 fdisk 使用方法》
其次:您還要知道如何建立檔案系統,請參考:《儲存裝置分割槽操作及檔案系統管理概述》
第三:您要知道如何掛載一個檔案系統;請參考:《Linux 建立檔案系統及掛載檔案系統流程詳解》
掛載檔案系統就是透過mount 來掛載;
舉例:
比如我的硬碟/dev/hda5是空白分割槽,並且我想建立/dev/hda5為ext3檔案系統,並且把它掛載到 /mnt/slack目錄中,然後透過chroot來安裝Slackware 10.2;
第一步:您要透過分割槽工具fdisk 或parted來規劃您的分割槽,此步省略;
請參考:《例項解說 fdisk 使用方法》
第二步:建立檔案系統;
[root@localhost ~]#mkdir /mnt/slack[root@localhost ~]# mkfs.ext3 /dev/hda5 注:格式化/dev/hda5為ext3檔案系統;
第三步:掛載檔案系統;
[root@localhost ~]# mount /dev/hda5 /mnt/slack 注:掛載/dev/hda5到 /mnt/slack目錄;
第四步:掛載slackware 10.2 光碟的第一張,安裝基礎系統;
[root@localhost ~]# mount -o loop slackware-10.2-install-d1.iso /mnt/cdrom/
我們可以先在/mnt/slack目錄中建立一個軟體包存放目錄,用於存放slackware-10.2-install-d1.iso中的所有內容;
[root@localhost ~]#mkdir /mnt/slack/pack[root@localhost ~]# cp -rp /mnt/cdrom/* /mnt/slack/pack
然後把slackware 第一張盤中的slackware目錄中的a目錄中的所有包都進行解壓縮,以及d目錄中glibc開頭的包,d目錄中的zlib以及zsh 並且把解出來目錄,比如 /usr、etc、lib等所有目錄都複製到 /mnt/slack中;
第五步:解決依賴關係;
如果我們執行下面的命令提示沒有/bin/bash這個檔案時,我們要解決依賴關係;透過解決依賴關係,也會發現執行chroot所需要的必備的基礎軟體包;
[root@localhost ~]# chroot /mnt/slack
如果提示缺少一些檔案,我們可以自行判斷缺少哪些包;當我們進入/mnt/slack/bin目錄發現,的確沒有bash這個檔案,所以我們要複製一個bash過去;
[root@localhost ~]# cd /mnt/slack/bin[root@localhost bin]# cp bash2.new bash
這時我們還要判斷 bash 所依賴的庫檔案;
[root@localhost bin]# ldd bash
出來的依賴關係,大多是glibc的,glibc被安裝在了/mnt/slack/lib/tls目錄中,我們可以根據提示一個一個的做連結。少什麼東西就做什麼的連結;要看/mnt/slack/lib中是否有glibc的檔案,然後做連結。如果是存放在tls目錄中的,也要鏈到/mnt/slack/lib中。連結時要用相對路徑,不能用絕對路徑;
建立連結檔案和在Windows建立快捷方式比較相似,用ln 命令;
#ln -s 原檔名 新檔名
什麼才算解決了 bash的依賴關係了呢?直到能chroot /mmt/slack才算成功;
第六步: chroot成功,進入Slackware系統;
chroot 成功後,我們就能進入Slackware系統,然後透過pkgtool 或installpkg 工具來安裝其它的軟體包,比如 核心什麼的;
[root@localhost ~]# chroot /mnt/slack
第七步;更改/etc/fstab檔案;
如果要讓一個作業系統獨立執行,非得寫一寫/etc/fstab檔案,對於這個您可以參考,比如 下面的這個例子,您改一改就可以用了;
/dev/hda7 swap swap defaults 0 0/dev/hda6 / reiserfs defaults 1 1/dev/hda1 /mnt/winc ntfs ro 1 0/dev/hda3 /mnt/wind vfat defaults 1 0/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0/dev/fd0 /mnt/floppy auto noauto,owner 0 0devpts /dev/pts devpts gid=5,mode=620 0 0proc /proc proc defaults 0 0none /sys sysfs defaults 0 0
第八步:引導系統;
要透過GRUB或LILO引導管理器實現對Slackware的引導;不多說了,請參考 :《系統引導管理器GRUB,為初學者指南》
5.2 透過chroot把Slackware 10.2安裝在一個映像檔案中;
第一步:建立映像檔案;
比如 我們建立一個名為slack.img的映像檔案,體積為2G的,就可以用下面的命令;bs是每個塊的大小為1M,共建立2000塊;
[root@localhost ~]# dd if=/dev/zero of=slack.img bs=1M count=2000 seek=1024
第二步:建立檔案系統;
我們可以建立為ext3、fat32或reiserfs等檔案系統,建立檔案系統,請參考:《儲存裝置分割槽操作及檔案系統管理概述》
[root@localhost ~]# /sbin/mkfs.ext3 slack.imgmke2fs 1.38 (30-Jun-2005)slack.img is not a block special device.Proceed anyway? (y,n) y
第三步:掛載已被格式化映像檔案;
[root@localhost ~]# mkdir /mnt/slack[root@localhost ~]# mount -o loop slack.img /mnt/slack/
第四步以後和物理硬碟操作基本相同,省略過去;
6、有關軟體包rpm、tgz、deb等軟體包提取;
發行版都有一定的軟體包格式,比如 file.rpm 、file.deb或file.tgz或file.tar.gz等;rpm格式的軟體包,一般基於Redhat或Fedora為基礎開發的都採用RPM格式。因為chroot安裝作業系統,首要的是從一個軟體包中提取檔案,然後複製到檔案系統中,所以提取檔案工具也得做一點解說;
6.1 從rpm軟體包抽取檔案;
操作的前提是得有rpm的管理工具,也就是說得有rpm等相關命令;
命令格式: rpm2cpio file.rpm |cpio -div
舉例:
[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div
抽取出來的檔案就在當用操作目錄中的 usr 和etc中;
其實這樣抽到檔案不如指定安裝目錄來安裝軟體來的方便;也一樣可以抽出檔案;
為軟體包指定安裝目錄:要加 -relocate 引數;下面的舉例是把gaim-1.3.0- 1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%] 1:gaim ########################################### [100%][root@localhost RPMS]# ls /opt/gaim
這樣也能一目瞭然;gaim的所有檔案都是安裝在 /opt/gaim 中,我們只是把gaim 目錄備份一下,這樣其實也算提取檔案的一點用法;
6.2 file.tgz、file.tar.gz和file.tar.bz2的提取;
[root@localhost ~]# tar zxvf file.tgz[root@localhost ~]# tar zxvf file.tar.gz[root@localhost ~]# tar zxvf file.tar.bz2
6.3 file.deb的提取;
[root@localhost ~]# ar x file.deb[root@localhost ~]# tar zxvf data.tar.gz
file.deb透過ar x 來解包,然後再把data.tar.gz解開就看到相關的目錄和檔案了;
6.4 file.iso檔案的提取;
這樣的檔案在Linux主要透過mount -o loop file.iso 掛載地址;比如 ;
[root@localhost ~]# mount -o loop slackware-10.2-install-d1.iso /mnt/cdrom/
6.5 提取檔案相關參考;
《檔案解壓縮》
《RPM 的介紹和應用》
7、chroot 成功切入新的作業系統後的軟體安裝問題補充;
如果透過chroot能進入新安裝的作業系統,我們就可以新作業系統的軟體包管理工具來安裝其它軟體包了,比如 Slackware 用的是pkgtool 或installpkg工具;Fedora 用的是 rpm 等工具;大多發行版所用的工具不盡相同,以發行版為準 ;
8、關於本文;
在去年的時候就想寫此文,隨著時間的推移,今天想起來的事情可能明天就忘的差不多了,所以用到chroot的時候就想寫,用不到的時候就把寫文件的事扔到一邊。今天正好寫關於Xen的文件,也恰恰用到chroot方式安裝新的作業系統,所以“被迫”中寫了一篇。雖然涉及chroot的功用少了點,但大體上還是把chroot說了差不多了;可能本文的名字有點不符合,我也不知道用什麼命名標題不好。慢慢修正中... ...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-950007/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- docker作業系統的攢建過程Docker作業系統
- 作業系統(二):作業系統結構作業系統
- Linux作業系統介紹(轉)Linux作業系統
- 從硬碟安裝debian詳細過程(透過chroot完成)(轉)硬碟
- 從原始碼構建一個極簡的Linux作業系統原始碼Linux作業系統
- 在windows透過作業系統認證登入ORACLEWindows作業系統Oracle
- 配置安全的Linux作業系統(轉)Linux作業系統
- 紅旗Linux作業系統加速(轉)Linux作業系統
- 透過作業系統PID查詢執行的SQL作業系統SQL
- 作業系統結構作業系統
- Linux 作業系統Linux作業系統
- Linux作業系統Linux作業系統
- 紅旗Linux作業系統下載(轉)Linux作業系統
- 紅旗Linux作業系統安裝(轉)Linux作業系統
- 中小企業如何構建ERP系統(轉)
- 透過網路安裝UOS伺服器版作業系統伺服器作業系統
- 【linux】Linux作業系統Linux作業系統
- 作業系統列表(轉)作業系統
- 作業系統體系結構作業系統
- Linux作業系統檔案系統的桌面應用(轉)Linux作業系統
- 作業系統核心結構作業系統
- Linux作業系統概述Linux作業系統
- 作業系統與Linux作業系統Linux
- 理解linux/unix作業系統守護程式(轉)Linux作業系統
- Linux作業系統網路應用解疑(轉)Linux作業系統
- Linux作業系統也玩顯示卡超頻(轉)Linux作業系統
- 實戰多種Linux作業系統共存(轉)Linux作業系統
- 談兵:Linux/Unix作業系統入侵思路(轉)Linux作業系統
- 在普通PC上建立Linux作業系統(轉)Linux作業系統
- Linux 作業系統技術使用總結 (轉)Linux作業系統
- 透過作業系統的程式號檢視資料庫的session作業系統資料庫Session
- 安裝Kali Linux作業系統Kali Linux無線網路滲透Linux作業系統
- 系統移民須知:Linux作業系統安裝要點(轉)Linux作業系統
- 作業系統是什麼?Linux是什麼作業系統?作業系統Linux
- 面向模式構建系統架構 (轉)模式架構
- Linux的作業系統I2C驅動架構解說(轉)Linux作業系統架構
- 透過lombok帶你讀透Builder構建器LombokUI
- 基於 K8S 構建資料中心作業系統K8S作業系統