Questions tagged «linux»

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

2
内核中哪个文件指定了fork(),vfork()…以使用sys_clone()系统调用
当使用ltrace跟踪系统调用时,我可以看到fork()使用sys_clone()而不是sys_fork()。但是我找不到定义它的linux源。 我的程序是 #include<stdio.h> main() { int pid,i=0,j=0; pid=fork(); if(pid==0) printf("\nI am child\n"); else printf("\nI am parent\n"); } 和ltrace输出是 SYS_brk(NULL) = 0x019d0000 SYS_access("/etc/ld.so.nohwcap", 00) = -2 SYS_mmap(0, 8192, 3, 34, 0xffffffff) = 0x7fe3cf84f000 SYS_access("/etc/ld.so.preload", 04) = -2 SYS_open("/etc/ld.so.cache", 0, 01) = 3 SYS_fstat(3, 0x7fff47007890) = 0 SYS_mmap(0, 103967, 1, 2, 3) …

4
是否将短期文件刷新到磁盘?
我的程序创建了许多小的短期文件。它们通常在创建后一秒钟内删除。这些文件位于由真实硬盘支持的ext4文件系统中。我知道Linux会定期将(pdflush)脏页刷新到磁盘。由于我的文件寿命很短,因此很可能不会被缓存pdflush。我的问题是,我的程序会导致大量磁盘写入吗?我关心的是硬盘的寿命。 由于文件很小,因此我们假设它们的大小之和小于dirty_bytes和dirty_background_bytes。 Ext4已启用默认日志,即元数据日志。我还想知道元数据或数据是否已写入磁盘。
9 linux  disk  ext4 

3
当我们说我们正在使用Linux时,我们到底是什么意思?
我正在阅读有关GNU的文章,内容如下 确实有一个Linux,这些人正在使用它,但这只是他们使用的系统的一部分。Linux是内核:系统中的程序,用于将计算机的资源分配给您运行的其他程序。内核是操作系统的重要组成部分,但其本身是无用的。它只能在完整的操作系统中运行。Linux通常与GNU操作系统结合使用:整个系统基本上是添加了Linux的GNU或GNU / Linux。所有所谓的“ Linux”发行版实际上都是GNU / Linux的发行版。 我一直认为Linux是内核和操作系统,但看起来Linux = Linux内核和GNU OS。 有人可以指出我们在日常生活中使用的“ Linux”术语中每个术语的确切功能。同样,根据Wiki,GNU的设计类似于Unix,但与Unix有所不同,它是自由软件且不包含Unix代码。我以为Unix是开源的。是不是
9 linux  gnu 

1
允许Java 7在SELinux上运行的安全方法是什么
简短版: 允许Java 7在SELinux上运行的最安全方法是什么? 长版: 如果我使用不正确的术语,请先抱歉。我实际上只是一名Java开发人员,只具备少量的Linux技能。 我刚刚在CentOS 5.3版(最终版)上安装了Java 7,它显然具有安全性增强Linux。安装完成后(通过从Oracle中解压缩tar.gz文件来“安装”了该文件/usr/java/jdk/jdk1.7.0_25),我运行java -version并收到以下错误消息: Error: dl failure on line 864 Error: failed /usr/java/jdk1.7.0_25/jre/lib/i386/server/libjvm.so, because /usr/java/jdk1.7.0_25/jre/lib/i386/server/libjvm.so: cannot restore segment prot after reloc: Permission denied` 我发现一些文章指出这可能是由于SELinux所致,并尝试setenforce 0查看问题是否消失。我运行了该命令,Java运行正常。但是这些相同的文章说,留setenforce 0在Internet上连接的主机很危险,并且我的主机已连接到Internet。 还有其他文章建议使用这种下一种方法,但也说这可能很危险,所以我还没有尝试过。 chcon -t textrel_shlib_t /usr/jre1.7.0_10/lib/i386/client/libjvm.so ...在上述命令中,命令末尾的路径被替换为我的JDK的路径。 我找不到关于“安全地”在SELinux上运行Java 7的“官方”信息(可能意味着很多事情)。有人有我的资料吗? 编辑: 我发现了一篇有关编辑的文章/etc/selinux/config。我已按照下面的示例所示进行设置。这样就可以运行Java,但是我想我现在有一些安全漏洞。 # This file controls the state of SELinux on …
9 linux  java  selinux 

3
如何在etc目录中还原chmod?
我不小心在etc目录上执行了以下命令: sudo chmod -R 700 /etc 我知道我做错了什么。我的终端现在打印: I have no name!@ubuntu: /$ 如何将我的etc目录恢复到先前的状态? 我尝试更改权限,但现在失败了。另外,如果有人可以解释我在etc等上执行该命令时实际出了什么问题,那将非常有帮助。这仅是文件权限。那么,为什么整个系统似乎完全崩溃了?为什么现在没有登录密码有效?我知道etc目录中有一个与用户有关的文件。但是更改权限是如何危害一切的呢?关于此的一些技术细节将非常有帮助。
9 linux  files  chmod 

1
如何将按键组合重新映射到按键?
是否可以在基于X服务器的系统中将键组合重新映射到键,例如,如果我按End+ Arrow_up,Home则生成用于的键代码?Google在此问题上似乎保持沉默。如果有解决方案,那就太好了,因为它将为更方便的键盘映射提供许多可能性。

4
如何通过Shell脚本从文件中删除任何字符串?
我尝试从中删除字符串.bash_profile。我的shell脚本运行时添加了字符串: 我在bash_profile上的字符串如下: # for Myapllication export MYAPP_HOME=/opt/myapp 我想通过删除.bash_profilemyapp时从中删除字符串rpm。 如何通过Shell脚本从文件中删除任何字符串?(或可能的替代方法)

2
/ sys /文档?
目录中是否有任何手册页/sys/以及如何设置设备?我希望可能有与相似的东西man proc,但找不到真正能将我推向正确方向的东西。
9 linux  man 

1
查找文件的所有硬链接而无需遍历文件系统
我在此页面中看到,inode有一个链接计数器,可知道指向该inode的文件数(读取为“目录项”)。有没有一种方法可以知道哪些目录包含此类条目而无需遍历整个文件系统?此信息存储在某处吗? struct inode { kdev_t i_dev; unsigned long i_ino; umode_t i_mode; nlink_t i_nlink; uid_t i_uid; gid_t i_gid; … };

1
确定给定文件的LVM范围编号
我目前正在从事与工作无关的家庭作业。我有一个坐在逻辑卷上的ext4文件系统。我正在测试不同的性能调整策略,这个想法出现在我身上。由于pvmove可以移动单个范围和范围的范围,因此有一种方法可以绘制出哪些物理范围来保存特定文件(理论上它可以为数据库备份文件或大型的常用文件共享)并将它们移至特定范围存储设备(例如,我在同一LVM卷组中有一个常规HDD和一个SSD驱动器)? 我曾想过使用“ filefrag”,但后来我发现对于范围号是否必须按顺序使用并不是100%的了解(因此知道ext4中有多少个扇区可以看到一个文件并不一定会让我可以找出文件实际位于哪个扩展区编号/卷上。 有任何想法吗?


4
Unix文件系统结构的优点是什么
如果我在Linux(例如Debian / Gnu Linux)中安装应用程序,则该应用程序的文件将复制到文件系统中的许多不同目录中。 一些脚本进入/ usr / share .. / usr / local,另一些文件进入/ var .. / log .. etc /,依此类推。 对我而言,这是可以的,因为我了解了一些有关文件系统的知识,并且大多数目录都在其中存放文件以用于特定目的。这非常适合Unix哲学中的“一件事做好”。 但是我的问题是这种目录结构的优点是什么?还是仅仅是Unix时代的遗产。(例如,与使用Windows的情况相比,一个应用程序的所有文件都在一个特定的“文件夹”中)

2
我在Arch Linux中弄乱了系统时钟
我几天前安装了Arch。刚意识到日期/时间相差一天零一个小时。 我使用进行了更改timedatectl set-time。然后用来hwclock --systohc设置硬件时钟。之后,由于https证书错误,我无法进入某些网站,例如Gmail。我尝试更改时间,但没有成功。 我重新启动,然后遇到了问题,因为分区在不同的时间挂载,因此我fsck /dev/sda在分区上使用后可以启动。现在时钟不是问题,但我确实需要检查我的邮件。我不得不使用Facebook登录到stackexchange 密码。 帮帮我? 这就是Gmail的错误页面所说的内容: 该服务器的安全证书尚未生效!您试图访问gmail.com,但是服务器出示的证书尚未生效。没有信息可用于指示该证书是否可以信任。Chromium无法可靠地保证您与gmail.com进行通信,而不是与攻击者进行通信。您计算机的时钟当前设置为2012年1月10日,星期二,12:14:47 PM。看起来正确吗?如果不是,则应更正系统时钟,然后刷新此页面。 您无法继续,因为网站运营商已要求为此域提高安全性。

1
vi [m]从另一个文件读取行的范围
在Linux上,file_B在vim中进行编辑,我想从添加10-25行file_A。示例:一个具有完整的带有相同标题的HTML文档集,是的,可以创建一个模板并从那里开始,但是仍然: 我正在寻找一种简单(优雅)的方法来从一个文件插入一系列行并将其添加到我当前正在编辑的文件中。在vim中。 到目前为止,我找到的解决方案并不是我要找的解决方案, 在 file_B命令中,:read file_A会将*整个file_A *添加到file_B中。太多了 在vim中有复制和粘贴-但是为此必须已打开 file_A 在 file_A 内部,:10,25w! file_B会将指定行范围“发送”到file_B。这似乎非常接近复制粘贴 一个人可以在vim中打开多个窗口,但是当我在8英寸的屏幕上工作时,多个窗口使定向变得困难 由于找不到合适的解决方案,我想知道我是否误解了某些东西,或者到目前为止发现的方法是常用的并被视为标准方法。
9 linux  vim  copy-paste 

5
交换使用率太高?
我有一个Debian Sid盒子,大约一个月前刚刚安装,目前没有任何桌面应用程序在运行。 我尝试运行的任何命令(通过ssh)都会使硬盘工作非常困难。该系统在几周前运行Ubuntu 8.04时完美运行。硬件应该没问题,智能工具没有问题,也没有内存检查等。 我怀疑问题与交换有关: $ free -h total used free shared buffers cached Mem: 998M 986M 12M 0B 464K 904M -/+ buffers/cache: 81M 917M Swap: 511M 511M 0B 测试的东西,我看到即使大多数物理内存都用于缓存,也无法在不重新启动的情况下禁用交换: # swapoff -a swapoff: /swapfile: swapoff failed: Cannot allocate memory 当运行此stackoverflow答案中提到的脚本时,最高的交换使用过程仅使用1.5兆位,而总计数为: "Overall swap used: 18376 kB" ...这远远没有达到停止或免费报告的半场演出。 我尝试将其更改swappiness为1半个月前,但是没有区别(相同的内存使用模式)。 知道是什么罪魁祸首吗? 编辑:这是/proc/meminfo内容(类似的情况,但是702meg的缓存而不是904,并且铬仍然打开): …
9 linux  debian  memory  swap 

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.