Questions tagged «linux»

Linux是基于Linux内核的类UNIX开源操作系统的通用术语。

8
apt-get更新后收到KEYEXPIRED错误消息时该怎么办?
当由a在基于debian的系统上更新我的软件包时 sudo apt-get update 我收到该错误消息: Reading package lists... Done W: GPG error: ftp://ftp.fr.debian.org stable/non-US Release: The following signatures were invalid: KEYEXPIRED 1138684904 我应该怎么做才能解决这个问题?
73 linux  debian 

5
在Linux中,free命令报告的“缓冲区”和“缓存”之间有什么区别?
这是我不时看到的一个老问题。我对此的理解是有限的(很久以前就已经读过它们之间的差异,但是所涉及的事实从未真正陷入困境)。 据我了解, 缓冲液 由具有有效I / O操作的程序使用,即正在等待将数据写入磁盘的程序 快取 I / O操作完成的结果,即已刷新的缓冲区或从磁盘读取的数据以满足请求的结果。 我可以为后代获得清晰的解释吗?

18
在Linux上将文件缓存/预加载到RAM
我有一台比较旧的服务器,它具有4GB的RAM,并且几乎全天都在提供相同的文件,但是它是从硬盘驱动器来完成的,而3GB的RAM是“免费的”。 曾经尝试运行ram驱动器的任何人都可以见证它在速度方面很棒。该系统的内存使用率通常不会高于1GB / 4GB,因此我想知道是否有一种方法可以使用额外的内存来获得良好的性能。 是否可以告诉文件系统始终在RAM之外提供某些文件? 是否可以使用RAM来提高文件读取能力的其他方法? 更具体地说,我不是在这里寻找“黑客”。我希望文件系统调用可以从RAM提供文件,而无需创建ram驱动器并手动将文件复制到那里。或至少有一个脚本可以帮我做到这一点。 这里可能的应用是: 具有大量静态文件的Web服务器 具有大型库的应用程序服务器 具有过多RAM的台式计算机 有任何想法吗? 编辑: 发现此信息非常有用:Linux Page Cache和pdflush 正如Zan所指出的,内存实际上并不是空闲的。我的意思是应用程序没有使用它,我想控制应该在内存中缓存的内容。


2
为什么在Red Hat和CentOS的主要版本之间进行升级如此困难?
“我们可以将现有的生产EL5服务器升级到EL6吗?” 来自两个完全不同环境的客户的简单要求使我通常的最佳实践回答是“是,但是这将要求协调重建所有系统 ”。 出于停机和资源原因,两个客户都认为完全重建他们的系统是不可接受的选择……当被问到为什么必须完全重新安装系统时,我没有一个很好的答案,“就是这样...” 我不是要引起有关配置管理(“伪造一切 ” 并不总是适用)或客户端应该如何计划更好的响应。这是一个现实的环境示例,该环境中的生产能力已经增长并蓬勃发展,但是没有一个干净的方法可以迁移到其下一代操作系统。 环境A: 具有40个Red Hat Enterprise Linux 5.4和5.5 Web,数据库服务器和邮件服务器,运行Java Web应用程序堆栈,软件负载平衡器和Postgres数据库的非营利组织。所有系统都在两个位于不同位置的VMWare vSphere群集上虚拟化,每个群集都具有HA,DRS等。 环境B: 高频金融贸易公司,在运行生产交易业务的多个主机代管设施中具有200个CentOS 5.x系统,支持内部开发和后台功能。交易服务器在裸机商品服务器硬件上运行。它们具有大量的sysctl.conf,,rtctl中断绑定和驱动程序调整,以降低消息传递延迟。有些具有自定义和/或实时内核。开发人员工作站也正在运行类似版本的CentOS。 在这两种情况下,环境都按原样运行。升级的愿望来自对EL6中可用的更新应用程序或功能的需求。 对于非营利性公司而言,它与Apache,内核和使开发人员感到高兴的一些东西联系在一起。 在贸易公司中,它涉及内核,网络堆栈和GLIBC的一些增强,这将使开发人员感到满意。 两者都不能轻易地打包或更新,而无需彻底改变操作系统。 作为系统工程师,我感谢Red Hat在主要版本之间切换时建议完全重建。一个干净的开始会迫使您重构并在此过程中注意配置。 对客户的业务需求敏感,我想知道为什么这是一项艰巨的任务。RPM打包系统不仅具有处理就地升级的能力,但它带给您的细节很少:/boot需要更多空间,新的默认文件系统,RPM可能破坏升级中的版本,不建议使用和已淘汰的软件包... 这里的答案是什么?其他发行版(基于.deb,Arch和Gentoo)似乎具有此功能或更好的方法。假设我们找到了以正确的方式完成此任务所需的停机时间: 当EL7释放并稳定下来时,这些客户应该怎么做才能避免相同的问题? 还是这种情况下,人们需要每几年辞职以进行全面重建? 随着Enterprise Linux的发展,这种情况似乎变得更糟了。 这是否阻止了任何人使用Red Hat和派生操作系统? 我想这里是配置管理的角度,但是我看到的大多数Puppet安装都无法很好地转换为具有高度定制的应用程序服务器的环境(环境B可能只有一个服务器,其ifconfig输出如下所示)。我会很感兴趣地听到关于如何使用配置管理来帮助组织克服RHEL主要版本冲突的建议。

14
重新读取分区表而不重启?
有时,当调整大小或以其他方式处理磁盘上的分区时,cfdi​​sk会说: Wrote partition table, but re-read table failed. Reboot to update table. (这在其他分区工具中也会发生,因此我认为这是Linux问题,而不是cfdisk问题。)为什么会这样,为什么它有时仅会发生,我应该怎么做才能避免呢? 注意:请假设我实际上正在编辑的分区均未打开,未安装或正在使用中。 更新: cfdisk用于ioctl(fd, BLKRRPART, NULL)告诉Linux重新读取分区表。到目前为止hdparm -z DEVICE,建议使用的其他两个工具(sfdisk -R DEVICE)完全相同。partprobe DEVICE另一方面,该命令似乎使用了一个称为BLKPG的新ioctl,可能更好。我不知道。(如果BLKPG失败,它也会退回到BLKRRPART上。) BLKPG似乎是“此分区已更改;这是新的大小”操作,它看起来像partprobe在传递的设备上的所有分区上单独调用它,因此如果未使用单个分区,它应该可以工作。但是,我没有机会尝试。
71 partition  fdisk  linux 

9
什么是debian-sys-maint MySQL用户(及更多)?
我已经被默认安装在从Ubuntu存储库安装的mysql-server软件包上的'debian-sys-maint'用户咬过几次。 通常,发生的事情是我提取生产数据库的新副本(该数据库不在Debian / Ubuntu上运行)以进行故障排除或新开发,却忘记排除mysql.user表,从而丢失了debian-sys-maint用户。 如果我们出于任何原因添加了新的mysql用户,则必须将它们“合并”到开发环境中,而不仅仅是覆盖表。 没有用户,我的系统仍然可以正常运行,但是遇到了以下错误: sudo /etc/init.d/mysql restart Stopping MySQL database server: mysqld...failed. error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' debian-sys-maint的作用是什么? 软件包维护者是否有更好的方法来做他们想做的事情? 丢失后最简单的还原方法是什么? 该用户的正确/最小权限集是什么? 似乎“授予*。*的所有特权”的想法很糟糕。 编辑 附加问题-/etc/mysql/debian.cnf中的密码是否已经被哈希处理,或者这是纯文本密码?当您重新创建用户时,这很重要,但我似乎永远不会在第一次尝试时就搞定它。 谢谢
71 linux  ubuntu  mysql  debian 



7
显示所有用户及其组,反之亦然
我知道我已经有组和用户,但是我不确定它们的关联。是否有我可以用来列出所有用户或所有组的shell命令,以及可以列出指定用户/组的所有组/用户的命令? 因此,showusers将列出所有用户,并showgroups -u thisuser显示其中的所有组thisuser。
70 linux  centos  ssh  users  groups 

6
我可以发送一些文本到在屏幕会话中运行的活动进程的STDIN吗?
我的Linux服务器上的屏幕会话中有一个长时间运行的服务器进程。这有点不稳定(可惜不是我的软件,所以我无法解决这个问题!),所以我想编写一个每晚重启进程的脚本,以帮助稳定。使其正常关机的唯一方法是进入屏幕进程,切换至正在运行的窗口,然后在其控制台上输入字符串“ stop”。 我是否可以做任何智能重定向操作,以使cronjob每天在固定时间发送该stop命令?

8
如何获得刚刚开始的过程的pid
我想启动进程(例如myCommand)并获取其pid(以便稍后将其杀死)。 我尝试了ps并按名称过滤,但无法按名称区分进程 myCommand ps ux | awk '/<myCommand>/ {print $2}' 因为进程名称不是唯一的。 我可以通过以下方式运行流程: myCommand & 我发现可以通过以下方式获取此PID: echo $! 有没有更简单的解决方案? 我很乐意执行myCommand并通过一行命令获得其PID。
70 linux  unix  bash  process  pid 

12
在Linux上运行的Exchange服务器替换
我担任系统管理员已经有几年了,我一直回想起像Microsoft Outlook这样的用户,并希望使用其Exchange功能。我已经尝试了很多商业选择,但是通常要么缺少基本功能,要么存在稳定性问题。 简而言之,我正在寻找具有以下功能的Microsoft Exchange替代产品: 通过SQL或LDAP进行身份验证 用户不在现场时,具有坚实舒适的Web界面 支持复制和负载平衡(如果其中一项失败,则第二项应该已经在运行) Outlook客户端支持(或非常好的替代客户端) 资源预订(会议室,投影仪,公务机等) 日历(共享/私人)和电子邮件(如果不明显) (可选)我们* nix用户的跨平台客户端。 (可选)可用的公司支持合同 (可选)具有开源软件者优先 请尽可能详细地回答您的问题,以确定您已经成功部署了该软件并满足了需求。如果我想要的清单声称替代品,我只想google一下。 我亲自尝试了Binary Server,Novell Groupwise,本地的Postfix / Cyrus之类的东西,最后尝试了“真正的东西”,因为那些用户只是喜欢Exchange。 请帮助我找到一个好的选择。
69 linux  email  exchange 

3
/ sbin / nologin和/ bin / false之间有什么区别?
我经常听到它建议通过将其shell设置为来禁用用户帐户/bin/false。但是,在我现有的Linux系统上,我看到大量的现有帐户(所有这些帐户都是服务帐户)使用的是Shell /sbin/nologin。 我从手册页看到,该页/sbin/nologin面向用户显示一条消息,指出该帐户已被禁用,然后退出。大概/bin/false不会打印任何东西。 我还看到/sbin/nologin列出了/etc/shells,而/bin/false没有列出。 手册页说,FTP将禁止外壳未在其中列出的用户访问,/etc/shells并暗示其他程序也可以这样做。这是否意味着某人可以使用具有/sbin/nologin外壳程序的帐户登录FTP ? 这里有什么区别?我应该使用其中哪一个来禁用用户帐户,在什么情况下?商家信息/etc/shells有什么其他影响?
69 linux  security  login 

7
如何为WWW文件夹设置Linux权限?
更新摘要 / var / www目录归root:root其所有,这意味着没有人可以使用它,并且它完全没有用。由于我们都希望Web服务器能够正常工作(并且没有人应该以“ root”身份登录),因此我们需要修复此问题。 只有两个实体需要访问。 PHP / Perl / Ruby / Python都需要访问文件夹和文件,因为它们创建了很多文件夹(即/uploads/)。这些脚本语言应该在nginx或apache下运行(或者甚至在其他类似PHP的FastCGI)下运行。 开发商 他们如何获得访问权限?我知道有人在某个地方做过此事。然而,有数十亿个网站存在,您会认为将会有更多有关此主题的信息。 我知道777对所有者/组/其他拥有完全的读取/写入/执行权限。因此,这似乎并不需要正确,因为它赋予了随机用户完全的权限。 需要使用什么权限,/var/www以便: 像git或svn这样的源代码控制 像“网站”这样的组中的用户(甚至添加到“ www-data”中) 像apache或lighthttpd这样的服务器 和PHP / Perl / Ruby 都可以在那里读取,创建和运行文件(和目录)吗? 如果我是正确的话,Ruby和PHP脚本不会直接“执行”,而是传递给解释器。因此,无需对/var/www...中的文件具有执行权限?因此,似乎正确的许可chmod -R 1660将使 这四个实体可共享的所有文件 所有文件均不可错误执行 完全阻止其他人进入目录 将以后所有文件的权限模式设置为“粘滞” 这个对吗? 更新1:我只是意识到文件和目录可能需要不同的权限-上面我在谈论文件,因此我不确定目录权限是什么。 更新2:文件夹结构/var/www发生了巨大变化,因为上述四个实体之一总是添加(有时是删除)许多级别的文件夹和子文件夹。他们还创建和删除其他3个实体可能需要读/写访问权限的文件。因此,权限需要对文件和目录执行以上四项操作。由于它们都不需要执行许可(请参阅上面有关ruby / php的问题),我将假定rw-rw-r--许可将是所有需要的并且完全安全,因为这四个实体是由受信任的人员(请参阅#2)和所有其他用户运行的系统只有读取权限。 更新3:这是用于个人开发计算机和私人公司服务器。没有像共享主机这样的随机“网络客户”。 更新4: slicehost的这篇文章似乎最能解释为www文件夹设置权限所需的内容。但是,我不确定运行PHP或svn / git的哪个用户或组apache / nginx以及如何更改它们。 更新5:我(终于)终于找到了一种方法来使所有这些工作(下面的答案)。但是,我不知道这是否是正确且安全的方法。因此,我开始了赏金计划。拥有保护和​​管理www目录的最佳方法的人将获胜。

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.