文档首页/ 对象存储服务 OBS/ 工具指南/ obsutil/ 最佳实践/ 将obsutil设为系统内置命令
更新时间:2024-03-20 GMT+08:00

将obsutil设为系统内置命令

操作场景

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

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

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

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

方式一:使用脚本自动配置(推荐)

  1. 进入obsutil工具所在目录。
  2. 确保setup.bat和obsutil.exe位于同目录下,双击运行setup.bat文件。
  3. 检验是否配置成功:在cmd窗口中执行命令obsutil help,出现工具帮助信息则表示配置成功。

    如果使用脚本自动配置完成后,执行命令obsutil help出现“'obsutil' 不是内部或外部命令,也不是可运行的程序或批处理文件”,则表明配置失败,请尝试手动配置方式。

方式二:手动配置

  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的路径。假设obsutil位于/home/user1目录下,执行命令为:

    source setup.sh /home/user1/obsutil
    • 必须以root用户运行脚本;
    • 脚本参数是obsutil的相对路径或绝对路径。
    • 必须以“source setup.sh”或“. setup.sh”命令运行脚本。

  2. 检验是否配置成功:在任意目录下执行命令obsutil help,出现工具帮助信息则表示配置成功。

    如果使用脚本自动配置完成后,执行命令obsutil help出现“-bash: obsutil: command not found”,请尝试重新登录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是否有读写权限。