特殊:Badtitle/NS100:InitNG
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/InitNG }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/af | • {{#if: UbuntuHelp:InitNG|Afrikaans| [[::InitNG/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ar | • {{#if: UbuntuHelp:InitNG|العربية| [[::InitNG/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/az | • {{#if: UbuntuHelp:InitNG|azərbaycanca| [[::InitNG/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/bcc | • {{#if: UbuntuHelp:InitNG|جهلسری بلوچی| [[::InitNG/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/bg | • {{#if: UbuntuHelp:InitNG|български| [[::InitNG/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/br | • {{#if: UbuntuHelp:InitNG|brezhoneg| [[::InitNG/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ca | • {{#if: UbuntuHelp:InitNG|català| [[::InitNG/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/cs | • {{#if: UbuntuHelp:InitNG|čeština| [[::InitNG/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/de | • {{#if: UbuntuHelp:InitNG|Deutsch| [[::InitNG/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/el | • {{#if: UbuntuHelp:InitNG|Ελληνικά| [[::InitNG/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/es | • {{#if: UbuntuHelp:InitNG|español| [[::InitNG/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/fa | • {{#if: UbuntuHelp:InitNG|فارسی| [[::InitNG/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/fi | • {{#if: UbuntuHelp:InitNG|suomi| [[::InitNG/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/fr | • {{#if: UbuntuHelp:InitNG|français| [[::InitNG/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/gu | • {{#if: UbuntuHelp:InitNG|ગુજરાતી| [[::InitNG/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/he | • {{#if: UbuntuHelp:InitNG|עברית| [[::InitNG/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/hu | • {{#if: UbuntuHelp:InitNG|magyar| [[::InitNG/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/id | • {{#if: UbuntuHelp:InitNG|Bahasa Indonesia| [[::InitNG/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/it | • {{#if: UbuntuHelp:InitNG|italiano| [[::InitNG/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ja | • {{#if: UbuntuHelp:InitNG|日本語| [[::InitNG/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ko | • {{#if: UbuntuHelp:InitNG|한국어| [[::InitNG/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ksh | • {{#if: UbuntuHelp:InitNG|Ripoarisch| [[::InitNG/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/mr | • {{#if: UbuntuHelp:InitNG|मराठी| [[::InitNG/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ms | • {{#if: UbuntuHelp:InitNG|Bahasa Melayu| [[::InitNG/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/nl | • {{#if: UbuntuHelp:InitNG|Nederlands| [[::InitNG/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/no | • {{#if: UbuntuHelp:InitNG|norsk| [[::InitNG/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/oc | • {{#if: UbuntuHelp:InitNG|occitan| [[::InitNG/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/pl | • {{#if: UbuntuHelp:InitNG|polski| [[::InitNG/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/pt | • {{#if: UbuntuHelp:InitNG|português| [[::InitNG/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ro | • {{#if: UbuntuHelp:InitNG|română| [[::InitNG/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/ru | • {{#if: UbuntuHelp:InitNG|русский| [[::InitNG/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/si | • {{#if: UbuntuHelp:InitNG|සිංහල| [[::InitNG/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/sq | • {{#if: UbuntuHelp:InitNG|shqip| [[::InitNG/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/sr | • {{#if: UbuntuHelp:InitNG|српски / srpski| [[::InitNG/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/sv | • {{#if: UbuntuHelp:InitNG|svenska| [[::InitNG/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/th | • {{#if: UbuntuHelp:InitNG|ไทย| [[::InitNG/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/tr | • {{#if: UbuntuHelp:InitNG|Türkçe| [[::InitNG/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/vi | • {{#if: UbuntuHelp:InitNG|Tiếng Việt| [[::InitNG/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/yue | • {{#if: UbuntuHelp:InitNG|粵語| [[::InitNG/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/zh | • {{#if: UbuntuHelp:InitNG|中文| [[::InitNG/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/zh-hans | • {{#if: UbuntuHelp:InitNG|中文(简体)| [[::InitNG/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:InitNG | UbuntuHelp:InitNG | {{#if: | :}}InitNG}}/zh-hant | • {{#if: UbuntuHelp:InitNG|中文(繁體)| [[::InitNG/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:InitNG|:InitNG|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :InitNG/zh | | {{#ifexist: InitNG/zh | | {{#ifeq: {{#titleparts:InitNG|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:InitNG|1|-1|}} | zh | | }}
Introduction
(quick note: dapper package currently broken, location for repo/download has kinda moved, check http://blog.space-based.de/2006/05/initngs-apt-repo-has-a-new-home/ for more info, but you can build initng with no dependency problems from the source package)
note since Edgy sysvinit has been replaced with upstart, which has similar features to InitNG) |
Init System, Next Generation Initng is a full replacement of the old and in many ways deprecated sysvinit tool. It is designed with speed in mind, doing as much as possible asynchronously. In other words: It will boot your Unix-system much faster, and give you more control and statistics over your system. The basic premise is that startup commands can be launched as soon as their dependencies are met. This limits the effect of bottlenecks like I/O operations; while one program is performing I/O, another can be utilizing the processor. Initng tracks the individual service dependencies in its configuration files. It is designed to use a minimum of system resources and to boot your system quickly and safely.
- It is currently available as a DEB for i386 and amd64.
- For PPC Architecture look here (German)
- There is no repository yet.
- The most recent initng version is 0.6.7.
- The most recent initng-ifiles version is 0.0.5.
- These instructions are for Ubuntu Dapper (from initng 0.6.0).
Installation
If you are upgrading or downgrading, it is recommended that you boot into Ubuntu via a normal boot and uninstall the old version first (e.g. in Synaptic). As of version 0.6.0, InitNG has been split into two DEB files; the first package (initng) contains the program itself while the second (initng-ifiles) contains the various scripts InitNG needs. As initng is dependent on initng-ifiles, initng will not properly install unless initng-ifiles is either installed first or at the same time.
Version 0.6.7
These instructions were tested on Dappper.
- Add the following lines to /etc/apt/sources.list (don't forget to do apt-get update after it):
deb http://debian.space-based.de/debs/ experimental main deb-src http://debian.space-based.de/debs/ experimental main
You can also add these repositories via Synaptic (GUI) by following these instructions.
- Build initng from source package to avoid dependency problems (copy and paste both lines together into the terminal):
sudo apt-get install build-essential && sudo apt-get source initng && sudo apt-get build-dep initng && cd initng-0.6.7 && sudo dpkg-buildpackage && cd ../
- Install packages initng and initng-ifiles:
sudo dpkg -i initng_0.6.7*.deb && sudo apt-get install initng-ifiles
You can also install initng-ifiles and initng via Synaptic. Start Synaptic, and search for "initng-ifiles." Once done installing initng-ifiles, search for and install initng. If you are having dependency issues with initng, follow these instructions.
- (if this is a new installation) edit your GRUB list:
gksu gedit /boot/grub/menu.lst
Make a duplicate Ubuntu entry and rename its title to something like Ubuntu (InitNG). At the end of the kernel line, add:
init=/sbin/initng
Once you have made a duplicate entry, your list should look like this, because you duplicated the first entry. Therefore, the second entry should look exactly like the first entry with the exception of the difference in title, and the addition of "init=/sbin/initng" to the kernel line:
title Ubuntu (InitNG) root (hd0,4) kernel /boot/vmlinuz-2.6.15-25-386 root=/dev/hda5 ro quiet splash init=/sbin/initng initrd /boot/initrd.img-2.6.15-25-386 savedefault boot title Ubuntu, kernel 2.6.15-25-386 root (hd0,4) kernel /boot/vmlinuz-2.6.15-25-386 root=/dev/hda5 ro quiet splash initrd /boot/initrd.img-2.6.15-25-386''' savedefault boot
- To ensure that it boots to GUI session, run the following command:
sudo ng-update add daemon/gdm
- Remove the debian specific network script (for Dapper), or it will not work properly:
sudo ng-update del ifupdown-debian
- Because the path to modprobe and alsactl are different between debian and ubuntu, we need to create some link
sudo ln -s /sbin/alsactl /usr/sbin/alsactl sudo ln -s /sbin/modprobe /usr/sbin/modprobe
- Now you will need to configure the runlevel to fit your system.
- If you have a printer, add cupsd : 'sudo ng-update add daemon/cupsd'
- If you use an HP printer, you will also need to add hpssd and hpiod : 'sudo ng-update add daemon/hpiod daemon/hpssd'
- If you use NetworkManager, the Novell's tool to manage network, follow NM this
- To use vmware follow vmware this
- If your processor don't use speedstep, remove it : 'sudo ng-update del system/speedstep'
- If acpi is disabled at startup, you need to remove acpid : 'sudo ng-update del daemon/acpid'
- If you use fuse to have read access on an NTFS partition, you have to do a fuse little tweak
- Users of AIGLX need to do a aiglx little change to
- And probably more. If you need help go to the Forums Thread or join #initng on freenode
- To configure and manage InitNG, you can also install a gui. More information gui there
- To be able to see the wonderfull ubuntu usplash at startup, follow usplash this
- Reboot (using the InitNG GRUB entry) and enjoy the speed
NetworkManager with InitNG
First be sure that you comment out the line of the interface you want to control with NM in /etc/network/interfaces as mentioned here To use NetworkManager, simply add it to the runlevel:
sudo ng-update add NetworkManager
You will have to modify the script, therefore, open it in a text editor with the following line:
gksu gedit /etc/initng/daemon/NetworkManager.i
Clear the entire file (CTRL-A for "Select All," and then delete the text), and replace it with this:
#!/sbin/itype # This is a i file, used by initng parsed by install_service service daemon/NetworkManager/prepare { need = system/bootmisc; script start = { [ -d /var/lib/NetworkManager ] || /bin/mkdir -p /var/lib/NetworkManager [ -d /var/run/NetworkManager ] || /bin/mkdir -p /var/run/NetworkManager chmod 755 /var/lib/NetworkManager }; } daemon daemon/NetworkManager { need = system/bootmisc daemon/dbus daemon/NetworkManager/prepare system/modules/capability daemon/hald daemon/dhcdbd; exec daemon = /usr/sbin/NetworkManager; pid_file = /var/run/NetworkManager/NetworkManager.pid; forks; }
You will also need to modify dhcdbd
gksu gedit /etc/initng/daemon/dhcdbd.i
and replace the following:
exec daemon = /usr/sbin/dhcdbd --system;
with the line below:
exec daemon = /sbin/dhcdbd --system;
Restart and that should solve the problem Anchor(vmware)
Vmware with InitNG
The script provide by initng to run vmware don't do exactly what we want. A workaround is to launch the sysvinit script instead . That's quite simple:
- First we need to create a new script, that we will call vmware2.i
gksu gedit /etc/initng/daemon/vmware2.i
And past this in it.
#!/sbin/itype service daemon/vmware2 { need = system/bootmisc virtual/net; exec start = /etc/init.d/vmware-player start; exec stop = /etc/init.d/vmware-player stop; }
(!) You will probably have to change /etc/init.d/vmware-player by the one you have in /etc/init.d, this one is for vmware-plyer install from the repository, and so the name of the script may change if you install an other version of vmware save and exit
- Add this script to the runlevel
sudo ng-update add daemon/vmware2
- Restart and that's done.
Using fuse with InitNG
In order to mount NTFS partition with read access using fuse, you need to load the fuse module before your NTFS partition is mounted. So we need to tweak a bit the moutfs.i script:
- Open mountfs.i
gksu gedit /etc/initng/system/mountfs.i
- At line 5, change
need = system/initial system/mountroot system/checkfs;
to
need = system/initial system/mountroot system/checkfs system/modules;
- And that's all. Easy, isn't it.
Get running AIGLX with InitNG
The latest version of AIGLX need the latest driver to work. They are provide by the linux-dri-module package which provide also a script to load them at startup. This is a sysvinit script. We need to do the same for InitNG.
- Open modules.i
gksu gedit /etc/initng/system/modules.i
- At line 44, you will see the following lines:
if [ -x /sbin/lrm-manager ] then /sbin/lrm-manager --quick fi wait
This launch the linux-restricted-module. We will use the same structure to launch the linux-dri-module. So just after that, add the following:
if [ -x /sbin/ldm-manager ] then echo "Loading DRI..." /sbin/ldm-manager --quick fi wait
- And that's all.
Usplash with InitNG
The usplash support is not compiled by default, but you can enable it easily. IMPORTANT : You will need at least initng version 0.6.7
- First, download this package and install it.
- Change your kernel line:
gksu gedit /boot/grub/menu.lst
At the end, in your intng entry change the option of your kernel line to:
ro quiet init=/sbin/initng-usplash splash
- Restart and enjoy.
Initng-conf-gtk
Daniel Malmgren has made a wonderfull gui to configure initNG "With initng-conf-gtk you can easily start, stop and restart services and daemons. A nice feature is that all service states are updated in realtime. It also features an easy to use runlevel editor where you can create new runlevels, modify existing ones and the possibility to edit services and daemons (to reach this functionality simply double click a row in the service list)." You can download here, which is the debian package of this great application. Just install it and it should be in the System Tools menu (if it is not, just launch sudo initng-conf-gtk in a terminal).
External Links
- InitNG Homepage
- Trigger's Blog (announces DEB packages)
- Ubuntu Forums Thread (see the most recent posts for current version info)
- InitNG Bugzilla
See also
- IdeaPool
- MakeItFly
- ReplacementInit