
# 将obsutil设为系统内置命令
#### 操作场景
作为外部软件，obsutil命令需要进入obsutil工具所在目录后方可运行，易用性较差。
操作系统提供内置命令，在系统启动时就将依赖的目录调入内存，这样在任意目录下都可以运行命令，提高工具易用性。
本章根据不同操作系统，分别介绍如何将obsutil设置为系统内置命令。
#### 将obsutil设为Windows操作系统内置命令
**方式一：使用脚本自动配置** **（推荐）**
1. 进入obsutil工具所在目录。
2. 确保setup.bat和obsutil.exe位于同目录下，双击运行setup.bat文件。
3. 检验是否配置成功：在cmd窗口中执行命令**obsutil help** ，出现工具帮助信息则表示配置成功。
   
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   如果使用脚本自动配置完成后，执行命令**obsutil help**出现"'obsutil' 不是内部或外部命令，也不是可运行的程序或批处理文件"，则表明配置失败，请尝试手动配置方式。
   
   
**方式二：手动配置**
1. 在cmd窗口中执行**echo %PATH%**命令查看当前系统已配置的所有PATH，选择任意一个PATH作为操作路径。
2. 执行命令：**mklink PATH/obsutil.exe **OBSUTIL_PATH**** ，将obsutil配置为系统内置命令。
   
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   PATH为步骤1选择的操作路径；OBSUTIL_PATH为obsutil.exe工具的绝对路径。
   
   
3. 检验是否配置成功：在cmd窗口中执行命令**obsutil help**，出现工具帮助信息则表示配置成功。
 
#### 将obsutil设为macOS/Linux操作系统内置命令
**方式一：使用脚本自动配置** **（推荐）**
1. 运行脚本，参数为obsutil的路径。假设obsutil位于/home/user1目录下，执行命令为： 
   ```
   source setup.sh /home/user1/obsutil
   ```
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   - **必须以root用户运行脚本；**
   
   - 脚本参数是obsutil的相对路径或绝对路径。
   
   - 必须以"source setup.sh"或". setup.sh"命令运行脚本。
    
   
   
2. 检验是否配置成功：在任意目录下执行命令**obsutil help** ，出现工具帮助信息则表示配置成功。
   
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   如果使用脚本自动配置完成后，执行命令**obsutil help**出现"-bash: obsutil: command not found"，请尝试重新登录macOS/Linux命令行，如果问题仍未解决，则表明配置失败，请尝试手动配置方式。
   
   
**方式二：手动配置**。
1. 创建obsutil工具目录，执行命令： 
   ```
   mkdir /obsutil
   ```
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   - 如果已有此目录，可忽略该步骤。
   
   - **必须保证执行用户是root。**
    
   
   
2. 设置工具目录为755权限，执行命令： 
   ```
   chmod 755 /obsutil
   ```
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   - 如果此目录权限为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!** 保存退出。
   
   ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
   如果/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
        ```
        ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
        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
        ```
        ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
        PATH为obsutil命令的路径，上例中为：/obsutil/obsutil。
        
     
     3. 恢复系统环境变量：删除/etc/profile文件中设置的obsutil工具的PATH。
        ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/note_3.0-zh-cn.png)
        假设/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 "错误时，请确定该用户的家目录是否存在。
     ![](https://support.huaweicloud.com/utiltg-obs/public_sys-resources/notice_3.0-zh-cn.png)
     ubuntu系统用**useradd** 命令添加用户，不会默认创建用户家目录，需要手动创建，建议用**adduser**命令添加用户。
     
    
4. 解决macOS/Linux操作系统运行obsutil内置命令无法生成日志文件的问题。 如果在配置文件中已正常配置了sdkLogPath和utilLogPath，但运行命令后无法生成日志文件，请确认运行命令的用户对sdkLogPath和utilLogPath是否有读写权限。
   
 
