我试图在运行apt-get时注册一个新的源以获取软件包,以最终安装azure-iot-sdk-c-dev以使用该代码与IoT中心进行通信。
当我运行此命令时
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXX
我遇到了问题,但是这篇文章不是要回顾我面临的问题,我想首先了解我的命令甚至意味着什么。因此,我尝试使用--help建立我的理解,但我想我可能并没有将所有问题联系在一起。
例如,了解sudo是什么;我输入了sudo --help,我可以对它有所了解。
我的问题是,当我输入sudo --help时,为什么我看不到apt?
输入sudo --help后,我得到以下信息,但没有提及apt? 注意:如果该问题所属,请转到超级用户论坛。
sudo-以其他用户身份执行命令
用法:sudo -h | -K | -k | -V用法:sudo -v [-AknS] [-g组] [-h 主机] [-p提示符] [-u用户]用法:sudo -l [-AknS] [-g组] [-h 主机] [-p提示符] [-U用户] [-u用户] [命令]用法:sudo [-AbEHknPS] [-r角色] [-t类型] [-C编号] [-g组] [-h主机] [-p 提示] [-u用户] [VAR =值] [-i | -s] []用法:sudo -e [-AknS] [-r角色] [-t类型] [-C编号] [-g组] [-h主机] [-p提示符] [-u用户]文件...
选项:-A,-askpass将帮助程序用于 密码提示-b,--background run命令在 背景-C,--close-from = num关闭所有文件描述符> = num -E,--preserve-env保留用户环境 运行命令-e,--edit编辑文件而不是 运行命令-g,--group = group run命令作为 指定的组名或ID -H,--set-home设置HOME 变量以目标用户的主目录为目标-h,--help
显示帮助消息并退出-h,--host = host运行 主机上的命令(如果插件支持)-i,--login
以目标用户身份运行登录外壳程序; -K,--remove-timestamp
完全删除时间戳文件-k,--reset-timestamp
使时间戳文件-l,--list列表用户无效 特权或... -n,--non-interactive非交互模式, 不使用提示-P,--preserve-groups保留向量 --prompt = prompt而不是设置为目标的-p,使用 指定的密码提示符-r,--role =角色创建 具有指定角色-S,--stdin
的安全上下文 从标准输入-s,--shell运行中读取密码 Shell作为目标用户; -t,--type = type创建 具有指定类型-U,-other-user = user的安全上下文 列表模式,显示用户-u,--user = user
的权限 运行命令(或编辑文件)-V,--version显示 版本信息并退出-v,--validate更新 用户的时间戳而不运行命令-
停止处理命令行参数
答案 0 :(得分:1)
使用man
像man sudo
或man apt
最终,您看不到apt
对sudo
的帮助,是因为它们是完全不同的可执行文件。 apt
是Debian软件包管理器,sudo
是 s 上层 u ser do 命令。
sudo
呼叫 apt
与sudo apt
-换句话说,如果您运行apt
无 {{ 1}}不会以超级用户权限执行它,否则,如果不以root身份运行,它可能会失败。