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

news2024/12/25 1:16:42

今天在开发的时候遇上了一个问题就是要去我们数据平台中进行数据的提取,数据存储用的是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/mc

chmod +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/mc

chmod +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://www.coloradmin.cn/o/1951562.html

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

相关文章

多区域DNS以及主从DNS的搭建

搭建多域dns服务器: 搭建DNS多区域功能(Multi-Zone DNS)主要是为了满足复杂网络环境下的多样化需求,提高DNS服务的灵活性、可扩展性和可靠性。 适应不同网络环境: 在大型组织、跨国公司或跨地域服务中,网…

微服务安全——SpringSecurity6详解

文章目录 说明SpringSecurity认证快速开始设置用户名密码基于application.yml方式基于Java Bean配置方式 设置加密方式自定义用户加载方式自定义登录页面前后端分离认证认证流程 SpringSecurity授权web授权:基于url的访问控制自定义授权失败异常处理方法授权:基于注解的访问控制…

2024上半年热门网络安全产品和工具TOP10_wiz安全产品

今年上半年,利用生成式人工智能(GenAI)的网络安全工具继续激增。许多供应商正在利用GenAI的功能来自动化安全运营中心(SOC)的工作,特别是在自动化日常活动方面,如收集威胁信息和自动创建查询。 …

element 结合 {} 实现自适应布局

通过el-row el-col 实现 例如 :xl“{ 1: 24, 2: 12, 3: 8, 4: 6 }[tableData.length] || 6” length 1 2 3 4 、代码数量为 1 2 3 4 >4 时不同卡片数量时尺寸的配置

LLM模型之基于MindSpore通过GPT实现情感分类

前言 # 该案例在 mindnlp 0.3.1 版本完成适配,如果发现案例跑不通,可以指定mindnlp版本,执行!pip install mindnlp0.3.1 !pip install mindnlp !pip install jieba %env HF_ENDPOINThttps://hf-mirror.com 导入对应的包 import osimport m…

【因数之和】python求解方法

输入两个整数A和B,求A的B次方的因子和,结果对1000000007取模。 def mod_exp(base, exp, mod):result 1while exp > 0:if exp % 2 1:result (result * base) % modbase (base * base) % modexp // 2return resultdef sum_of_factors(n):total 0…

讨逆猴子剪切板,浏览器复制失败?

讨逆猴子剪切板,复制失败? 问题:本地开发情况下可以直接复制,公网就不行了…触发了安全机制。 const link 内容;navigator.clipboard.writeText(link);报错: 解决方案: if (navigator.clipboard &&…

使用大型语言模型进行文档解析(附带代码)

动机 多年来,正则表达式一直是我解析文档的首选工具,我相信对于许多其他技术人员和行业来说也是如此。 尽管正则表达式在某些情况下功能强大且成功,但它们常常难以应对现实世界文档的复杂性和多变性。 另一方面,大型语言模型提供了…

5.CSS学习(浮动)

浮动(float) 是一种传统的网页布局方式,通过浮动,可以使元素脱离文档流的控制,使其横向排列。 其编写在CSS样式中。 float:none(默认值) 元素不浮动。 float:left 设置的元素在其包含…

【计算机网络】单臂路由实现VLAN间路由实验

一:实验目的 1:掌握如何在路由器端口上划分子接口,封装dot1q协议,实现VLAN间的路由。 二:实验仪器设备及软件 硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。具体为:路由器…

git学习笔记(总结了常见命令与学习中遇到的问题和解决方法)

前言 最近学习完git,学习过程中也遇到了很多问题,这里给大家写一篇总结性的博客,主要大概讲述git命令和部分难点问题(简单的知识点这里就不再重复讲解了) 一.git概述 1.1什么是git Git是一个分布式的版本控制软件。…

SQL Developer 连接 MySQL

服务: $ sudo systemctl list-unit-files | grep enabled | grep mysql mysqld.service enabled日志: mysqld.log # sudo grep temporary password /var/log/mysqld.log 2024-05-28T00:57:16.676383Z 6 [Note] [MY…

GB28181摄像头管理平台WVP视频平台SQL注入漏洞复现 [附POC]

文章目录 GB28181摄像头管理平台WVP视频平台SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 GB28181摄像头管理平台WVP视频平台SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内…

AI带货直播软件开发会用到哪些源代码?

随着人工智能技术的迅猛发展,AI带货直播软件已成为电商领域的一股新兴力量,这类软件通过结合AI技术、虚拟形象和实时互动功能,极大地提升了用户体验和购买转化率。 在开发这类软件的过程中,源代码的编写至关重要,本文…

20 B端产品的数据分析

数据分析的价值 数据衡量业务:通过管理数据报表,可以快速衡量业务发展状态。 数据洞察业务:通过数据分析,可以找到业务发展的机遇。 数据驱动指导业务:基于数据,驱动业务决策,数据支撑决策。 …

python+vue3+onlyoffice在线文档系统实战20240726笔记,左侧菜单实现和最近文档基本实现

解决右侧高度过高的问题 解决方案:去掉右侧顶部和底部。 实现左侧菜单 最近文档,纯粹文档 我的文档,既包括文件夹也包括文件 共享文档,别人分享给我的 基本实现代码: 渲染效果: 简单优化 设置默认菜…

K8S 部署peometheus + grafana 监控

安装说明 如果有下载不下来的docker镜像可以私信我免费下载。 系统版本为 Centos7.9 内核版本为 6.3.5-1.el7 K8S版本为 v1.26.14 动态存储:部署文档 GitHub地址 下载yaml 文件 ## 因为我的K8S 版本比较新,我下载的是当前的最新版本,你的要…

【10.PIE-Engine案例———— 加载Terra星全球1km地表温度和发射率每日天合成产品(MOD11A1 V61)数据集】

加载Terra星全球1km地表温度和发射率每日天合成产品(MOD11A1 V61)数据集 原始路径 欢迎大家登录航天宏图官网查看本案例原始来源 最终结果 具体代码 /*** File : MOD11A1* Time : 2020/7/21* Author : piesat* Version : 1.0* Contact : 400-890-0662* Li…

6.3 面向对象技术-设计模式

设计模式 创建型模式 结构型模式

【cuda】在老服务器上配置CUDA+cmake开发环境

在老服务器上配置CUDA+cmake开发环境 服务器x86_64,系统是centos8,cmake版本是2.8.10 背景 不能更换服务器系统无法下载CUDA安装包解决思路 使用可以至此CUDA开发的较老的cmake直接移植CUDA环境配置环境中遇到的问题 服务器无法编译cmake移植CUDA编译器及部分库,代码无法…