国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

電子工程網

標題: ubuntu 和redhat系列 啟動的差別 [打印本頁]

作者: wangkj    時間: 2009-11-10 14:05
標題: ubuntu 和redhat系列 啟動的差別
rc 腳本,
這個是系統內核啟動后,首先執行的。
在redhat下的/etc/inittab 在ubunbu里面沒有
所以,inittab中的這個更早應該執行的文件不存在
si::sysinit:/etc/rc.d/rc.sysinit

/etc/inittab文件,如果需要,可以從redaht拷貝過來。
rc.sysinit也拷貝過來,應該會先于rc執行。

rc腳本的位置不同:
redhat : /etc/rc.d/rc
ubuntu:/etc/init.d/rc
作者: wangkj    時間: 2009-11-10 14:41
還有就是ubuntu特有的/etc/rcS.d
我從rc文件中,沒有找到關于這個必須執行的操作,但是
網上提到:
*運行等級 S:開機進程中的第一個運行等級。若/etc/rcS.d 下的鏈接文件開頭子母是大寫的,那么它鏈接的在 /etc/init.d 下的對應腳本將被調用并開啟,該進程將被執行。
運行等級 S 就是指的這個這個目錄中的文件,
如果相信了解這些啟動步驟,請讀/sbin/init的源碼,這個俺懶得讀了。
從我的實驗來看,確實是先執行rcS.d然后在執行rc的。
linux的啟動過程簡介:
bios啟動第一個可啟動設備
啟動grub
啟動內核,加載root分區
內核讀取/bin/init /sbin/init /usr/bin/init //usr/sbin/init ,這四個文件前面優先,有前面的后面就不管了
所以詳細的真是啟動過程,應該從init文件讀取。
這個文件可以是可執行文件,也可以是shell腳本。當然,從這個文件進一步調用其他可執行文件或者腳本再正常不過了。
作者: wangkj    時間: 2009-11-10 14:42
所以,估計rcS.d可能就是init讀取的執行文件,當然你想修改init強制讀取其他文件也沒有問題。或者強制不讀取某些文件也沒問題。
作者: lelee007    時間: 2009-11-10 17:23
會計什么意思?想表達什么?
作者: linux_Ultra    時間: 2009-11-10 22:01
ubuntu 不守規范,亂搞,要用正統的發行版,debian
作者: wangkj    時間: 2009-11-11 13:05
標題: apt-get 錯誤的解決:用這個文件替換/etc/apt/sources.list
#deb cdrom:[Ubuntu 9.04 _Jaunty Jackalope_ - Release i386 (20090420.1)]/ jaunty main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the distribution.deb http://hk.archive.ubuntu.com/ubuntu/ jaunty main restricteddeb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty main restricted## Major bug fix updates produced after the final release of the## distribution.deb http://hk.archive.ubuntu.com/ubuntu/ jaunty-updates main restricteddeb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu## team. Also, please note that software in universe WILL NOT receive any## review or updates from the Ubuntu security team.deb http://hk.archive.ubuntu.com/ubuntu/ jaunty universedeb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty universedeb http://hk.archive.ubuntu.com/ubuntu/ jaunty-updates universedeb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty-updates universe## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu## team, and may not be under a free licence. Please satisfy yourself as to## your rights to use the software. Also, please note that software in## multiverse WILL NOT receive any review or updates from the Ubuntu## security team.deb http://hk.archive.ubuntu.com/ubuntu/ jaunty multiversedeb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty multiversedeb http://hk.archive.ubuntu.com/ubuntu/ jaunty-updates multiversedeb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse## Uncomment the following two lines to add software from the 'backports'## repository.## N.B. software from this repository may not have been tested as## extensively as that contained in the main release, although it includes## newer versions of some applications which may provide useful features.## Also, please note that software in backports WILL NOT receive any review## or updates from the Ubuntu security team.# deb http://hk.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse# deb-src http://hk.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse## Uncomment the following two lines to add software from Canonical's## 'partner' repository.## This software is not part of Ubuntu, but is offered by Canonical and the## respective vendors as a service to Ubuntu users.# deb http://archive.canonical.com/ubuntu jaunty partner# deb-src http://archive.canonical.com/ubuntu jaunty partnerdeb http://security.ubuntu.com/ubuntu jaunty-security main restricteddeb-src http://security.ubuntu.com/ubuntu jaunty-security main restricteddeb http://security.ubuntu.com/ubuntu jaunty-security universedeb-src http://security.ubuntu.com/ubuntu jaunty-security universedeb http://security.ubuntu.com/ubuntu jaunty-security multiversedeb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse
作者: wangkj    時間: 2009-11-11 13:05
cn.ubuntun.com有問題。經常連不上,不知道是不是被河蟹了。
作者: f.luo    時間: 2009-11-11 13:09
會計也用ubuntu了?
作者: 一朝成名    時間: 2009-11-11 20:21
裝了一個Ubuntu,一直還沒用過~
作者: f.luo    時間: 2009-11-11 20:26
現在的源用的是163的,速度還不錯。
作者: wangkj    時間: 2009-11-11 21:37
地址,給個具體地址。
作者: linux_Ultra    時間: 2009-11-11 21:53
163 , 臺灣的都不錯。
作者: f.luo    時間: 2009-11-11 22:19
163的源:
deb http://mirrors.163.com/ubuntu/ karmic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-backports main restricted universe multiverse
作者: linux_Ultra    時間: 2009-11-11 22:19
安裝剛發行的ubuntu,一般就看看速配指南就行了
http://wiki.ubuntu.org.cn/Qref/Source#.E6.BA.90.E5.88.97.E8.A1.A8
作者: f.luo    時間: 2009-11-11 22:19
sohu的源:
deb http://mirrors.sohu.com/ubuntu/ karmic main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ karmic-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ karmic-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic-backports main restricted universe multiverse
作者: 一朝成名    時間: 2009-11-12 11:34
看來我要順應潮流換ubuntu了~~~
作者: linux_Ultra    時間: 2009-11-12 22:27
linuxsir 那邊的老鳥都玩gentoo和archlinux。。。
還記得上課時老師對我們說:你們現在還太粉了所以在玩 linux,和我當年一樣,高手玩的是 FreeBSD和OpenBSD...
作者: f.luo    時間: 2009-11-12 22:38
學到詞了,粉……
作者: wangkj    時間: 2009-11-13 15:22
ubuntu 啟動調用的不是inittab,而是/ectc/event.d/rc-default !
可能是修改了init文件吧。沒看源碼。
花了不少功夫才發現的。


upstart和ubuntu啟動過程原理介紹
作者:貝殼漢姆   出處:IT實驗室系統管理   2009年10月30日 00:00   進入論壇
相關主題:

    * ubuntu 啟動
    * ubuntu 啟動項
    * ubuntu 啟動順序
    * ubuntu 啟動菜單
    * ubuntu 啟動界面
    * ubuntu 開機啟動
    * ubuntu u盤啟動
    * ubuntu 啟動程序
    * ubuntu mysql啟動
    * ubuntu 啟動ssh

    ubuntu從6.10開始逐步用upstart代替原來的sysinit,進行服務進程的管理。也正是從6.10開始,ubuntu的啟動過程開始變得有點“變幻莫測”。也沒辦法,這是正在開發中的upstart不可避免的。為了對原有的 init實現向后兼容,upstart可以說是在表象上保留了大部分原來init的特性,因而目前linux初始化進程名仍然叫init,而改變的核心,乃是Event機制。理解并講清楚這個改變的重要意義和內在機理可不是件容易的事,所以我只打算研究一下目前 upstart(0.3.9, ubuntu 8.04)在系統啟動中的表象行為。[注:據Scott James Remnant在其博客上所說,upstart 0.5.0版本將在未來幾周發布。]

    關于系統啟動,熟悉Linux的人大多應該知道,init進程(PID=1)乃是所有進程的父進程,所有進程由它控制。init進程的運行時間是內核完成文件系統的加載后。那么init進程是如何開啟系統中的其它進程的呢?在闡述這個問題之前,大致地說明一下目前ubuntu中與init相關的幾個目錄和應用程序,可以方便后面的論述。這些目錄和程序包括:

    init

    telinit

    runlevel

    /etc/event.d/ /etc/init.d/ /etc/rcX.d/

    前三個是應用程序(注意哦,它們都不是shell腳本),可以理解為是由內核調用的。關于它們的功能,從manpage查看就可以了。我們的重點是后面給出的三個目錄。

    首先是/etc/event.d/目錄,這是upstart的核心,upstart不同于原有的init的地方就在于它引入了event機制。Event 機制通俗的講就是將所有進程的觸發、停止等等都看作event(事件)。/etc/event.d/中就存放了目前upstart需要識別的event。這其中主要有三種rc-default, rcX(x=0,1,...6,S。sysv-rc-conf這個工具里就顯示了0,1,...6,S這幾個級別)以及ttyX。這rc-default 就類似于那大名鼎鼎的inittab文件,它就是設置默認運行級別的 [注:upstart中實際并沒有運行級別的概念,這么稱呼是為了init向后的兼容性]。現在你應該知道了ubuntu里沒有了inittab文件后該到哪里設置默認運行級別的了吧!cat rc-default一下吧!rcX文件是發生相應運行級別事件(可以注意到event這個詞在upstart里真是無處不見啊)時,需要運行程序的腳本,而ttyX則是設置偽終端數目的,也就是你Ctrl+Alt+F(1~6)調出的那個Console。我們以rc2為例,cat rc2:

    start on runlevel 2

    stop on runlevel [!2]

    console output

    script

    set $(runlevel --set 2 || true)

    if [ "$1" != "unknown" ]; then

    PREVLEVEL=$1

    RUNLEVEL=$2

    export PREVLEVEL RUNLEVEL

    fi

    exec /etc/init.d/rc 2

    end script

    ..

    不去考慮細節,只要注意到前兩行和倒數第二行就可以了。可以看到,rc2文件是定義在發生運行級別2的時候所要執行的東西,核心就是這句:exec /etc/init.d/rc 2。這樣,我們就可以自然地過渡到下一個重要的目錄,/etc/init.d/了。

    你可以ls /etc/init.d/看一下里面的內容,對它有個大致的了解。/etc/init.d/中存放的是服務(services)或者任務(tasks)的執行腳本。可以這么說,只要你安裝了一個程序(特別是服務程序daemon),它可以在系統啟動的時候運行,那么它必定會在/etc/init.d/中有一個腳本文件。我們還回到上面的rc2文件,它執行了一個exec /etc/init.d/rc 2的命令。也就是說,給/etc/init.d/rc腳本傳遞了一個參數"2",讓它執行。我們仔細查看一下rc腳本(很長,耐心點),能看到這樣的一段:

    # Now run the START scripts for this runlevel.

    # Run all scripts with the same level in parallel

    ....... for s in /etc/rc$runlevel.d/S* .......

    這說明,當給rc腳本傳遞一個數字參數"X"的時候,它在經過一系列的設置后,將會開始執行/etc/rcX.d/下S開頭的腳本。這就過渡到下一個目錄/etc/rcX.d/了。

    進入/etc/rcX.d/,ls -l /etc/rcX.d/看看有些什么內容?哈哈,沒錯,都是一些到/etc/init.d/中腳本的符號鏈接。不同的是它們的開頭加上了S和一個數字。熟悉原本init的人應該知道,S表示在啟動時運行,數字則表示執行的先后順序。

    這樣一來,upstart管理的ubuntu啟動過程應該就清楚了。梳理一下:1,內核啟動init 2,init找到/etc/event.d/rc-default文件,確定默認的運行級別(X) 3,觸發相應的runlevel事件,開始運行/etc/event.d/rcX 4,rcX運行/etc/init.d/rc,傳入參數X 5,/etc/init.d/rc腳本進行一系列設置,最后運行相應的/etc/rcX.d/中的腳本6,/etc/rcX.d/中的腳本按事先設定的優先級依次啟動,直至最后給出登錄畫面(啟動X服務器和GDM)

    理解了這些,手動配置開機服務的啟動與否就很簡單了。Ubutnu默認的啟動級別是2,不想啟動的程序,只要把相應的符號鏈接從/etc/rc2.d/中刪去即可!
作者: wangkj    時間: 2009-11-13 15:25
現在搞linux,真的覺得容易太多了。網上資料很多,只要知道大概,總能找到。
我記得,俺最初搞的時候,只能自己看英文官方文檔。
把程序源碼看一遍。現在,會google就行啦。
作者: wangkj    時間: 2009-11-13 15:28
ubuntu里/etc/event.d/下添加文件
  今天研究了一下git的使用,依照文檔在/etc/event.d/下面建了一個文件local-git-daemon,并放入以下內容:

start on runlevel 2
start on runlevel 3
stop on shutdown

exec /usr/bin/git daemon \
        --user=git --group=git \
        --reuseaddr \
        --base-path=/work/sources-git/repositories/ \
        /work/sources-git/repositories/
respawn

    原本以為這樣就可以了,誰知道死活啟動不了,用start local-git-daemon提示,unknown job。應該是upstart不知道有這個job造成的,但對于upstart又不了解,不知道它的工作機制。沒辦法,只能在/etc/下找了一下相關的文件,發現在/etc/init下有好多的conf文件,而且和/etc/event.d/下的文件是相對應的。這樣想著就在/etc/init下建了個對應的文件:

#git daemon

description "git daemon"
author    "dey"

start on runlevel [23]
stop on shutdown

exec /usr/bin/git daemon \
        --user=git --group=git \
        --reuseaddr \
        --base-path=/work/sources-git/repositories/ \
        /work/sources-git/repositories/
respawn

    一試之下,果然可以了,但具體原理還不是很清楚,以后慢慢琢磨。
作者: wangkj    時間: 2009-11-13 15:29
點評:一般來講,/etc/init更優先。
估計想看明白,這次得看init的源碼了。
作者: 一朝成名    時間: 2009-11-13 23:34
你的顯卡不管了?又開始搞啥了
作者: wangkj    時間: 2009-11-14 08:32
同步進行
作者: wangkj    時間: 2009-11-21 10:09
ubuntun的默認是不能編譯內核的,必須安裝開發工具:

apt-install dpkg-dev

否則,內核連下載都下載不了。apt-get source 內核會出錯。
作者: wangkj    時間: 2010-8-18 17:29
自己筆記自己看。
作者: 8051    時間: 2010-8-29 14:20
好東西!
為了下載個東西,被迫回復。唉。。。。。。
作者: 風中飛絮    時間: 2010-9-6 09:30
學習




歡迎光臨 電子工程網 (http://m.4huy16.com/) Powered by Discuz! X3.4