更新时间:2022-05-18 GMT+08:00

将obsutil设为系统内置命令

操作场景

作为外部软件,obsutil命令需要进入obsutil工具所在目录后方可运行,易用性较差。

操作系统提供内置命令,在系统启动时就将依赖的目录调入内存,这样在任意目录下都可以运行命令,提高工具易用性。

本章根据不同操作系统,分别介绍如何将obsutil设置为系统内置命令。

将obsutil设为Windows操作系统内置命令

  1. 在cmd窗口中执行echo %PATH%命令查看当前系统已配置的所有PATH,选择任意一个PATH作为操作路径。
  2. 执行命令:mklink PATH/obsutil.exe OBSUTIL_PATH,将obsutil配置为系统内置命令。

    PATH为步骤1选择的操作路径;OBSUTIL_PATH为obsutil.exe工具的绝对路径。

  3. 检验是否配置成功:在cmd窗口中执行命令obsutil help,出现工具帮助信息则表示配置成功。

将obsutil设为macOS/Linux操作系统内置命令

  1. 创建obsutil工具目录,执行命令:

    mkdir /obsutil
    • 若已有此目录,可忽略该步骤。
    • 必须保证执行用户是root。

  2. 设置工具目录为755权限,执行命令:

    chmod 755 /obsutil
    • 若此目录权限为drwxr-xr-x,可忽略该步骤。
    • 必须保证执行用户是root。

  3. 拷贝obsutil工具到步骤1创建的目录下,并修改其权限为711。假设工具原路径为/home/test/obsutil,执行命令为:

    cp /home/test/obsutil /obsutil
    chmod 711 /obsutil/obsutil

  4. 执行命令:vi /etc/profile,按i键进入Insert模式编辑文件,在文件末尾新增一行,内容为:export PATH=$PATH:/obsutil,然后按ESC键退出编辑,然后输入:wq!保存退出。

    若/etc/profile文件已有该新增行,可忽略此步骤。

  5. 执行命令:echo $PATH,查看当前环境变量,若查询结果中包含:/obsutil则说明已有/obsutil环境变量,请直接执行下一步骤,否则执行source /etc/profile命令。
  6. 检验是否配置成功:在任意目录下执行命令obsutil help,出现工具帮助信息则表示配置成功。

常见问题

  1. 作为内置命令后如何找到obsutil配置文件路径?

    obsutil命令同级目录下的.obsutilconfig文件即为工具obsutil的配置文件。您也可以运行obsutil config来获取配置文件路径,示例如下:

    obsutil config
    Config file url:
      D:\tools\.obsutilconfig
  2. obsutil作为内置命令后如何卸载?
    • Windows操作系统卸载步骤:
      1. 运行where obsutil找到obsutil命令的路径:
        where obsutil
        E:\tools\bin\obsutil.exe
      2. 运行del PATH删除obsutil命令:
        del E:\tools\bin\obsutil.exe

        PATH为obsutil命令的路径,上例中为:E:\tools\bin\obsutil.exe。

    • macOS/Linux操作系统卸载步骤:
      1. 运行which obsutil找到obsutil命令的路径:
        which obsutil
        /obsutil/obsutil
      2. 运行rm -rf PATH删除obsutil命令:
        rm -rf /obsutil/obsutil

        PATH为obsutil命令的路径,上例中为:/obsutil/obsutil。

      3. 恢复系统环境变量:删除/etc/profile文件中设置的obsutil工具的PATH。

        假设/etc/profile文件中有此行内容export PATH=$PATH:/obsutil,则删除此行,或者有此行内容export PATH=$PATH:/test/bin:/obsutil:/test1,则删除:/obsutil,即修改为export PATH=$PATH:/test/bin:/test1。

  3. 解决macOS/Linux操作系统运行obsutil内置命令失败的问题。
    • 运行obsutil help命令,如果提示“Permission denied”错误时,请执行命令chmod 755 OBSUTIL_PATH(OBSUTIL_PATH为/obsutil目录下的obsutil路径),为该工具增加可执行权限;
    • 如果提示“command not found”错误时,请重新登录;
    • 如果提示“Cannot create parent folder for xx/.obsutilconfig, xx Permission denied ”错误时,请确定该用户的家目录是否存在。

      ubuntu系统用useradd命令添加用户,不会默认创建用户家目录,需要手动创建,建议用adduser命令添加用户。

  4. 解决macOS/Linux操作系统运行obsutil内置命令无法生成日志文件的问题。

    如果在配置文件中已正常配置了sdkLogPath和utilLogPath,但运行命令后无法生成日志文件,请确认运行命令的用户对sdkLogPath和utilLogPath是否有读写权限。