關於在linux系統下自啓動的一些常識

Ubuntu 中系統沒有了RH系統中的chkconfig 命令!
可用一些小工具來管理 Ubuntu 的啓動選項:
小工具 rcconf:
#sudo apt-get rcconf
#sudo apt-get install rcconf
root 下運行: #sudo rcconf
功能更全的工具:sysv-rc-conf
#sudo apt-get update
#sudo apt-get install sysv-rc-conf
運行:#sudo sysv-rc-conf
也可以直接加入啓動程序,例如把 /etc/init.d/red5 加入到系統自動啓動列表中:
#sudo sysv-rc-conf red5 on
其他使用方法見: google::Ubuntu::sysv-rc-conf 命令用法
也可以直接修改

直接改 /etc/rc0.d ~ /etc/rc6.d 和/etc/rcS.d 下的東西,S開頭的表示啓動,K開頭的表示不啓動,
例如:想關閉 Red5 的開機自動啓動,只需 #sudo mv /etc/rc2.d/S20red5/etc/rc2.d/K20red5
就可以了。
Ubuntu自動啓動程序
首先,linux隨機啓動的服務程序都在/etc/init.d這個文件夾裏,裏面的文件全部都是腳本文件(腳本程序簡單的說就是把要運行的程序寫到一個
文件裏讓系統能夠按順序執行,類似windows下的autorun.dat文件),另外在/etc這個文件夾裏還有諸如名爲rc1.d,
rc2.d一直到rc6.d的文件夾,這些都是linux不同的runlevel,我們一般進入的X
windows多用戶的運行級別是第5級,也就是rc5.d,在這個文件夾下的腳本文件就是運行第5級時要隨機啓動的服務程序。需要注意的是,在每個rc
(1-6).d文件夾下的文件其實都是/etc/init.d文件夾下的文件的一個軟連接(類似windows中的快捷方式),也就是說,在
/etc/init.d文件夾下是全部的服務程序,而每個rc(1-6).d只鏈接它自己啓動需要的相應的服務程序!
要啓動scim(某一程序),我們首先要知道scim程序在哪裏,用locate命令可以找到,scim在/usr/bin/scim這裏,其中usr表
示是
屬於用戶的,bin在linux裏表示可以執行的程序。這樣,我就可以編寫一個腳本程序,把它放到/etc/init.d裏,然後在rc5.d裏做一個相
應的軟鏈接就可以了。
這個腳本其實很簡單,就兩行:
#!/bin/bash
/usr/bin/scim
第一行是聲明用什麼終端運行這個腳本,第二行就是要運行的命令。
還需要注意的一點是,在rc5.d裏,每個鏈接的名字都是以S或者K開頭的,S開頭的表示是系統啓動是要隨機啓動的,K開頭的是不隨機啓動的。這
樣,你就可以知道,如果我要哪個服務隨機啓動,就把它名字第一個字母K改成S就可以了,當然,把S改成K後,這個服務就不能隨機啓動了。因此,我這個鏈接
還要起名爲SXXX,這樣系統才能讓它隨機啓動。
在RH下,rc.local是默認啓動的最後一個腳本文件,所以,如果你想要隨機啓動,還有一種方法就是在rc.local的尾部加入/usr/bin/scim,這樣就可以了。Linux自動啓動程序
1.開機啓動時自動運行程序
Linux加載後, 它將初始化硬件和設備驅動,然後運行第一個進程init。init根據配置文件繼續引導過程,啓動其它進程。通常情況下,修改放置在
/etc/rc或 /etc/rc.d 或 /etc/rc?.d目錄下的腳本文件,可以使init自動啓動其它程序。例如:編輯
/etc/rc.d/rc.local
文件(該文件通常是系統最後啓動的腳本),在文件最末加上一行“xinit”或“startx”,可以在開機啓動後直接進入X-Window。
2.登錄時自動運行程序
用戶登錄時,bash首先自動執行系統管理員建立的全局登錄script
:/ect/profile。然後bash在用戶起始目錄下按順序查找三個特殊文件中的一個:/.bash_profile、/.bash_login、
/.profile,但只執行最先找到的一個。
因此,只需根據實際需要在上述文件中加入命令就可以實現用戶登錄時自動運行某些程序(類似於DOS下的Autoexec.bat)。
3.退出登錄時自動運行程序
退出登錄時,bash自動執行個人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令“tar-cvzf
c.source.tgz *.c”,則在每次退出登錄時自動執行 “tar” 命令備份 *.c 文件。
4.定期自動運行程序
Linux有一個稱爲crond的守護程序,主要功能是週期性地檢查
/var/spool/cron目錄下的一組命令文件的內容,並在設定的時間執行這些文件中的命令。用戶可以通過crontab
命令來建立、修改、刪除這些命令文件。
例如,建立文件crondFile,內容爲“00 9 23 Jan * HappyBirthday”,運行“crontab
cronFile”命令後,每當元月23日上午9:00系統自動執行“HappyBirthday”的程序(“*”表示不管當天是星期幾)。

5.定時自動運行程序一次
定時執行命令at 與crond 類似(但它只執行一次):命令在給定的時間執行,但不自動重複。at命令的一般格式爲:at [ -ffile ]
time ,在指定的時間執行file文件中所給出的所有命令。也可直接從鍵盤輸入命令:
$ at 12:00
at>mailto Roger -s ″Have a lunch″ <plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00
2000-11-09 12:00時候自動發一標題爲“Have a lunch”,內容爲plan.txt文件內容的郵件給Roger。?912:00
2000-11-09 12:00時候自動發一標題爲“Have a
lunch”,內容爲plan.txt文件內容的郵件給Roger。er。ger。er。
Ubuntu 開機自動掛載windows分區
要掛載NTFS格式分區,需要NTFS-3g這個軟件。它短小精悍,而且功能強大。
NTFS-3g是一個開源軟件,它支持在Windows下面讀寫NTFS格式的分區。它非常的快速,同時也很安全。它支持Windows
2000、XP和2003,並且支持所有的符合POSIX標準的磁盤操作。
首先要編輯sources.list
#sudo gedit /etc/apt/sources.list
Ubuntu Drapper添加:
deb
http://givre.cabspace.com/ubuntu/dapper main main-all
deb
http://ntfs-3g.sitesweetsite.info/ubuntu/dapper main main-all
deb
http://flomertens.keo.in/ubuntu/dapper main main-all

Ubuntu Edgy添加:
deb
http://givre.cabspace.com/ubuntu/edgy main
deb
http://ntfs-3g.sitesweetsite.info/ubuntu/edgy main
deb
http://flomertens.keo.in/ubuntu/edgy main

同時必須導入GPG-Key,可以這樣:
#wget
http://flomertens.keo.in/ubuntu/givre_key.asc-O- | sudo apt-key add
-
#wget
http://givre.cabspace.com/ubuntu/givre_key.asc-O- | sudo apt-key
add -

現在更新一下源:
#sudo aptitude update
正式安裝
在“終端”下面運行:
#sudo apt-get install ntfs-3g
配置NTFS-3g
首先看一些硬盤分區的分區類型

#sudo fdisk -l
現在就可以修改 /etc/fstab,來讓Ubuntu啓動的時候自動掛載NTFS分區了。但是首先請備份一下這個文件:
#sudo cp /etc/fstab /etc/fstab.bak
建立掛載點,譬如掛載在 /media/windows 下面
#sudo mkdir /media/windows
現在可以在 /etc/fstab 的後面添加
/dev/hda1 /media/ ntfs-3g defaults,locale=zh_CN.utf8 0 0
根據自己的情況進行修改。
一些示例
掛載 /dev/hda3
添加 /dev/hda3 /media/windows ntfs-3g ro,locale=zh_CN.utf8,uid=1000 00
關於自己的locale
可以用下面的命令查看所有的locale
#locale -a
如果不想重新啓動,就可以
#sudo umount -a
#sudo mount -a

最後一個掛載FAT分區的命令
#sudo mount /dev/hda3 /media/windows/ -t vfat -oiocharset=utf8,umask=000
當然可以在/etc/fstab裏面添加
/dev/hda3 /media/windows vfat iocharset=utf8,umask=000 0 0
Openfire隨着Ubuntu自動啓動
openfire缺省情況下,是不隨機啓動的。爲了解決每次都要手工啓動的麻煩,我編寫了一個腳本,放在/etc/init.d目錄裏面
#sudo vim /etc/init.d/openfire
內容如下:
#!/bin/sh
openfire_start(){
/etc/openfire/bin/openfire start
}
openfire_stop(){
/etc/openfire/bin/openfire stop
}
case $1 in
start)
openfire_start
;;
stop)

openfrie_stop
;;
*)
echo ‘Usagepenfire start|stop’
;;
esac

發佈了33 篇原創文章 · 獲贊 8 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章