CentOS 6.6,用户特定环境的限制

CentOS 6.6,用户特定环境的限制

因此我会添加上下文,但我的 BLUF 是这样的:

在一个积极倾向于“旧的、知名的、稳定的”(CentOS 6.6、高度策划的 Repo 等)而不是“现代的、高效的、有效的”的组织中,但允许我在自己的配置文件中拥有相当大的自由度,我在多大程度上(或者我应该)在我的配置文件中创建自己的环境,以及实现这一目标的最明智方法是什么?

我所讨论的一个简单的例子是 Python。整个系统我只能使用 2.6,但没有人关心我是否为了自己的目的运行 2.7 或 3.4,但即使手动构建它们(更不用说使用 pyenv 等工具)也没有成功(尽管似乎总是只是超出了我的技能范围)

所以没有人会对我编译新代码或运行来自合理来源的软件包有意见。我所做的一切都不会在 SU 环境中运行,等等,但我似乎在这里花费了大量的时间在原地踏步。我无法安装 RPM,因为我甚至无法运行该死的工具(即使在用户环境中),等等...我想他们有办法修复权限以允许我这样做(而不允许我进行系统范围的更改),但在我提出这样的要求之前,我需要知道这是解决我的问题的最佳(或至少是可行的)解决方案。

我应该采取什么途径来实现这一点?除此之外,我是的,事实上想要遵守这些政策的总体意图,所以我想避免做任何真正引入安全隐患的事情,那么我应该采取多大程度的限制呢?

使用包管理器是否可行?构建一个功能性的构建环境?等等。

当然,如果某处有一本入门书我应该读,我会非常感激能有一个链接。我的谷歌搜索能力在这里失败了(可能是因为我很难简洁地描述这个问题)。

答案1

好的,这就是我从你的问题中得到的答案。你想要一个环境,其中包含你认为需要的任何软件包的任何版本,对吗?如果是这样,你这样做没有问题,因为 Linux 实际上支持这一点。对于你作为用户不能做什么,几乎没有限制。

对于您的第一个例子,python。系统管理员(明确)不要升级它,因为它对于 YUM 来说非常非常重要,破坏它将导致服务器无法更新。但是,这不会阻止您在主目录中创建子文件夹并引入包含所需二进制文件的 tar 包。只需转到此处Python 下载并选择一个 tar 包。将其解压到你的主目录中,然后export PATH=/location_to_bin_folder_for python:$PATH在你的 .bashrc 中添加一个,就可以了。

在 Linux 世界中,这是完全可以接受的(公司可能会限制您安装的内容),而 tar 包通常是封闭基础设施的首选。包管理器通常是管理员使用的东西,除非您有特定的想法,例如来自 Red Hat 或其他第三方 repo 提供商的 php 版本,否则您不会知道这一点。

总而言之,您受到管理员设置的规则的限制。在封闭的基础设施中,安全性并不是一个大问题。您可以更进一步,如果需要,可以使用 tar 包作为更新来制作 RPM,并且可以订阅更新以保持 RPM 更新。我会发现他们想限制您多少,但实际上所有开发工具都可以作为 tar 存档用于此目的。

编辑 :

实现所需目标的最简单方法是使用替代方法。您可以通过在主文件夹中创建一个文件夹来实现,例如 /home/user/bin

在两个单独的文件夹中安装 Python 和其他程序,例如 Java

/home/user/python/home/user/java.

在 bin 文件夹中,创建指向所需二进制文件的符号链接

$ ls -l /home/user/bin

lrwxrwxrwx. 1 user user 13 May 19 19:59 java -> /home/user/java/bin/java
lrwxrwxrwx. 1 user user 13 May 19 19:59 javac -> /home/user/java/bin/javac
lrwxrwxrwx. 1 user user 15 May 19 19:59 python -> /home/user/python/bin/python

将其添加到你的 .bashrc

export PATH=/home/user/bin:$PATH

打开一个新的终端会话并尝试 which python

应该说/home/user/bin/python

添加您认为适合您选择的版本的任何其他二进制文件,它将按预期工作

相关内容