Linux系统下非root用户自行安装的命令切换为root权限时无法使用,提示comman not found解决办法

今天在开发的时候遇上了一个问题就是要去我们数据平台中进行数据的提取,数据存储用的是minio,一个MinIO部署由一组存储和计算资源组成,运行一个或多个 minio server 节点,共同作为单个对象存储库。独立的MinIO实例由具有单个 minio server 节点的单个服务器池组成。 独立实例最适合初始开发和评估。MinIO部署可以直接在物理设备上运行,在 裸金属 或非虚拟化基础架构中运行。 或者,在云服务中的虚拟机中运行MinIO,例如使用Docker、Podman或Kubernetes。 MinIO可以在本地、私有云中或市场上提供的众多公共云中运行。

MinIO可以部署到三种拓扑结构:

  1. 单服务器单磁盘, 一个MinIO服务器只有一个驱动器或用于数据的文件夹

    例如,在本地PC上测试时,使用计算机硬盘上的文件夹。

  2. 单服务器多磁盘, 一个MinIO服务器有多个挂载的驱动器或文件夹用于数据

    例如,一个容器中有两个或更多挂载的卷。

  3. 多服务器多磁盘, 多个MinIO服务器具有多个挂载的驱动器或卷用于数据

    例如,使用Ansible、Terraform或手动流程进行生产部署

分布式部署利用了一个以上的物理或虚拟机的计算和存储资源。 在现代情况下,这通常意味着在私有或公共云环境中运行MinIO,例如使用Amazon Web Services、Google Cloud Platform、Microsoft的Azure平台或其他许多平台。然在测试MinIO时可能只涉及单个计算机上的单个驱动器,但大多数生产MinIO部署使用多个计算和存储设备来创建高可用性环境。 服务器池是一组 minio server 节点,它们汇集其驱动器和资源以支持对象存储的写入和检索请求。MinIO支持将一个或多个服务器池添加到现有的MinIO部署中进行横向扩展。 当MinIO有多个服务器池可用时,单个对象始终写入同一服务器池中相同的纠错集。如果一个服务器池出现故障,MinIO会停止对所有池的I/O操作,直到集群恢复正常运作。您必须使池恢复正常操作以恢复对部署的I/O操作。 在执行修复操作时,其他池中写入的对象仍然安全保存在磁盘上。

官方提供了很详细的介绍文档,感兴趣的话可以自行阅读即可。

在自己的服务器上面想要能够使用到minio中存储的数据,就需要将其复制过来进行处理,需要先安装命令,操作很简单如下:

curl https://dl.minio.org.cn/client/mc/release/linux-amd64/mc \--create-dirs \-o $HOME/minio-binaries/mcchmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

之后mc --help来检查是否安装成功即可。

如果Linux是ARM架构的话可以使用下面的命令来安装:

curl https://dl.minio.org.cn/client/mc/release/linux-arm64/mc \--create-dirs \-o ~/minio-binaries/mcchmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/mc --help

成功安装mc命令后,可以alias创建别名,如下:

mc alias set myminio https://minioserver.example.net ACCESS_KEY SECRET_KEY

完成后可以测试连接:

mc admin info myminio

mc提供了丰富的命令集,实例如下所示:

Command

描述

mc alias list

mc alias remove

mc alias set

mc alias import

mc alias export

mc alias 命令为管理 mc 可以连接并对其运行操作的 S3 兼容主机列表提供了方便的界面。

mc anonymous get

mc anonymous get-json

mc anonymous links

mc anonymous list

mc anonymous set

mc anonymous set-json

mc anonymous 命令支持为桶及其内容设置或移除匿名 policies。 具有匿名策略的桶允许公共访问,客户端可以无需 authentication 执行策略授予的任何操作。

mc batch describe

mc batch generate

mc batch list

mc batch start

mc batch status

The mc batch 命令允许你在 MinIO 部署上运行一个或多个作业任务。

mc cat

mc cat 命令用于将一个文件或对象的内容连接到另一个文件 或对象中。您还可以使用该命令将指定文件或对象的内容 显示在 STDOUT 上。 cat 的功能与 cat 命令类似。

mc cp

mc cp 命令用于将对象从一个MinIO部署复制到另一个MinIO 部署, 或者 从MinIO复制到本地文件系统。

mc diff

mc diff 是 MinIO(mc 是一个命令行工具,用于与 MinIO 服务器 进行交互)的一个命令,用于比较两个文件系统目录或 MinIO 存储 桶。 mc diff 命令只列出那些缺失或在大小上不同的对象。 需要注意的是, mc diff  比较对象的内容。

mc du

mc du 命令总结了存储桶和文件夹的磁盘使用情况。 您还可以对本地文件系统使用 du 命令,以产生类似于 du 命令的结果。

mc encrypt clear

mc encrypt info

mc encrypt set

mc encrypt 命令用于设置、更新或禁用默认桶的服务器端加密(SSE)模式。 MinIO 自动使用指定的 SSE 模式对对象进行加密。

mc event add

mc event ls

mc event rm

mc event 命令支持添加、删除和列出存储桶事件通知。

mc find

mc find 命令支持在 MinIO 部署上搜索对象。 您还可以使用此命令在文件系统上搜索文件。

mc get

mc get 命令从目标 S3 部署将对象下载到本地文件系统。

mc head

mc head 命令显示对象的最初 n 行, 其中 n 是传递给命令的参数。

mc idp ldap accesskey

mc idp ldap add

mc idp ldap disable

mc idp ldap enable

mc idp ldap info

mc idp ldap ls

mc idp ldap policy

mc idp ldap rm

mc idp ldap update

mc idp ldap 命令允许你管理用于第三方 Active Directory 或 LDAP 身份和访问管理(IAM)集成的配置。

mc idp openid add

mc idp openid disable

mc idp openid enable

mc idp openid info

mc idp openid ls

mc idp openid rm

mc idp openid update

mc idp openid 命令允许您管理第三方 OpenID 身份和访问管理 (IAM) 集成配置。

mc idp ldap policy attach

mc idp ldap policy detach

mc idp ldap policy entities

mc idp ldap policy 命令展示了策略与相关组或用户之间的映射关系。

mc ilm restore

mc ilm rule add

mc ilm rule edit

mc ilm rule export

mc ilm rule import

mc ilm rule ls

mc ilm rule rm

mc ilm tier add

mc ilm tier check

mc ilm tier info

mc ilm tier ls

mc ilm tier rm

mc ilm tier update

mc ilm 命令用于在 MinIO 部署上管理 对象生命周期管理规则 和分层。

mc legalhold clear

mc legalhold info

mc legalhold set

mc legalhold 命令用于为对象(们)设置、移除或检索 对象合法保留(WORM) 设置。

mc license info

mc license register

mc license update

mc license 命令用于与 MinIO SUBNET 的集群注册。 使用这些命令来注册一个部署,注销一个部署,显示有关集群当前许可证的信息,或更新集群的许可证密钥。

mc ls

mc ls 命令列出 MinIO 或另一个 S3 兼容服务上的存储桶和 对象。

mc mb

mc mb 命令在指定的路径创建一个新的桶或 目录。

mc mirror

mc mirror 命令用于将内容同步到 MinIO 部署,类似于 rsync 工具。 mc mirror 支持将文件系统、MinIO 部署和其他 S3 兼容主机作为同步源。

mc mv

mc mv 命令可以将对象从源移动到目标,例如在不同的 MinIO 部署之间, 或者 在同一 MinIO 部署中的不同桶之间。 mc mv 命令还支持将对象在本地文件系统和 MinIO 之间移动。

mc od

mc od 命令将本地文件分块并按指定的部分和部分大小复制到远程位置。 该命令输出了上传文件所花费的时间。

mc ping

mc ping 命令执行对指定目标的存活检查。

mc pipe

mc pipe 命令将内容从 STDIN 流式传输到目标对象。

mc put

mc put 是 mc命令行工具的一个命令,它用于将本地文件系统中的对象上传到目标 S3 部署中的桶。

mc quota clear

mc quota info

mc quota set

mc quota 命令用于配置、显示或删除存储桶的硬性配额限制。

mc rb

mc rb 命令用于从 MinIO  其他 S3 兼容服务 中删除一个或多个桶。

要仅删除存储桶的内容,请改用 mc rm。

mc replicate add

mc replicate backlog

mc replicate export

mc replicate import

mc replicate ls

mc replicate resync

mc replicate rm

mc replicate status

mc replicate update

mc replicate 命令用于配置和管理 MinIO 部署的 服务器端存储桶复制,包括 活动-活动复制配置 和 重新同步。

mc retention clear

mc retention info

mc retention set

mc retention 命令用于为存储桶中的一个或多个对象配置 写一次读多次(WORM)锁定 设置。 您还可以为存储桶设置默认的对象锁定设置,其中所有没有明确对象锁定设置的对象将继承存储桶的默认设置。

mc rm

mc rm 命令用于从 MinIO 部署的存储桶中删除对象。 要完全删除一个存储桶,请使用 mc rb 命令。

mc share download

mc share ls

mc share upload

使用 mc share 命令来管理 MinIO 存储桶上对象的预签名 URL,用于下载和上传对象。

mc sql

mc sql 命令为指定的 MinIO 部署中的对象提供了一个 S3 选择接口,用于执行 SQL 查询。

mc stat

mc stat 命令显示 MinIO 存储桶中对象的信息, 包括对象元数据。

mc support callhome

mc support diag

mc support inspect

mc support perf

mc support profile

mc support proxy

mc support top api

mc support top disk

mc support top locks

MinIO客户端的 mc support 命令提供了分析部署健康或性能以及运行诊断的工具。 您还可以上传生成的健康报告,以便 MinIO 工程团队进一步分析。

mc tag list

mc tag remove

mc tag set

mc tag 命令用于向桶或对象添加、删除和列出标签。

mc tree

mc tree 命令以树状格式列出 MinIO 桶中的所有前缀。 该命令可选地支持列出每个前缀内的所有对象, 包括桶的根目录。

mc undo

mc undo 命令用于撤销由于对指定路径执行了 PUT 或 DELETE 操作而引起的变化。

mc update

mc update 命令会自动将 mc 二进制文件 更新到最新稳定版本。

mc version enable

mc version info

mc version suspend

mc version 命令用于启用、禁用和检索 MinIO 存储桶的 版本控制 状态。

mc watch

mc watch 命令用于监控指定 MinIO 存储桶或本地文件系统 路径上的事件。对于 S3 服务,应使用 mc event add 命令来配置 S3 兼容服务上的存储桶事件通知。

mc 使用一个 JSON 格式的配置文件来存储 某些类型的信息,比如为每个配置的 S3 兼容服务 设置的 别名。对于 Linux 和 OSX,默认的配置文件位置是 ~/.mc/config.json.

对于 Windows,mc 会尝试通过查询特定的环境变量来构建 默认的文件路径。如果某个变量未设置,mc 会移动到下一个 变量。如果所有尝试都失败,mc 会返回一个错误。 以下列表描述了 mc 检查的每个可能的 文件路径位置的顺序:

  1. HOME\.mc\config.json

  2. USERPROFILE\.mc\config.json

  3. HOMEDRIVE+HOMEPATH\.mc\config.json

您可以使用 --config-dir

我的用户名是test,在test权限下安装了mc命令,可以正常使用,但是当我切换到root权限下的时候发现命令无法使用,系统报错:command not found。

这里提供几种解决方法,根据自己的实际需要选择即可。

方法一:将用户目录添加到root用户的PATH中

这里又可以分为两种模式,一种是临时生效,一种是永久生效。

临时生效:在root用户的会话中,临时将用户目录添加到PATH中。

export PATH=$PATH:/home/test/.local/bin

永久生效:将上述命令添加到root用户的shell配置文件中,例如~/.bashrc~/.bash_profile

echo 'export PATH=$PATH:/home/test/.local/bin' >> ~/.bashrc
source ~/.bashrc

方法二:将命令复制到系统路径中

复制命令:将用户安装的命令复制到系统的默认搜索路径中,例如/usr/local/bin

sudo cp /home/test/.local/bin/mc /usr/local/bin/

修改权限:确保root用户有权限执行该命令。

sudo chmod +x /usr/local/bin/mc

方法三:使用绝对路径执行命令

如果只是偶尔需要使用该命令,可以直接使用绝对路径来执行。

/home/test/.local/bin/mc

方法四:创建符号链接

创建符号链接:在系统的默认搜索路径中创建一个指向用户安装命令的符号链接。

sudo ln -s /home/test/.local/bin/mc /usr/local/bin/mc

修改权限:确保root用户有权限执行该符号链接。

sudo chmod +x /usr/local/bin/mc

实践的确可行,解决了上述报错问题。

感兴趣的话可以自行尝试看下,这里做简单的记录备忘!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3268459.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

快速入门C#设计模式【2】结构型模式

结构型模式 适配器模式 (Adapter)桥接模式 (Bridge)组合模式 (Composite)装饰模式 (Decorator)外观模式 (Facade)享元模式 (Flyweight)代理模式 (Proxy) 适配器模式(Adapter Pattern) 适配器模式(Adapter Pattern)是一种结构型设计…

Stable Diffusion 使用详解(3)---- ControlNet

背景 炼丹师在AI绘画的过程中,由于Stable Diffusion的原理是水滴式的扩散作图原理,其实在前面也有提到,他的发挥是‘不稳定’的,因为你没有办法做到精确控制,只能说是大致符合你的预期。你不能总依赖抽卡固定随机数种…

后端采用SpringBoot框架开发的:ADR药物不良反应智能监测系统源码,用于监测和收集药品在使用过程中发生的不良反应的系统

ADR药物不良反应智能监测系统是一套用于监测和收集药品在使用过程中发生的不良反应(Adverse Drug Reaction, ADR)的系统。该系统基于医院临床数据中心,运用信息技术实现药品不良反应的智能监测、报告管理、知识库查询、统计分析等功能&#x…

昇思25天学习打卡营第22天|CV-Vision Transformer图像分类

打卡 目录 打卡 ViT简介 模型结构 基于ViT实现ImageNet分类任务 环境准备与数据读取 模型解析 Transformer基本原理 Self-Attention模块 代码实现 Transformer Encoder 代码实现 ViT模型的输入 Patch Embedding代码处理输入 整体构建ViT 模型训练与推理 模型训…

通过ATS软件抓取ios手机日志方法记录

1.ios手机下载描述符文件,用于过检测 下载网址:https://developer.apple.com/bug-reporting/profiles-and-logs/?nameB 点击这个下载,之后在手机通用-VPN与设备管理里面找到刚才下载的描述文件然后安装; 2024.6月后注意会提示描…

能链智电的危与机:持续亏损、股价崩塌,CEO王阳如何寻求出路?

近日,能链智电(NASDAQ:NAAS)发布未经审计的2024年二季度及上半年财报。数据显示,该公司上半年营收增速稳健,核心充电服务的规模效应得到释放。 能链智电在财报中透露,该公司于6月首度实现了单月…

echarts使用案例

1.配置legend icon 根据点击事件动态更换样式 <template><div ref"chart" style"width: 600px; height: 400px;"></div></template><script>import * as echarts from echarts;export default {name: EchartsExample,data(…

图论理论基础

图论理论基础 | 代码随想录 图的基本概念 二维坐标中&#xff0c;多个点连成的线就构成了图。图也可以是一个节点&#xff0c;甚至没有节点&#xff08;空图&#xff09;。 图的种类 整体上一般分为有向图和无向图。 有向图是指图中边是有方向的&#xff0c;无向图是指图中…

《GPT-4o mini:开启开发与创新的新纪元》

在科技发展的快速进程中&#xff0c;OpenAI 推出的 GPT-4o mini 模型如同一阵春风&#xff0c;给开发者们带来了新的希望和机遇。它以其卓越的性能和极具吸引力的价格&#xff0c;成为了行业内热议的焦点。 当我首次听闻 GPT-4o mini 的消息时&#xff0c;内心充满了好奇与期待…

Pytorch笔记1

建议点赞收藏关注&#xff01;持续更新至pytorch大部分内容更完。 整体框架如下 目录 gpu加速数据数据结构张量TensorVariable 预处理数据增强 模型构建模块组织复杂网络初始化网络参数定义网络层 损失函数创建损失函数设置损失函数超参数选择损失函数 优化器管理模型参数管理…

【ESP32 IDF 软件模拟SPI驱动 W25Q64存储与读取数组】

目录 SPISPI介绍SPI时序代码编写&#xff08;spi&w25q64&#xff09; 代码调试 SPI SPI介绍 SPI&#xff08;Serial Peripheral Interface&#xff0c;串行外围设备接口&#xff09;是一种高速、全双工、同步的串行通信总线&#xff0c;常用于微控制器与各种外围设备&…

【React】详解如何获取 DOM 元素

文章目录 一、基础概念1. 什么是DOM&#xff1f;2. 为什么需要获取DOM&#xff1f; 二、使用 ref 获取DOM元素1. 基本概念2. 类组件中的 ref3. 函数组件中的 ref 三、 ref 的进阶用法1. 动态设置 ref2. ref 与函数组件的结合 四、处理特殊情况1. 多个 ref 的处理2. ref 与条件渲…

大数据-49 Redis 缓存问题中 穿透、雪崩、击穿、数据不一致、HotKey、BigKey

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

nginx目录列表美化—rpm安装

目录美化 1. 下载NGINX2. 下载美化工具3. 配置模块4. 主题下载5. 配置文件编写6. 其它问题 1. 下载NGINX RHEL系列的yum源 使用yum源安装如果不能指定版本&#xff0c;请点击跳转nginx的仓库 nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$…

【H.264】H.264详解(二)—— H264视频码流解析示例源码

文章目录 一、前言二、示例源码【1】目录结构【2】Makefile源码【3】h264parser.c源码【4】编译运行【5】源码下载地址 声明&#xff1a;此篇示例源码非原创&#xff0c;原作者雷霄骅。雷霄骅&#xff0c;中国传媒大学通信与信息系统专业博士生&#xff0c;在此向雷霄骅雷神致敬…

【Python机器学习】朴素贝叶斯——条件概率

条件概率 假设现在有一个装了7块石头的罐子&#xff08;3块灰色&#xff0c;4块黑色&#xff09;&#xff0c;如果从中随机取出一块&#xff0c;灰色的可能性就是3/7&#xff0c;黑色的可能性是4/7。我们使用p(gray)来表示取到灰色石头的概率&#xff0c;其概率值可以通过灰色…

cocos creator 3学习记录01——如何替换图片

一、动态加载本地图片 1、通过将图片关联到CCClass属性上来进行代码切换。 1、这种方法&#xff0c;需要提前在脚本文件中声明好代表图片的CCClass属性。 2、然后拖动图片资源&#xff0c;到脚本内声明好的属性上以进行关联。 3、然后通过程序&#xff0c;来进行切换展示。…

unity2D游戏开发01项目搭建

1新建项目 选择2d模板,设置项目名称和存储位置 在Hierarchy面板右击&#xff0c;create Empty 添加组件 在Project视图中右键新建文件夹 将图片资源拖进来&#xff08;图片资源在我的下载里面&#xff09; 点击Player 修改属性&#xff0c;修好如下 点击Sprite Editor 选择第二…

Hadoop3:HDFS的客户端工具Big Data Tools(IDEA版本)

1、安装插件 在Plugins里搜索Big Data Tools 安装完成后&#xff0c;重启IDEA 2、配置Windows环境 主要是配置Hadoop环境&#xff0c;否则无法通过插件远程连接HDFS 1、解压hadoop安装包 2、进入hadoop的bin目录 放入图中标红的两个文件 3、配置hadoop环境变量 新建HAD…

freertos的学习cubemx版

HAL 库的freertos 1 实时 2 任务->线程 3 移植 CMSIS_V2 V1版本 NVIC配置全部是抢占优先级 第四组 抢占级别有 0-15 编码规则&#xff0c; 变量名 &#xff1a;类型前缀&#xff0c; c - char S - int16_t L - int32_t U - unsigned Uc - uint8_t Us - uint…