第 16 章 设备管理

16.1. Debian/Ubuntu

16.1.1. update-rc.d - install and remove System-V style init script links

for example:

Insert links using the defaults:
   update-rc.d foobar defaults
Equivalent command using explicit argument sets:
   update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
More typical command using explicit argument sets:
   update-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 .
Insert links at default runlevels when B requires A
   update-rc.d script_for_A defaults 80 20
   update-rc.d script_for_B defaults 90 10
Insert a link to a service that (presumably) will not be needed by any other daemon
   update-rc.d top_level_app defaults 98 02
Insert links for a script that requires services that start/stop at sequence number 20
   update-rc.d script_depends_on_svc20 defaults 21 19
Remove all links for a script (assuming foobar has been deleted already):
   update-rc.d foobar remove
Example of disabling a service:
   update-rc.d -f foobar remove
   update-rc.d foobar stop 20 2 3 4 5 .
Example of a command for installing a system initialization-and-shutdown script:
   update-rc.d foobar start 45 S . stop 31 0 6 .
Example of a command for disabling a system initialization-and-shutdown script:
   update-rc.d -f foobar remove
   update-rc.d foobar stop 45 S .
		

set default

update-rc.d nginx defaults
		

remove

update-rc.d -f lighttpd remove
$ sudo update-rc.d -f avahi-daemon remove
		

16.1.2. invoke-rc.d - executes System-V style init script actions

$ sudo invoke-rc.d mysql restart
		

16.1.3. runlevel

$ runlevel
N 2

# runlevel
N 3
		
$ sudo vim /etc/init.d/rcS
#! /bin/sh
#
# rcS
#
# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order
#

exec /etc/init.d/rc S
		

the default is S (/etc/rcS.d/)

the redhat linux in the /etc/inittab

switch runlevel

/etc/init.d/rc 3
		

16.1.4. sysv-rc-conf

(ubuntu下sysv-rc-conf命令等同redhat下chkconfig命令)

$ sudo apt-get install sysv-rc-conf
		

进入sysv-rc-conf TUI用户界面,你可以使用键盘方向键切换,使用空格键选择“X”表示选中,这个软件也支持鼠标操作。

$ sudo sysv-rc-conf
		
sysv-rc-conf gmond on
sysv-rc-conf --list gmond
		

16.1.5. xinetd - replacement for inetd with many enhancements

$ sudo apt-get install xinetd
		

16.1.5.1. tftpd

apt-get install xinetd
apt-get install tftpd tftp
			

/etc/xinetd.d/tftp

service tftp
{
	disable=no
	socket_type=dgram
	protocol =udp
	wait=yes
	user=root
	server=/usr/sbin/in.tftpd
	server_args =-s /home/neo/tftpboot -c
	per_source=11
	cps=100 2
	flags=IPv4
}
			

16.1.6. Scheduled Tasks

16.1.6.1. crontab - maintain crontab files for individual users

To see what crontabs are currently running on your system, you can open a terminal and run:

$  crontab -l
# m h  dom mon dow   command
#* */30 * * * /home/neo/dyndns
			

if you want to see root user, please add 'sudo' in the prefix.

To edit the list of cron jobs you can run:

$ crontab -e
			

As you can see there are 5 stars. The stars represent different date parts in the following order:

  1. minute (from 0 to 59)
  2. hour (from 0 to 23)
  3. day of month (from 1 to 31)
  4. month (from 1 to 12)
  5. day of week (from 0 to 6) (0=Sunday)

By default cron jobs sends a email to the user account executing the cronjob. If this is not needed put the following command At the end of the cron job line .

>/dev/null 2>&1

16.1.6.2. at, batch, atq, atrm - queue, examine or delete jobs for later execution

16.1.7. sv - control and manage services monitored by runsv

services directory /etc/service/

$ sudo sv start git-daemon
ok: run: git-daemon: (pid 10323) 1s

$ sudo sv restart git-daemon
ok: run: git-daemon: (pid 10327) 1s

$ sudo sv stop git-daemon
ok: down: git-daemon: 1s, normally up
		

16.1.7.1. runsv

$ sudo runsv git-daemon
			

16.1.7.2. runsvdir

运行/etc/service目录下的所有服务

$sudo runsvdir /etc/service &

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

时间: 2024-09-20 12:22:15

第 16 章 设备管理的相关文章

《Swift开发实战》——第16章,第16.1节下标脚本语法

第16章 下标脚本 Swift开发实战 在Swift语言中,类(class).结构体(structure)和枚举(enumeration)等目标中定义下标脚本,被认为是访问对象.集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法.在本章的内容中,将详细讲解Swift下标脚本的基本知识. 16.1 下标脚本语法 在Swift语言中,可以使用下标脚本访问一个数组(Array)实例中的元素,参见如下所示的格式. someArray[index] 在访问字典(Dictionary)实例中的元素

求大神解答一下-C++ primer plus 第6版 中文版 第16章复习题的一个问题

问题描述 C++ primer plus 第6版 中文版 第16章复习题的一个问题 奇葩的是课后居然没答案...... 求正规.严谨.简洁的标准答案! 程序清单16.15(在p708页):functor.cpp //functor.cpp--using a functor #include尖括号iostream尖括号 #include尖括号list尖括号 #include尖括号iterator尖括号 #include尖括号algorithm尖括号 template//functor class

第16章 观察者模式(Oberver Pattern)

原文  第16章 观察者模式(Oberver Pattern) 观察者模式      概述:           在软件构建过程中,我们需要为某些对象建立一种"通知依赖关系" --一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合.         定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时

[叩响C#之门]第16章 委托和事件 16.4 事件处理机制

16.4 事件处理机制 16.4.1 事件处理机制的原理 我们已经知道,Windows应用程序是需要事件驱动的,当一个窗体应用程序启动后,系统就不停的检测是否有事件发生,如果检测到事件,就执行对应的事件处理程序.

《Swift开发实战》——第16章,第16.3节下标脚本选项

16.3 下标脚本选项 在Swift语言中,下标脚本允许任意数量的入参索引,并且每个入参类型也没有限制.下标脚本的返回值也可以是任何类型,下标脚本可以使用变量参数和可变参数.但是如果使用写入读出(in-out)参数或给参数设置默认值,这些操作都是不允许的. 在Swift语言中,可以在一个类或结构体中根据自身需要提供多个下标脚本实现.在定义下标脚本时通过入参个类型进行区分,使用下标脚本时会自动匹配合适的下标脚本实现运行,这就是下标脚本的重载. 在Swift程序中,一个下标脚本入参是最常见的情况,但

《Swift开发实战》——第16章,第16.2节下标脚本用法

16.2 下标脚本用法 在Swift语言中,根据使用场景的不同,下标脚本也具有不同的含义.通常下标脚本是用来访问集合(collection).列表(list)或序列(sequence)中元素的快捷方式.开发者可以在自己特定的类或结构体中,灵活地实现下标脚本来提供合适的功能. 例如,Swift 的字典(Dictionary)实现了通过下标脚本来对其实例中存放的值进行存取操作.在下标脚本中使用和字典索引相同类型的值,并且把一个字典值类型的值赋值给这个下标脚本来为字典设值.参见如下所示的演示代码. v

第 16 章 信息安全

SQL注入,OS命令注入,缓冲溢出.跨站脚本.缺少验证.缺少认证.使用硬编码证书.敏感数据忘记加密.不受限制上传文件类型.依赖不可信的输入.用不必要的高级权限执行任务.跨站请求伪造.... 16.1. CSRF(Cross-site request forgery)跨站请求伪造 CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF 原文出处:Netkiller

lua面向对象编程 《lua程序设计》 16章 笔记

Lua中的table就是一种对象,即它拥有状态.拥有独立于其值的标识(self).table与对象一样具有独立于创建者和创建地的征集周期 什么叫对象拥有独立的生命周期? Account = {balance = 0} function Account.withdraw(v) Account.balance = Acount.balance-v end --则可进行如下调用 Account.withdraw(v) --[[在函数中使用全局名称Account不是个了习惯 因为这个函数只能针对特定对象

第 16 章 nginx

pkg_add -r nginx location / { root /usr/local/www/nginx; index index.html index.htm; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name; includ