Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

5
适用于学校的Linux解决方案?
我正在作为管理员工作的学校要求系统升级。目前,我们使用的是政府建议的Linux发行版,名为SuliXerver-很棒,但是大多数管理功能已被禁用,并由管理发行版的公司控制。由于该公司忽略了一些重大问题,因此学校董事会决定改用其他产品。 由于我们的预算有限,Windows解决方案已成为不可能。这给我们留下了开源和免费的软件。 我一直在研究面向教育的发行版,但事实是,没有一个像SuliXerver那样为终端用户提供(根据我的观察)舒适程度-主要是统一的Web界面,尽管受到限制,具有所有必需的功能(用户管理,用户网络访问控制,电子邮件等)。 尽管我仍未决定最好的选择。到目前为止,我检查过的发行版: Debian Edu / Skolelinux-显然是我们的最佳选择。支持我们需要支持的大部分内容,但是在修改预加载的初始值时,BUT受到限制-LDAP方案,网络设置,域,服务器名称等。 Karoshi Server-在我看来似乎很有限,但尚未准备就绪。与Skolelinux相比,维护也更少 ClearOS-虽然不是直接用于学校,但可以挽救大量系统,并对其进行稍作修改以与我们的设置一起使用。 Zentyal-与ClearOS相同,但是在Web界面方面功能有限。还具有更好的支持,并且界面更易于使用。 还有其他我想念的发行版,它会更适合我们的解决方案吗?由于时间有限,我无法完成全部转让(到10月底,我应该已经可以使用原型系统,而到12月底,必须完成过渡),我不愿意写我们的任务。自己的解决方案。 要求: 统一的Web界面,易于学生,教师和管理员使用。教师应该能够通过代理设置来控制教室的互联网访问,修改学生的密码,而不是核心系统设置。学生可以更改自己的密码。 电子邮件系统-已提供Web界面(RoundCube或RainLoop),尚未确定后端(希望具有Exchange ActiveSync) 用于Windows域登录和文档存储的OpenLDAP + Samba(用于存储用户设置,书签,文件)。还可以自动分配网络驱动器。 Web服务器-使用PHP和MySQL运行的Apache或NGINX。 办公室打印服务器 DNS服务器用于本地计算机名称解析

3
如何非侵入性地测试对文件的写访问权限?
在Shell脚本中,如何在不实际尝试修改文件的情况下轻松地且非侵入性地测试对文件的写访问权限? 我可以解析的输出stat,但这看起来确实很复杂,并且可能很脆弱,尽管我不确定实现和时间之间的统计输出有多少不同。 我可以附加到文件的末尾,看看是否成功,但这有潜在的危险,原因有两个: 我现在必须删除添加项,并且如果其他进程将文件写入文件,由于我的行不再是最后一行,因此这立即变得很简单。 任何读取文件的过程可能对该文件的内容有任意要求,而我可能只是破坏了该应用程序。

3
为什么coreutils的排序速度比Python慢​​?
我编写了以下脚本来测试Python排序功能的速度: from sys import stdin, stdout lines = list(stdin) lines.sort() stdout.writelines(lines) 然后,我将其与sort包含1000万行的文件中的coreutils 命令进行了比较: $ time python sort.py <numbers.txt >s1.txt real 0m16.707s user 0m16.288s sys 0m0.420s $ time sort <numbers.txt >s2.txt real 0m45.141s user 2m28.304s sys 0m0.380s 内置命令使用了所有四个CPU(Python仅使用了一个),但是运行时间大约是它的3倍!是什么赋予了? 我正在使用Ubuntu 12.04.5(32位),Python 2.7.3和sort8.13

2
重用和修改条目时如何停止bash编辑历史记录?
当您重新使用和编辑上一个命令时,某些bash实例会更改命令历史记录,而其他实例显然不会。我一直在搜索,但是找不到说明如何防止历史记录中的命令在重用和编辑时被修改的内容。 有这样的问题这一个,但似乎说如何应对历史正在编辑。我最近才遇到一个bash实例,该实例在您重用命令时会编辑历史记录-我使用过的所有以前的bash shell(据我所知)都配置为在重用时不更改历史记录并编辑命令。(也许在过去的十五年左右的时间里,我一直没有适当注意我的外壳历史...) 因此,这可能是最好的问题:我可以告诉bash从不修改历史记录吗?

4
使用更广泛的是:chmod 777或chmod a + rwx [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在更改权限的两个选项中: chmod 777 file.txt chmod a+rwx file.txt 我正在写一个文档,详细说明用户需要更改某个文件的文件权限。我想将其详细介绍为更改文件权限的最常用方法。 目前是说: - Set permissions on file.txt as per the example below: - chmod 777 /tmp/file.txt 这只是一个示例,不会更改文件以使所有人具有完全权限。

3
打开一个文本文件,让它自己更新
如何打开一个文本文件并让其更新?类似于top工作方式。 我想打开一个日志文件,并观看它的动态更新。 我刚刚尝试过: $ tail error.log 但是刚刚意识到,它只是向您显示了日志文件中的行。 我正在使用RHEL 5.10
20 files  monitoring  tail 

3
来自/ usr / bin / java的Java位置
我试图在我的Linux系统中找到我的java位置,并得到了 [980@b449 ~]$ which java /usr/bin/java [980@b449 ~]$ readlink -f $(which java) /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java 这两个命令有什么区别?
20 symlink  java 

2
(/ etc / sysconfig / iptables)“不建议手动自定义此文件。”为什么?
直接编辑此文件 /etc/sysconfig/iptables 可以为我省去那么多头痛,那么多时间等等... 但它在文件的最上方说: Manual customization of this file is not recommended. 这是全新的centos 6.4云服务器附带的'/ etc / sysconfig / iptables'。 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED …


5
无法提取EPEL存储库元数据
根据此文档在Scientific Linux上安装Nginx 失败: [vagrant@localhost ~]$ sudo su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epe l/6/x86_64/epel-release-6-8.noarch.rpm' Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch .rpm warning: /var/tmp/rpm-tmp.gdSOR9: Header V3 RSA/SHA256 Signature, key ID 0608b89 5: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [vagrant@localhost ~]$ sudo yum install nginx Loaded plugins: security Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. …

3
AWK printf数的宽度并四舍五入
我需要打印出一个数字,但要给定宽度并四舍五入(用awk!) %10s 我有这个,以某种方式我需要连接,%d但是我所做的一切最终导致awk的参数过多(因为我有更多的列)。
20 scripting  awk  printf 

1
带有zsh的git完成:带空格的文件名未正确转义
Git完成: 我无法在系统上使用git的文件名自动完成功能。我在OS X(10.9.3)上将zsh(5.0.5)与git(1.9.3 )一起使用。两者zsh和git都已通过自制软件安装。(完整版本的输出在文章的底部。) git的文件名完成不像我期望的那样插入空格。当我输入名称中带有空格的文件名时,shell将插入文件名而不会出现空格。zsh的内置补全功能不会执行此操作,而gits可以。 这是我所看到的示例。 我有一个存储库,其中包含一些名称中带有空格的文件。 % ls -la test test four - latest.txt test three.txt test two 当我使用制表符补全插入文件名时,shell反斜杠会按预期转义文件名。 % echo "testing" >> test<tab> 连按三次标签后,会自动完成此操作。 % echo "testing" >> test\ four\ -\ latest.txt ––– file test test\ four\ -\ latest.txt test\ three.txt test\ two git status 以引号显示这些文件名(它完全了解最新情况): % git …
20 zsh  autocomplete  git 

4
用户和组所有者在文件权限中的优先级
我对Linux(Arch Linux)的文件权限遇到了一些意外(对我而言)。基本上我有: userX 在 groupX fileX userX:groupX ---rwx---- 让我感到困惑的是:我无法对执行任何操作(rwx)fileX。这是正确的吗?有人可以确认这确实是预期的行为吗? 我可以执行的唯一动作是mv和rm,因为我对父目录的写权限。 事实是,我一直认为这些权限会相互崩溃,从最一般的权限开始(其他->组->用户)。换句话说,如果o=rwx谁在乎组和用户的权限是什么?显然不是这种情况,但是对我来说没有太大意义。似乎违反直觉。这种方法似乎唯一有用的是,轻松地排除非常特定的人员/组,这似乎并不是明智的选择(恕我直言)。此外,所有者(和组?)应该仍然可以chmod吗?关于这个问题有什么想法吗?

1
使用tail时将换行符转换为以空分隔符
如何将输出更改tail为使用以空终止的行而不是换行? 我的问题与此相似:如何在bash中以空定界输入执行“ head”和“ tail”操作?,但不同之处在于我想执行以下操作: tail -f myFile.txt | xargs -i0 myCmd {} "arg1" "arg2" 我没有使用find,因此无法使用-print0 所有这些都是为了避免在xargs中发生错误: xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option

11
Vim错误E138:无法写入viminfo文件$ HOME / .viminfo!
恐怕我遇到了很奇怪的事情。当我正常打开文件时vim README.txt,一切正常。但是在时sudo vim README.txt,该文件呈现空白,并E138: Can't write viminfo file $HOME/.viminfo!在尝试退出时给我一个错误。 我怀疑.viminfo文件已损坏,因此将其删除。这个问题仍然存在。有人可以帮忙吗?
20 permissions  vim  sudo  root 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.