如题。我是 linux 桌面用户其实无所谓了,这里主要想问一下这是不是一个好习惯。
我遇到的实际软件是 R 软件,系统自己安装的 R 只有少量包(packages ),需要用户自己补充很多包。多用户时,如果每个用户都在自己的主目录下建立包目录,会造成大量的重复。
这里假设系统管理员不懂大家需要什么包,而所有用户使用的包的版本是相同的。此时管理员决定放开 /usr/lib/R 的权限为 777 。
请问管理员的做法有无弊端?
|      1tempdban      2015-09-05 23:58:06 +08:00 via Android 有各种弊端 各种库劫持 | 
|  |      2skydiver      2015-09-06 00:01:03 +08:00 新建一个目录,放进去公用的包,然后再设置 R 的加载路径之类 这样比较合适 直接改默认目录权限不合适 | 
|  |      3mkeith      2015-09-06 00:04:06 +08:00 现在硬盘很便宜啊 | 
|  |      4HentaiMew      2015-09-06 00:04:20 +08:00 非常的不好,把包(虽然我不确定你这里的包具体指的什么)放进 /usr/lib 里面也很不好 | 
|  |      5andyhenry OP @tempdban @skydiver @mkeith @HentaiMew  现在还不能 append ,我具体说一下。 R 的 package 就是他要用到的各种工具包,有点(我个人觉得啊,不一定对)类似于 python 中的 numpy flask 这种。 R 把默认的 package 全部放到 /usr/lib/RRO-3.2.1/R-3.2.1/lib64/R/library/中,我现在将这一文件夹递归设置成 777 权限,未来新的包也安装在此文件夹中,我并没有全部放开 /usr/lib/RRO-3.2.1 的权限。 $ ls /usr/lib/RRO-3.2.1/R-3.2.1/lib64/R/library/ base/ dichromat/ labeling/ plyr/ slam/ ...(下略)(每个包是一个文件夹) 这时并不涉及到其他的 bin 、 include 等文件夹。 这样是否也是不可行的? | 
|  |      6Comphuse      2015-09-06 00:19:59 +08:00 统计一下需求,把所有会用到的包都装上,然后把包目录 NFS export 出去,在客户端挂载为只读。 | 
|      7lilydjwg      2015-09-06 00:31:14 +08:00 如果你的所有用户互相之间都是信任的还好。否则的话,用户 A 觉得是不是库 X 有问题啊,我去修改看看。然后用户 B 的进程就 crash 掉了。 不想重复的话,其实有个很直接的办法—— zfs 。不过有其它问题。 建议用户要什么包提交请求,然后管理员帮忙安装。这个操作可以自动化进行。 也可以把那个文件交给一个专门的用户,然后授权你的用户们使用 sudo 切换到那个用户执行安装包的命令(仅能使用这一个命令)。(有被绕过的风险,但是你直接 777 风险更大,说不定哪个程序觉得 /usr/lib 下都是管理员授权的东西呢。) | 
|  |      8Lanceliel      2015-09-06 01:55:53 +08:00 R 这种情况估计管理员根本不想知道用户需求……要装的包像山一样多,每一个源都慢成狗。 umask 022? | 
|  |      9likuku      2015-09-06 02:57:43 +08:00 [我遇到的实际软件是 R 软件,系统自己安装的 R 只有少量包(packages ),需要用户自己补充很多包。多用户时,如果每个用户都在自己的主目录下建立包目录,会造成大量的重复。] 这些包都是有统一源提供么?假若不同人装的相同版本的包文件都一样(Byte 级别上一样),那么可以利用 ZFS 的消除重复数据功能来解决空间问题(简单讲可以让 /home 独立为一个 zfs 卷,对其开启数据祛重功能:相近 /相似文件假若存到 zfs 上的数据块是相同的,则只保留一份数据块,多个文件只引用同一个数据块,效果就类似 dropbox 这样)。 不过,至少在 2013 年, zfs (freebsd )的 数据祛重 功能还是狠消耗系统资源,数据量上来之后,可能负载会高到系统假死。尤其在批量修改 /删除文件时,会很惨。 | 
|  |      10likuku      2015-09-06 02:59:39 +08:00 zfs dedupe 功能介绍: How To Size Main Memory for ZFS Deduplication : http://www.oracle.com/technetwork/articles/servers-storage-admin/o11-113-size-zfs-dedup-1354231.html | 
|  |      11likuku      2015-09-06 03:01:26 +08:00 当然,假若是用 linux ,也可以另外装一台 freebsd 跑 zfs 用 nfs 共享出去, linux 将 nfs 挂到 /home | 
|  |      12likuku      2015-09-06 03:23:42 +08:00 看来即便是 2015 年了, zfs 的 dedupe 还是很坑... ZFS dedup: tested, found wanting | JRS Systems: the blog : http://jrs-s.net/2015/02/24/zfs-dedup-tested-found-wanting/ 文末提到另一条路 zfs 的文件系统压缩功能赢了,是可以推荐的。 ZFS compression: yes, you want this | JRS Systems: the blog : http://jrs-s.net/2015/02/24/zfs-compression-yes-you-want-this/ 的确,我自己已经在生产环境使用 zfs 的压缩功能(LZ4 算法),对于存储大量文本文件的状况,有非常好的效果,节省大量空间,效能上感觉不出与未压缩的差别。 虽然也有报道说最近一年里 zfs dedupe 也有了改进 ZFS dedupe is fixed soon - [H]ard|Forum : http://hardforum.com/showthread.php?t=1854062 |