拒绝发送到目标的作业
命令描述
参考cupsaccept(8)手册
参考文献
man 8 cupsaccept, Version 2.2.8-5
更新日志
11/04/2018 创建文章[……]
拒绝发送到目标的作业
命令描述
参考cupsaccept(8)手册
参考文献
man 8 cupsaccept, Version 2.2.8-5
更新日志
11/04/2018 创建文章[……]
内容: 介绍cURL。
Version 7.50
curl是一个命令行工具,用于从服务器获取数据或者向服务器发送数据,支持的协议有:
DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,
IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS,
SMTP, SMTPS, TELNET, TFTP
curl提供了一大堆功能,比如支持代理、用户认证、FTP上传、HTTP POST、SSL链接、cookie、Metalink、文件传输恢复等。正如手册所说:
As you will see below, the number of features will make your head spin!
curl依赖于libcurl库,”man 3 libcurl“查看libcurl的详细信息。
CentOS Linux release 7.9.2009 (Core)
安装最新版本:
# vim /etc/yum.repos.d/city-fan.repo
[CityFan]
name=City Fan Repo
baseurl=http://www.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch/
enabled=1
gpgcheck=0
# yum clean all
# yum install curl
安装的可执行程序
curl is a command line tool for transferring files with URL syntax.
curl-config prints information about the last compile, like libraries linked to and prefix setting.
参考文献
Homepage: http://curl.haxx.se Doc: https://curl.haxx.se/docs/manpage.html Wiki: https://en.wikipedia.org/wiki/CURL yum – Upgrade cURL to latest on CentOS – Server Fault[……]
[……]
===== URL
The URL syntax is protocol-dependent. You’ll find a detailed description in RFC 3986.
You can specify multiple URLs or parts of URLs by writing part sets within braces as in:
http://site.{one,two,three}.com
or you can get sequences of alphanumeric series by using [] as in:
ftp://ftp.example.com/file[1-100].txt
ftp://ftp.example.com/file[001-100].txt (with leading zeros)
ftp://ftp.example.com/file[a-z].txt
Nested sequences are not supported, but you can use several ones next to each other:
http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order.
You can specify a step counter for the ranges to get every Nth number or letter:
http://example.com/file[1-100:10].txt
http://example.com/file[a-z:2].txt
When using [] or {} sequences when invoked from a command line prompt, you probably have to put the full URL within double quotes to
avoid the shell from interfering with it. This also goes for other characters treated special, like for example ‘&’, ‘?’ and[……]
debconf
debconf-apt-progress
debconf-communicate
debconf-copydb
debconf-escape
debconf-set-selections
debconf-show
dpkg-preconfigure
dpkg-reconfigure[……]
让包在安装之前提出问题
命令语法格式
dpkg-preconfigure [options] package.deb
dpkg-preconfigure –apt
命令描述
命令dpkg-preconfigure允许包在安装之前提出问题。 它在一组debian软件包上运行,所有使用debconf的软件包都会运行配置脚本,以便检查系统并提出问题。
命令支持的选项及含义
-ftype, –frontend=type 选择要使用的前端。
-pvalue, –priority=value 设置您感兴趣的问题的最低优先级。任何优先级低于所选优先级的问题都将被忽略,并且将使用其默认答案。
–terse 启用简洁输出模式。 这只会影响一些前端。
–apt 以apt模式运行。 它期望从标准输入中读取一组包文件名,而不是将它们作为参数。 通常,这用于在安装之前在所有包上运行apt run dpkg-preconfigure。 为此,请将这样的内容添加到/etc/apt/apt.conf:
// Pre-configure all packages before
// they are installed.
DPkg::Pre-Install-Pkgs {
“dpkg-preconfigure –apt –priority=low”;
};
-h, –help 显示使用方法帮助。
相关手册
debconf(7)
参考文献
man 8 dpkg-preconfigure, Version 1.5.66
更新日志
11/04/2018 创建文章[……]
重新配置已经安装的包
命令语法格式
dpkg-reconfigure [options] packages
命令描述
命令dpkg-reconfigure在已安装软件包后重新配置它们。 将一个或多个包的名称传递给它,以进行重新配置。 它会询问配置问题,就像首次安装软件包时一样。
如果您只想查看软件包的当前配置,请参阅debconf-show(1)。
命令支持的选项及含义
-ftype, –frontend=type 选择要使用的前端。 默认前端可以通过以下方式永久更改:
dpkg-reconfigure debconf
请注意,如果您通常将debconf设置为使用非交互式前端,则dpkg-reconfigure将使用对话框前端,因此您实际上可以重新配置该包。
-pvalue, –priority=value 指定将显示的问题的最低优先级。 无论您的默认优先级是什么,dpkg-reconfigure通常都会显示低优先级问题。 有关列表,请参阅debconf(7)。
–default-priority 使用问题的默认优先级,而不是将优先级强制为”low“。
-u, –unseen-only 默认情况下,即使已经回答了问题,也会显示所有问题。 如果设置了此参数,则仅询问尚未看到的问题。
–force 强制dpkg-reconfigure重新配置包,即使包处于不一致或损坏状态。 谨慎使用。
–no-reload 防止dpkg-reconfigure重新加载模板。 谨慎使用;这将阻止dpkg-reconfigure修复损坏的模板数据库。 但是,在重写模板数据库的代价很高的环境中,它可能很有用。
-h, –help 显示使用帮助
相关手册
debconf(7)
参考文献
man 8 dpkg-reconfigure, Version 1.5.66
更新日志
11/04/2018 创建文章[……]
debianutils,这个包提供了许多小程序,这些主要由Debian包的安装脚本使用,也可以直接使用它们。 这些程序有:
add-shell
installkernel
ischroot
remove-shell
run-parts
savelog
tempfile
which
该软件包是Debian系统自带的,如果要安装可以执行apt-get install debianutils命令。
包含的程序列表及作用
add-shell 用于向/etc/shells文件中添加SHELL。
remove-shell 与add-shell相反,该命令用于从/etc/shells文件中移除SHELL。
installkernel 该命令用于安装一个新的内核镜像。
ischroot 用于监测当前是否运行在chroot环境中。
run-parts 用于运行一个目录中的程序或者脚本文件。
savelog 该命令用于保存日志文件。
tempfile 该命令用于创建一个临时文件。
which which命令可以用于定位一个命令。比如,你想知道当你执行ls命令时这个ls命令位于哪个目录中,你就可以使用which ls,该命令会输出ls命令所在的目录。
参考文献
dpkg -L debianutils
各个命令的man手册
更新日志
2018/05/18 创建文章[……]
命令行语法格式
run-parts [–test] [–verbose] [–report] [–lsbsysinit] [–regex=RE] [–umask=umask] [–arg=argument] [–exit-on-error] [–help] [–version] [–list] [–reverse] [–] DIRECTORY
run-parts -V
命令简述
run-parts会运行DIRECTORY目录中所有的可执行文件,但是文件名要符合下面的要求。其他的文件和目录则会被忽略。
如果既没有给出–lsbsysinit选项也没有给出–regex选项,那么这些名称只能由ASCII大小写字母、ASCII数字、ASCII下划线、ASCII减号连字符组成。
如果给出–lsbsysinit选项,则名称不得以.dpkg-old或.dpkg-dist或.dpkg-new或.dpkg-tmp结尾,并且必须属于以下一个或多个名称空间:
LANANA分配的命名空间 (^[a-z0-9]+$);
LSB分层和保留的命名空间 (^_?([a-z0-9_.]+-)+[a-z0-9]+$);
Debian的cron脚本命名空间 (^[a-zA-Z0-9_-]+$);
如果给出–regex选项,则名称必须与该选项指定的正则表达式相匹配。
文件按其名称的词汇排序顺序(根据C/POSIX语言环境字符整理规则)运行。如果给出–reverse选项,则它们按相反的顺序运行。
命令支持的选项及含义
–test 打印会被run-parts运行的脚本的名称,但不会实际的运行这些脚本。
–list 打印所有匹配的文件名,不局限于可执行,没有执行权限的文件也会打印,但不会实际的去执行。 该选项不能与–test一起使用。
-v, –verbose 在运行前将每个脚本名打印到stderr。
–report 类似于–verbose,但只打印会生成输出的脚本的名称。脚本的名称被打印到脚本首先产生输出的STDUT或STDRR中的任何一个,。
–reverse 反转脚本的执行顺序。
–exit-on-error 一旦脚本以非零退出码返回,则退出。
–lsbsysinit 使用LSB命名空间,而不是默认的行为。
–new-session 在分离的进程回话中运行每一个脚本。如果你使用了这个选项,当你结束掉run-parts时并不会结束当前正在运行的脚本,它会一直运行到结束。
–regex=RE 使用正则表达式RE来验证文件名。参见下面的示例部分。
-u, –uma[……]
cmp Compares two files and reports whether or in which bytes they differ
diff Compares two files or directories and reports which lines in the files differ
diff3 Compares three files line by line
sdiff Merges two files and interactively outputs the results
参考文献
GNU/GNU Diffutils[……]
逐字节比较两个文件
命令语法格式
cmp [OPTION]… FILE1 [FILE2 [SKIP1 [SKIP2]]]
命令描述
逐字节比较两个文件。如果FILE不存在或者指定为“-”,则从标准输入中读取。
可选的SKIP1和SKIP2分别指定每个文件开头要跳过的字节数(默认为零)。
命令支持的选项及含义
需要提供给长选项的参数也需要提供给对应的短选项。
-b, –print-bytes 打印不相同的字节。
-i, –ignore-initial=SKIP 跳过输入的前SKIP个字节。
-i, –ignore-initial=SKIP1:SKIP2 跳过FILE1的前SKIP1字节和FILE2的前SKIP2字节。
-l, –verbose 输出字节数和不相同的字节。
-n, –bytes=LIMIT 最多比较LIMIT字节。
-s, –quiet, –silent 抑制所有正常输出。
–help 显示帮助信息并退出。
-v, –version 显示版本信息并退出。
附加说明 参数SKIP的值可以包含如下单位后缀:
kB 1000
K 1024
MB 1,000,000
M 1,048,576
GB 1,000,000,000
G 1,073,741,824
以及T、P、E、Z、Y。
退出状态
0 文件相同
1 文件不同
2 存在问题
相关手册
diff(1), diff3(1), sdiff(1)
查看Info手册:info cmp
参考文献
man 1 cmp, Version 13.5-3
更新日志
08/07/2018 创建文章[……]
逐行比较文件
命令语法格式
diff [OPTION]… FILES
命令描述
逐行比较FILES的内容。
参数FILES是’FILE1 FILE2’或’DIR1 DIR2’或’DIR FILE’或’FILE DIR’。如果给出–from-file或–to-file,则对FILE(S)没有限制。如果FILE是’-‘,则读取标准输入。
命令支持的选项及含义
需要提供给长选项的参数也需要提供给对应的短选项。
–normal 输出正常的比较结果(默认值)
-q, –brief 仅在文件不同时进行报告。
-s, –report-identical-files 在两个文件相同时,进行报告。
-c, -C NUM, –context[=NUM] 为文件的不同之处输出上下文的行,默认为“3”行。
-u, -U NUM, –unified[=NUM] 输出统一上下文的NUM行。参数NUM默认为“3”。
-e, –ed 输出ed脚本。
-n, –rcs 输出RCS格式的比较结果。
-y, –side-by-side 输出两列。
-W, –width=NUM 输出最多NUM(默认130)打印列
–left-column 仅在左侧输出公共行。
–suppress-common-lines 不要输出公共行。
-p, –show-c-function 显示每个变化所在的C函数。
-F, –show-function-line=RE 显示匹配RE的最近行
–label LABEL 使用LABEL,而不是文件名和时间戳(可以重复)
-t, –expand-tabs 在输出中,将制表符转化为空格。
-T, –initial-tab 通过添加制表符使标签对齐。
–tabsize=NUM 每NUM个打印列为一个TAB位。默认为“8”。
–suppress-blank-empty 在空输出行之前,抑制空格或制表符
-l, –paginate 将输出传递给’pr’,以对其进行分页。
-r, –recursive 递归地比较找到的所有子目录。
–no-dereference 不要解析符号链接。
-N, –new-file 将缺失的文件视为内容为空的文件。
–unidirectional-new-file 将缺失的第一个文件视为内容为空的文件。
–ignore-file-name-case 当比较文件名时忽略大小写。
–no-ignore-file-name-case 比较文件名时,不要忽略大小写。[……]
逐行比较三个文件
命令语法格式
diff3 [OPTION]… MYFILE OLDFILE YOURFILE
命令描述
逐行比较三个文件。
如果FILE是’-‘,则读取标准输入。
默认的输出格式为可读格式,反映了文件的变化。
命令支持的选项及含义
需要提供给长选项的参数也需要提供给对应的短选项。
-A, –show-all 输出所有更改,在括弧内显示冲突。
-m, –merge 输出实际合并文件。如果没有给出其他选项,根据-A选项。
最后,-m(–merge)选项使diff3在内部进行合并,并输出实际的合并文件。对于异常输入,这比使用ed更强大。
-a, –text 将所有的文件视为文本文件。
–strip-trailing-cr 截掉输入中的回车字符(CR)。
-T, –initial-tab
通过添加制表符(TAB)使标签对齐。
–diff-program=PROGRAM 使用PROGRAM程序来比较文件。
-L, –label=LABEL 使用LABEL,而不是文件名(文件名可以重复三次)。
-3, –easy-only 类似于-e选项,但只包含不重叠的更改。
输出ed脚本
选项-e、-E、-x、-X以及对应的长选项使diff3输出ed脚本,而不是输出默认的格式:
-e, –ed 输出ed脚本,将OLDFILE到YOURFILE的更改合并到MYFILE中
-E, –show-overlap 类似于-e选项,但是在括弧内显示冲突。
-x, –overlap-only 类似于-e选项,但只包含重叠的变化。
-X 类似于-x,但是在括弧内显示冲突。
-i 向ed脚本中追加“w”和“q”命令。
其他选项
–help 显示帮助信息并退出。
-v, –version 显示版本信息。
退出状态
0 输入文件相同
1 存在冲突
2 存在其他问题
相关手册
cmp(1), diff(1), sdiff(1)
查看Info手册:info diff3
参考文献
man 1 diff3, Version 13.5-3
GNU/GNU Diffutils/14 Invoking diff3
更新日志
08/08/2018 创建文章[……]
一起合并文件之间的不同
命令语法格式
sdiff [OPTION]… FILE1 FILE2
命令描述
一起合并文件FILE1与FILE2之间的不同。
如果FILE是’-‘,则读取标准输入。
命令支持的选项及含义
需要提供给长选项的参数也需要提供给对应的短选项。
-o, –output=FILE 以交互方式操作,将输出发送到FILE。
-i, –ignore-case 比较文件内容时,忽略大小写。
-E, –ignore-tab-expansion 忽略由TAB转义引起的内容不同。
-Z, –ignore-trailing-space 忽略行为的空格。
-b, –ignore-space-change 忽略空白数量的变化
-W, –ignore-all-space 忽略所有空格的变行。
-B, –ignore-blank-lines 忽略所有空白行的变化。
-I, –ignore-matching-lines=RE 忽略所有匹配RE的行的变化。
–strip-trailing-cr 在输出中,截掉所有的回车符号(CR)
-a, –text 将所有的文件视为普通的文本文件。
-w, –width=NUM 输出最多NUM(默认130)打印列
-l, –left-column 仅在左侧输出公共行。
–suppress-common-lines 不要输出公共行。
-t, –expand-tabs 在输出中,将制表符转化为空格。
–tabsize=NUM 每NUM个打印列为一个TAB位。默认为“8”。
-d, –minimal 努力寻找一个很小的变化集。
–speed-large-files 假设是大文件,并存在许多分散的小变化。
–diff-program=PROGRAM 使用PROGRAM程序来比较文件。
其他选项
–help 显示帮助信息并退出。
-v, –version 显示版本信息。
退出状态
0 输入文件相同
1 输入文件存在不同
2 存在其他问题
相关手册
cmp(1), diff(1), diff3(1)
查看Info手册:info sdiff
参考文献
man 1 sdiff, Version 13.5-3
GNU/GNU Diffutils/16 Invoking sdiff
更新日志
08/08/2018 创建文章[……]
dpkg,该软件包提供了用于处理Debian软件包的安装和删除的低级基础架构。对于Debian软件包开发工具,需要安装dpkg-dev。
安装
从发行版的源中安装
#!/bin/bash
# Kali GNU/Linux Rolling
apt-get install dpkg
安装的可执行程序
start-stop-daemon
dpkg 用于Debian的包管理器。由于安装、管理、构建、卸载Debian包。
dpkg-deb
dpkg-divert
dpkg-maintscript-helper
dpkg-query 用于dpkg数据库查询工具。用于查看dpkg数据库中软件包的信息。
dpkg-split
dpkg-statoverride
dpkg-trigger
update-alternatives 维护用于确定默认命令的符号链接(算是默认软件吧)。
相关的配置文件
/etc/alternatives /etc/alternatives/README /etc/cron.daily /etc/cron.daily/dpkg /etc/dpkg /etc/dpkg/dpkg.cfg /etc/dpkg/dpkg.cfg.d /etc/logrotate.d /etc/logrotate.d/dpkg
参考文献
dpkg -L dpkg
How to list files installed by an apt-get package?: https://superuser.com/questions/720660/how-to-list-files-installed-by-an-apt-get-package
Wikipedia / dpkg: https://en.wikipedia.org/wiki/Dpkg
Homepage: https://wiki.debian.org/Teams/Dpkg[……]
功能简述
查询 dpkg 数据库的工具
常用命令
查询软件包版本:
dpkg-query –show “git”
dpkg-query -f ‘${Version}’ –show git
语法格式
dpkg-query [option…] command
命令描述
命令dpkg-query是一个工具,用于显示有关在dpkg数据库中列出的软件包的信息。
命令选项
-l, –list [package-name-pattern…]
List packages matching given pattern. If no package-name-pattern is given, list all packages in /var/lib/dpkg/status, excluding
the ones marked as not-installed (i.e. those which have been previously purged). Normal shell wildcard characters are allowed
in package-name-pattern. Please note you will probably have to quote package-name-pattern to prevent the shell from performing
filename expansion. For example this will list all package names starting with “libc6”:
dpkg-query -l ‘libc6*’
The first three columns of the output show the desired action, the package status, and errors, in that order.
Desired action:
u = Unknown
i = Install
h = Hold
r = Remove
p = Purge
Package status:
n = Not-installed
c = Config-files
H = Half-installed
U = Unpacked
F = Half-configured
W = Triggers-[……]
dpkg-reconfigure,用于重新配置一个已经安装的软件包。
SYNOPSIS
dpkg-reconfigure [options] packages
DESCRIPTION
dpkg-reconfigure reconfigures packages after they have already been installed. Pass it the names of a package
or packages to reconfigure. It will ask configuration questions, much like when the package was first
installed.
If you just want to see the current configuration of a package, see debconf-show(1) instead.
OPTIONS
-ftype, –frontend=type
Select the frontend to use. The default frontend can be permanently changed by:
dpkg-reconfigure debconf
Note that if you normally have debconf set to use the noninteractive frontend, dpkg-reconfigure will use
the dialog frontend instead, so you actually get to reconfigure the package.
-pvalue, –priority=value
Specify the minimum priority of question that will be displayed. dpkg-reconfigure normally shows low
priority questions no matter what your default priority is. See debconf(7) for a list.
–default-priority
Use whatever the default priority of question is, instead of forcing[……]
覆盖文件的所有权和模式
命令语法格式
dpkg-statoverride [option…] command
命令描述
“stat overrides”是一种“告诉dpkg(1)在安装软件包时对路径使用不同的所有者或模式”的方法(这适用于dpkg处理的任何文件系统对象,包括目录,设备等)。 这可以用于强制通常setuid的程序在没有setuid标志的情况下安装,或者只能由某个组来执行。
命令dpkg-statoverride是一个用于管理stat覆盖列表的实用程序。 它有三个基本功能:添加,删除,列出覆盖。
命令行命令
–add user group mode path 添加路径覆盖。 使用此命令时不需要存在path;覆盖将被存储并在以后使用。参数user和group可以通过其名称(例如root或nobody)指定,也可以通过在数字前加上“#”(例如#0或#65534)来指定。该模式需要以八进制指定。
如果指定了–update选项,且path存在,则会立即将其设置为新的所有者和模式。
–remove path 删除路径的覆盖,此命令将保持路径path的状态不变。
–list [glob-pattern] 列出所有覆盖。 如果指定了glob-pattern模式,则将输出限制为与glob-pattern匹配的覆盖。
–help 显示使用信息并退出。
–version 显示版本并退出。
命令支持的选项及含义
–admindir directory 更改还存储statoverride文件的dpkg数据库的目录。 默认为/var/lib/dpkg
–force 强制行动,即使理智检查会禁止它。 这是覆盖现有覆盖所必需的。
–update 立即尝试将路径更改为新所有者和模式(如果存在)。
–quiet 安静模式,减少输出。
相关环境变量
DPKG_ADMINDIR 如果已设置,且未指定–admindir选项,则它将用作dpkg数据目录。
相关文件
/var/lib/dpkg/statoverride 包含系统的当前状态覆盖列表的文件。 它位于dpkg管理目录中,以及对dpkg很重要的其他文件,例如status或available。
注意:在使用新文件替换之前,dpkg-statoverride会保留此文件的旧副本,扩展名为“-old”。
退出状态
0 已成功执行请求的操作。
1 对于–list,如果没有覆盖或者没有匹配提供的glob模式。
2 由于无效的命令行使用或与系统的交互(例如对数据库的访问,内存分配等)导致的致命或不可恢复的错误。
相关手册
dp[……]
包触发器实用程序
命令语法格式
dpkg-trigger [option…] trigger-name
dpkg-trigger [option…] command
命令描述
命令dpkg-trigger是一个工具,显式激活触发器,并检查其对正在运行的dpkg的支持。
维护者脚本可以在复杂和符合条件的情况下使用,其中文件触发,或声明性激活触发器控制了文件指令,不够丰富。 它也可以用于测试和系统管理员(但请注意,触发器实际上不会由dpkg-trigger运行)。
无法识别的触发器名称语法对于dpkg-trigger是错误。
命令支持的选项及含义
–admindir=dir 更改dpkg数据库的位置。 默认位置是/var/lib/dpkg
–by-package=package 覆盖触发器awaiter(通常由dpkg通过维护者脚本的DPKG_MAINTSCRIPT_PACKAGE环境变量设置,命名脚本所属的包,默认情况下将使用此选项)。
–no-await 此选项安排调用包T(如果有)不需要等待处理此触发器;感兴趣的软件包I,不会被添加到T的触发器处理等待列表中,并且T的状态不变。 即使我可能尚未处理触发器,也可以认为T已安装。
–await 此选项与–no-await(自dpkg 1.17.21)相反。 它目前是默认行为。
–no-act 只是测试,实际上不改变任何东西。
命令行命令
该部分针对于dpkg-trigger [option…] command形式,可用command如下:
–check-supported 检查正在运行的dpkg是否支持触发器(通常从postinst中调用)。如果已启用具有触发器功能的dpkg命令,则将退出“0”;否则,将返回“1”并向标准错误发送错误消息。 但是,通常情况下,最好只使用dpkg-trigger激活所需的触发器。
-?, –help 显示帮助信息并退出u。
–version 显示版本信息并退出。
相关环境变量
DPKG_ADMINDIR 如果已设置,且未指定–admindir选项,则它将用作dpkg数据目录。
退出状态
0 已成功执行请求的操作。 或者命令check或assertion返回true。
1 命令check或assertion返回false。
2 由于无效的命令行使用或与系统的交互(例如对数据库的访问,内存分配等)导致的致命或不可恢复的错误。
相关手册
dpkg(1), deb-triggers(5), /usr/share/doc/dpkg-dev/triggers.txt.gz.
参[……]
常用命令
查询软件包版本:
dpkg -s <packagename> | grep ‘^Version:’
查看 .deb 需要的依赖:
# dpkg -I SunloginClient-10.1.1.38139_amd64.deb | grep ‘Depends:’
Depends: libappindicator3-1,libwebkitgtk-3.0-0
语法格式
dpkg [option…] ACTIONS
WARNING
This manual is intended for users wishing to understand dpkg’s command line options and package states in more detail than that
provided by dpkg –help.
It should not be used by package maintainers wishing to understand how dpkg will install their packages. The descriptions of what dpkg
does when installing and removing packages are particularly inadequate.
命令描述
dpkg is a tool to install, build, remove and manage Debian packages. The primary and more user-friendly front-end for dpkg is
aptitude(1). dpkg itself is controlled entirely via command line parameters, which consist of exactly one action and zero or more
options. The action-parameter tells dpkg what to do and options control the behavior of the action in some way.
dpkg can also be used as a front-end to dpkg-deb(1) and dpkg-query(1). The list of supported actions can be found later o[……]
update-alternatives,维护用于确定默认命令的符号链接(算是默认软件吧)。
命令行语法格式(SYNOPSIS)
update-alternatives [option…] command
命令简述(DESCRIPTION)
update-alternatives creates, removes, maintains and displays information about the symbolic links comprising the Debian alternatives system.
It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. For example, many systems have several text editors installed at once. This gives choice to the users of a system, allowing each to use a different editor, if desired, but makes it difficult for a program to make a good choice for an editor to invoke if the user has not specified a particular preference.
Debian’s alternatives system aims to solve this problem. A generic name in the filesystem is shared by all files providing interchangeable functionality. The alternatives system and the system administrator together determine which actual file is referenced by this generic name. For example, if the text editors ed(1) and nvi(1) are both installed on the system, the alternatives system will cause the generic name /usr/bin/editor to refer to /usr/bin/nvi by default. The system a[……]
文件系统ext2/3/4备份工具
命令语法格式
dump [-level#] [-ackMnqSuv] [-A file] [-B records] [-b blocksize] [-d density] [-D file] [-e inode numbers] [-E file] [-f file] [-F script] [-h level] [-I nr errors] [-jcompression level] [-L label] [-Q file] [-s feet] [-T date] [-y] [-zcompression level] files-to-dump
dump [-W | -w]
命令描述
命令dump检查ext2/3/4文件系统上的文件,并确定需要备份哪些文件,这些文件将复制到给定的磁盘、磁带、其他存储介质中以便安全保存(请参阅下面的-f选项以进行远程备份)。比输出介质大的转储被分成多个卷。在大多数媒体上,通过写入(直到返回“介质结束”指示)来确定大小。
在无法可靠地返回“介质结束”指示的介质(例如某些盒式磁带驱动器)上,每个卷都是固定大小的;实际尺寸通过指定墨盒介质,或通过下面介绍的磁带尺寸,密度和块计数选项来确定。默认情况下,在提示操作员更改介质后,每个卷使用相同的输出文件名。
参数files-to-dump是文件系统的挂载点,或者是作为为文件系统子集的要备份文件和目录列表。在前一种情况下,可以使用已挂载的文件系统的路径,或已卸载文件系统的设备。在后一种情况下,对备份有一些限制:不允许-u选项,唯一支持的转储级别为0,所有文件和目录必须驻留在同一文件系统上。
命令支持的选项及含义
命令dump支持如下选项:
-level# 转储级别(任何整数):
级别0完全备份可确保复制整个文件系统(但另请参阅下面的-h选项)。
高于0的级别编号,增量备份,告诉dump复制自上次转储较低级别以来新增或修改的所有文件。
默认级别为0。历史上,只有级别0到9在转储中可用,此版本能够将任何整数理解为转储级别。
-a “自动尺寸”。绕过所有磁带长度计算,并写入,直到返回“介质结束”指示。这适用于大多数现代磁带驱动器,并且是默认设置。当附加到现有磁带或使用具有硬件压缩的磁带驱动器时(尤其是您无法确定压缩比),建议使用此选项。
-A archive_file 将转储目录归档到指定的archive_file中,以供restore(8)使用,以确定文件是否存在于正在恢复的转储文件中。
-b blocksize 每个转储记录的千字节数。默认blocksize为10,除非使用-d选项指定6250BPI或更高的磁带密度,在这[……]
从使用dump进行的备份中还原文件或文件系统
命令语法格式
restore -C [-cdHklMvVy] [-b blocksize] [-D filesystem] [-f file] [-F script] [-L limit] [-s fileno] [-T directory]
restore -i [-acdhHklmMNouvVy] [-A file] [-b blocksize] [-f file] [-F script] [-Q file] [-s fileno] [-T directory]
restore -P file [-acdhHklmMNuvVy] [-b blocksize] [-f file] [-F script] [-s fileno] [-T directory] [-X filelist] [ file … ]
restore -R [-cdHklMNuvVy] [-b blocksize] [-f file] [-F script] [-s fileno] [-T directory]
restore -r [-cdHklMNuvVy] [-b blocksize] [-f file] [-F script] [-s fileno] [-T directory]
restore -t [-cdhHklMNuvV0y] [-A file] [-b blocksize] [-f file] [-F script] [-Q file] [-s fileno] [-T directory] [-X filelist] [ file… ]
restore -x [-adchHklmMNouvVy] [-A file] [-b blocksize] [-f file] [-F script] [-Q file] [-s fileno] [-T directory] [-X filelist] [ file… ]
命令描述
restore命令执行dump(8)的反功能:可以恢复文件系统的完整备份,并在其上分层后续增量备份。可以从完全备份或部分备份还原单个文件和目录子树。restore可在网络中运行; 要做到这一点,请参阅下面描述的-f标志。该命令的其他参数是指定要还原的文件的文件或目录名称。除非指定-h标志(见下文),否则目录名称的外观是指该目录的文件和(递归)子目录。
命令支持的选项及含义
必须存在的选项
以下的选项至少需要指定一个,这些选项控制了restore的功能:
-C 此模式允许比较来自dump的文件。restore读取备份并将其内容与磁盘上存在的文件进行比较。它首先将其工作目录更改为转储的文件系统的根目录,并将[……]
badblocks – search a device for bad blocks
命令语法格式
badblocks [ -svwnfBX ] [ -b block_size ] [ -c blocks_at_once ] [ -d read_delay_factor ] [ -e max_bad_blocks ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ] device [ last_block ] [ first_block ]
命令描述
命令badblocks用于搜索设备上的坏块(通常是磁盘分区)。参数device是与设备对应的特殊文件(例如/dev/hdc1)。参数last_block是要检查的最后一个块;如果未指定,则将设备上的最后一个块用作默认值。 参数first_block是一个可选参数,指定测试的起始块编号,允许测试从磁盘中间开始;如果未指定,则将磁盘上的第一个块用作默认值。
重要说明:如果要将badblock的输出提供给e2fsck或mke2fs程序,则正确指定块大小非常重要,因为生成的块编号非常依赖于文件系统使用的块大小。 因此,强烈建议用户不要直接运行badblock,而应使用e2fsck和mke2fs程序的-c选项。
命令支持的选项及含义
-b block_size 以字节为单位指定块的大小。 默认值为1024。
-c number of blocks 是一次测试的块数。 默认值为64。
-d read delay factor 如果该参数被传递且非零,如果在读操作中没有遇到错误,则该参数将导致坏块在read之间休眠;dalay将计算为执行读取操作所花费的时间的百分比。 换句话说,值100将导致每次读取延迟“先前读取所花费的量”,并且值200将延迟两倍量。
-e max bad block count 在中止测试之前指定最大数量的坏块。 默认值为0,表示测试将持续到达测试范围结束。
-f 通常,badblocks将拒绝对挂载的设备进行读/写或非破坏性测试,因为即使以只读方式挂载,也可能导致系统崩溃和/或损坏文件系统。 这可以使用-f标志覆盖,但几乎不应该使用 – 如果你认为你比badblocks程序更聪明,你几乎肯定不会。 唯一可以安全使用此选项的是/etc/mtab文件不正确,并且设备确实未安装。
-i input_file 阅读已存在的已知坏块列表。 坏块将跳过测试这些块,因为它们已知是坏的。 如果input_file指定为“-”,则将从标准输入中读取列表。在标准输出或输出文件中生成的新坏块列表中,将省略此列表中列出的块。 dumpe2fs([……]
转储ext2/ext3/ext4文件系统信息
命令语法格式
dumpe2fs [ -bfghixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device
命令描述
命令dumpe2fs为存在于device上的文件系统打印超级块和块的组信息。
注意:与已挂载的文件系统一起使用时,打印的信息可能过旧或不一致。
命令支持的选项及含义
-b 打印在文件系统中保留为坏的块。
-o superblock=superblock 在检查文件系统时使用superblock块。 除了正在检查严重损坏的文件系统的遗留的”文件系统向导“之外,通常不需要此选项。
-o blocksize=blocksize 在检查文件系统时使用blocksize的字节块。 除了正在检查严重损坏的文件系统的遗留的”文件系统向导“之外,通常不需要此选项。
-f 强制dumpe2fs显示文件系统,即使它可能有一些dumpe2fs可能无法理解的文件系统功能标志(并且可能导致某些dumpe2fs的显示被怀疑)。
-g 以机器可读的”冒号分隔值“格式显示组描述符信息。 显示的字段是:组号;组中第一个块的编号;超级块位置(如果不存在则为-1);组描述符使用的块范围(如果不存在则为-1);块位图位置;inode位图位置;inode表使用的块范围。
-h 仅显示超级块信息,而不显示任何块组描述符详细信息。
-i 显示e2image创建的映像文件中的文件系统数据,使用device作为映像文件的路径名。
-m 如果在文件系统上启用了mmp功能,请检查另一个节点是否正在使用设备,有关完整详细信息,请参阅e2mmpstatus(8)。 如果与-i选项一起使用,则仅打印MMP块信息。
-x 以十六进制格式打印详细的组信息块编号
-V 打印dumpe2fs的版本号并退出。
注意事项
您可能需要了解物理文件系统结构才能理解输出内容。
退出状态
0 操作完成,没有错误。
>0 如果存在任何错误,它将以非零返回码退出。例如,读取有效超级块时出现问题,校验和错误,或者设备是否被另一个节点使用并且指定了-m。
相关手册
e2fsck(8), e2mmpstatus(8), mke2fs(8), tune2fs(8). ext4(5)
参考文献
man 8 dumpe2fs, Version 1.44.4-2
更新日志
11/06/2018 创建文章[……]
检查Linux的ext2/ext3/ext4文件系统
命令语法格式
e2fsck [ -pacnyrdfkvtDFV ] [ -b superblock ] [ -B blocksize ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-journal ] [ -E extended_options ] [ -z undo_file ] device
命令描述
e2fsck is used to check the ext2/ext3/ext4 family of file systems. For ext3 and ext4 filesystems that use a journal, if the system has been shut down uncleanly without any errors, normally, after replaying the committed transactions in the journal, the file system should be marked as clean. Hence, for filesystems that use journalling, e2fsck will normally replay the journal and exit, unless its superblock indicates that further checking is required.
device is a block device (e.g., /dev/sdc1) or file containing the file system.
Note that in general it is not safe to run e2fsck on mounted filesystems. The only exception is if the -n option is specified, and -c, -l, or -L options are not specified. However, even if it is safe to do so, the results printed by e2fsck are not valid if the filesystem is mounted. If e2fsck asks whether or not you should check a filesystem which is mounted, the only correct answer is “no”. Only experts[……]
将关键的ext2/ext3/ext4文件系统元数据保存到文件中
命令语法格式
e2image [ -r|Q ] [ -f ] device image-file
e2image -I device image-file
e2image -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]
命令描述
命令e2image程序将设备上的关键ext2,ext3,ext4文件系统元数据保存到image-file指定的文件中。 dumpe2fs和debugfs可以通过对这些程序使用-i选项来检查映像文件。这可以帮助专家恢复灾难性损坏的文件系统。将来,e2fsck将得到增强,能够使用映像文件来帮助恢复严重受损的文件系统。
保存e2image以进行调试时,使用-r或-Q选项,必须卸载文件系统或以只读方式挂载文件系统,以使映像文件处于一致状态。可以使用-f选项覆盖此要求,但生成的镜像文件很可能不会有用。
如果image-file是”-“,那么e2image的输出将被发送到标准输出,这样输出就可以通过管道输送到另一个程序,例如gzip(1)。 (请注意,目前仅在使用-r选项创建原始映像文件时支持此功能,因为创建普通映像文件或QCOW2映像的过程当前需要随机访问该文件,而无法使用管道进行此操作。希望在未来版本的e2image中解除限制。)
为系统上的所有文件系统创建映像文件,并定期(在启动时、每周,或类似)保存分区布局(可以使用fdisk -l命令生成)。image-file应存储在”除了其包含数据的文件系统之外”的某些文件系统上,以确保在文件系统严重损坏的情况下可以访问此数据。
为节省磁盘空间,e2image将映像文件创建为“稀疏文件”或“QCOW2格式“。因此,如果需要将稀疏映像文件复制到另一个位置,则应先将其压缩或使用GNU版本的cp的–parse=always选项复制。这不适用于QCOW2映像,它不是稀疏的。
ext2映像文件的大小主要取决于文件系统的大小以及正在使用的inode数量。对于典型的10千兆字节文件系统,在120万个inode中使用200,000个inode,映像文件大约为35兆字节;一个4千兆字节的文件系统,在550,000个inode中使用了15,000个inode,将产生一个3兆字节的映像文件。映像文件往往是可压缩的;占用磁盘空间32兆字节的映像文件通常会压缩到3或4兆字节。
使用映像文件恢复文件系统元数据
选项-I将使e2image将存储在映像文件中的元数据安装回设备。 它可用于在紧急情况下将文件系统元数据恢复回设备。
警告!!!! 只有当其他替代方法失败时,选项-I[……]