Questions tagged «linux»

这些问题通常与Linux有关-并非特定于特定发行版。如果问题恰好在Linux环境中,请在问题正文中指定Linux发行版,但不要使用/ linux标记。

1
此Makefile如何使C程序甚至不指定编译器?
我正在使用《高级Linux编程(2001)》[代码]一书中的Makefile 。看到GNU make确实正确编译了代码,甚至没有在Makefile中指定编译器,我感到很奇怪。这就像没有任何食谱的烘烤! 这是代码的最低版本: 测试 int main(){} 生成文件 all: test 并使其真正起作用!这是它执行的命令: cc test.c -o test 我找不到任何有用的文档。这怎么可能? PS另加一点注意:甚至没有指定语言;因为test.c可用,所以GNU make使用cc。如果存在test.cpp或test.cc(不存在test.c),则使用g++(而不是c++)。
41 linux  make  gcc  gnu-make 


2
apache和PHP应该以什么用户身份运行?/ var / www文件应具有什么权限?
我只是旋转了一个Ubuntu 11.10盒子,然后跑去apt-get install apache2 php5在盒子上安装apache2和PHP 5。现在它正在充当“ Web服务器”,并加载“ It Works!”。页。现在,我正在尝试加强安全性,并且我对linux Web服务器存在以下问题: apache应该以谁的身份运行? 该用户应属于哪个组? 哪些软件包可以使PHP(和Apache?)作为文件的所有者运行?(例如在共享的虚拟主机上)我应该使用这些软件包吗?在小型系统上维护是否容易/可行? 使用apache运行时向网络提供文件和文件夹的默认权限应该是什么www-data?对于以用户身份运行的apache / php? 在检查默认设置时,我已经做了以下事情: 档案结构 当我cd /和做ls -al的内容列表,我看到/var: drwxr-xr-x 13 root root 4096 2012-02-04 20:47 var/ 如果我cd进入var并ls -al看到: drwxr-xr-x 2 root root 4096 2012-02-04 20:47 www/ 最后,在内部/var/www看到: drwxr-xr-x 2 root root 4096 2012-02-04 20:47 ./ drwxr-xr-x 13 …

5
如何在Linux中更改用户的默认组?
作为Linux管理的新手,我对以下命令有些困惑: useradd usermod groupadd groupmod 我刚读完Linux / Unix管理员手册中的用户管理书,但是有些事情仍然有些朦胧。 基本上useradd看起来很简单: useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert 我可以使用用户名添加“ David Hilbert” hilbert,并设置其默认目录,shell和组。我认为这-g是他的主要/默认组,-G也是他的其他组。 这些是我接下来的问题: 如果组faculty和famous不存在,此命令是否仍然有效?会创建它们吗? 如果没有,我该使用什么命令来创建新组? 如果我删除了该用户hilbert,但这些组中没有其他用户,它们是否仍然存在?我应该删除它们吗? 运行useradd上面的命令后,如何将David从famous组中删除,并重新分配hilbert尚不存在的主要组?

5
如何使用用户的UID杀死所有用户的进程
我想从Linux系统上的Shell脚本或本机代码中杀死特定用户的所有正在运行的进程。 我是否必须阅读/ proc目录并查找这些目录? 有任何想法吗?Linux中的UID下是否有pid的动态映射?这不是proc中的吗? 如果没有,那么此列表在哪里维护?我应该阅读吗?另外,系统中所有UID的静态列表在哪里,以便我可以验证此用户的存在,然后继续杀死在该用户下运行的所有进程?
41 c  linux  proc 


2
如何检查rx环,max_backlog和max_syn_backlog大小
在故障排除和调整过程中,经常会发现自己在思考以下Linux内核设置: net.core.netdev_max_backlog net.ipv4.tcp_max_syn_backlog net.core.somaxconn 除此之外fs.file-max,net.ipv4.ip_local_port_range,net.core.rmem_max,net.core.wmem_max,net.ipv4.tcp_rmem,和net.ipv4.tcp_wmem,他们似乎是混乱的重要旋钮,当你调整了一个框高水平并发用。 我的问题:如何检查每个队列中有多少个项目?通常,人们只是将它们设置得很高,但是我想记录这些队列的大小,以帮助预测未来的故障并在问题以用户可察觉的方式显现之前发现问题。
41 linux  kernel  networking  tcp 

6
如何仅将交换空间用于紧急情况?
我有一台Debian(Buster)笔记本电脑,具有8 GB RAM和16GB交换空间。我正在执行一项很长时间的任务。这意味着我的笔记本电脑在过去的六天内一直处于开机状态。 在执行此操作时,我需要定期将笔记本电脑用作笔记本电脑。这应该不成问题;长期运行的任务是受I / O约束,可以处理USB硬盘上的内容,并且不会占用太多RAM(<200 MB)或CPU(<4%)。 问题是几个小时后我回到笔记本电脑时,它会非常缓慢,可能需要30分钟才能恢复正常。这非常糟糕,崩溃监视器将其各自的应用程序标记为已冻结(尤其是浏览器窗口),并且开始错误地崩溃。 在系统监视器上查看,已使用的2.5 GB内存中约有一半转移到了swap中。我已通过删除交换空间(swapoff /dev/sda8)确认了这是问题所在。如果我没有交换空间就可以使用它,即使在24小时之后,它也几乎可以立即恢复运行。通过交换,实际上仅剩下前六个小时的前五分钟就变成了一块砖。我已经确认即使我不在时内存使用量也不会超过3 GB。 我曾尝试降低swappiness(另见:维基百科)对值10和0,但问题仍然存在。似乎经过一天的不活动之后,内核认为不再需要整个GUI,并将其从RAM擦除(将其交换到磁盘)。长期运行的任务是读取庞大的文件树并读取每个文件。因此可能是内核被混淆了以为缓存会有所帮助。但是,仅扫描一次具有约10亿个文件名的2 TB USB HD,额外的GB RAM就不会对性能产生很大的帮助。这是一台便宜的笔记本电脑,硬盘驱动器呆滞。它根本无法足够快地将数据加载回RAM。 如何告诉Linux仅在紧急情况下使用交换空间?我不想没有交换就跑。如果发生意外情况,并且操作系统突然需要额外的GB,那么我不希望任务被杀死,而宁愿开始使用swap。但是目前,如果我启用交换功能,则仅在需要时才可以使用笔记本电脑。 “紧急情况”的确切定义可能是一个有争议的问题。但是要澄清一下我的意思:紧急情况是系统处于交换或终止进程的状态而没有其他选择的地方。 什么是紧急情况?- 您真的要问吗?...希望您永远不会在燃烧的建筑物中发现自己! 对于这个问题,我无法定义所有可能构成紧急情况的东西。但是例如,紧急情况可能是当内核被迫压入内存以至于它开始使用OOM Killer终止进程时。当内核认为使用交换可以提高性能时,就不会出现紧急情况。 最终编辑: 我已经接受了一个答案,该答案恰好满足了我在操作系统级别上的要求。未来的读者还应该注意提供应用程序级解决方案的答案。
41 linux  memory  swap 

1
“活动(退出)”状态对SystemD服务意味着什么?
我正在使用一个自定义服务,该服务实际上运行一个称为thisismywebserver的Web服务器。当前,它不起作用(即,尝试访问页面时出现“无法连接”错误)。 当我运行此命令service thisismywebserver status以查看服务的状态时,我看到该状态为“活动(已退出)”。这是否意味着服务已停止工作?如果不是,那意味着什么? root@thisismywebserver-testing:~# service thisismywebserver status ● thisismywebserver.service - LSB: ThisIsMyWebServer server Loaded: loaded (/etc/init.d/thisismywebserver) Active: active (exited) since Sun 2015-11-08 23:01:33 EST; 18h ago Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.



6
Umount上的繁忙设备
我经常在卸载目录时遇到问题: 卸载/ mnt / dir umount:/ mnt / dir:设备正忙 设备繁忙的原因有很多。有时正在运行的进程具有打开的锁,有时会在之上安装其他目录/mnt/dir。 我的问题: 检查为什么无法卸载目录的步骤是什么。 我知道有很多原因,但是可以解释一个特定的解决方案。 [编辑] [X]在已安装的卷上运行进程。 [X]另一个卷已安装在我们要卸载的卷的顶部 [_] NFS锁定了我们要卸载的卷
41 linux  unmounting 


6
/ proc / self /`用于哪个进程?
https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s3-proc-self.html 说 该/proc/self/目录是当前正在运行的进程的链接。 总是有多个进程同时运行,那么哪个进程是“当前正在运行的进程”? 考虑上下文切换,“当前正在运行的进程”与CPU上当前正在运行的进程有什么关系吗? “当前正在运行的进程”与前台进程和后台进程无关吗?
40 linux  process  proc 

8
uname从何处获取其信息?
uname真正从何处获得其信息? 我认为这应该很简单。不幸的是,我找不到任何仅包含该信息的标头。 假设有人想要将uname/ 的基本输出uname -s 从更改Linux为其他内容(本质上是重命名内核)。 他/她将如何以正确的方式进行操作(即更改源)?
40 linux  kernel  source 

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.