Questions tagged «linux»

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



3
vm.swappiness参数真正控制什么?
根据内核文档: This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase aggressiveness, lower values decrease the amount of swap. 但这有点含糊。我试图弄清楚参数最终控制什么。我知道它会调整内核尝试换页的积极程度,但是它会影响内核代码中的哪些决策过程? 它会调整内核换出之前必须访问页面多长时间吗?如果是这样,默认值60代表什么?增减1会改变多少(一个公式会很好)? 还是根据访问频率交换页面? 或者是其他东西?
36 linux  kernel  memory  swap 

1
如何使tr意识到非ASCII字符?
我正在尝试从文件(UTF-8)中删除一些字符。我正在tr为此目的使用: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat 文件包含一些外来字符(例如“Латвийская”或“àé”)。tr似乎不了解它们:它将它们视为非Alpha并将其删除。 我尝试过更改某些语言环境设置: LC_CTYPE=C LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat 不幸的是,这些都不起作用。 如何tr理解Unicode?

7
断开连接后如何恢复外壳
我正在远程CentOS 5.6机器上做一些工作,而我的网络却不断下降。重新连接后,是否可以恢复挂起的会话? 编辑:正在使用yum进行一些更新和安装,并且担心如果进程在进行中的过程中不断挂起,则可能会出现问题。

2
/ proc / PID / fd / X链接号
在Linux中,在中/proc/PID/fd/X,管道或套接字的文件描述符的链接具有数字,例如: l-wx------ 1 user user 64 Mar 24 00:05 1 -> pipe:[6839] l-wx------ 1 user user 64 Mar 24 00:05 2 -> pipe:[6839] lrwx------ 1 user user 64 Mar 24 00:05 3 -> socket:[3142925] lrwx------ 1 user user 64 Mar 24 00:05 4 -> socket:[3142926] lr-x------ 1 user user 64 …


6
如何对USB驱动器进行分区,使其可启动并具有Windows兼容的数据存储分区?
从这里分裂 我有一个16GB的闪存驱动器,我想通过它来启动实时ISO(通过unetbootin或类似的东西)。我可以在任何需要的计算机上插入并启动,这将是一些32位发行版。由于它将是一个实时ISO,因此我需要在某个地方保存数据。我希望USB驱动器的发行版大约有1GB,其他的15GB则用于数据存储。 我做了两个FAT分区,第一个称为“可引导”分区,第二个称为“存储”分区。该存储在Linux中可以正常工作,但Windows仅看到可引导分区。无法访问存储。 如何使数据在Windows上可访问并且仍然具有可启动分发?如果答案是如何划分分区,请提供每个分区的顺序和类型。我是否需要交换空间,或者处理方式不同?

3
为什么x86和x86_64中的Linux系统呼叫号码不同?
我知道系统调用接口是在较低级别上实现的,因此依赖于体系结构/平台,而不是“通用”代码。 但是,我不清楚为什么在32位x86内核的Linux中系统调用的编号在相似的体系结构Linux 64位x86_64中不保持相同的原因?做出此决定的动机/原因是什么? 我的第一个猜测是,后台原因是使32位应用程序在x86_64系统上可运行,因此通过合理地偏移系统调用号,系统将知道用户空间是32位还是64位分别。但是事实并非如此。至少在我看来,read()是x86_64中的系统调用号0,无法与这种想法保持一致。 另一个猜测是,更改系统电话号码可能具有安全性/强化背景,而我无法确定自己的身份。 由于对实现与体系结构相关的代码部分所面临的挑战一无所知,我仍然想知道如何在似乎没有必要的情况下更改系统调用号(因为即使一个16位寄存器也将存储比当前约346个数字大得多的数字,以代表全部)调用),将有助于实现除破坏兼容性以外的任何功能(尽管通过库libc使用系统调用可以缓解这种情况)。

3
为什么不挂载尊重绑定挂载的只读选项?
在我的Arch Linux系统(Linux Kernel 3.14.2)上,绑定安装不遵守只读选项 # mkdir test # mount --bind -o ro test/ /mnt # touch /mnt/foo 创建文件/mnt/foo。中的相关条目/proc/mounts是 /dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0 安装选项不符合我要求的选择,但这样做同时匹配绑定的读/写性能和安装使用的选项最初安装/dev/sda2上/ /dev/sda2 / ext4 rw,noatime,data=ordered 0 0 但是,如果我重新安装了安装座,那么它将遵循只读选项 # mount --bind -o remount,ro test/ /mnt # touch /mnt/bar touch: cannot touch ‘/mnt/bar’: Read-only file system 和中的相关条目 …

3
如何使文件不可修改?
登录后,我可以执行以下操作: mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo 然后,我可以打开vim(而不是root),进行编辑bar,使用强制写入w!,然后修改文件。 如何使操作系统不允许任何文件修改? 更新2017年3月2日 chmod 500 foo是一个红色鲱鱼:目录的写权限与修改文件内容的能力无关,而与创建和删除文件的能力无关。 chmod 400 foo/bar实际上确实阻止了文件内容的更改。但是,它并不能阻止改变文件的权限-文件的所有者可以随时更改自己的文件的权限(假设他们可以访问该文件即对所有祖先目录的执行权限)。实际上,strace(1)揭示了vim(7.4.576 Debian Jessie)所做的工作-vim调用chmod(2)来临时添加文件所有者的写许可权,修改文件,然后调用chmod( 2)再次删除写权限。这就是使用chattr +iWorks的原因-只有root可以调用chattr -i。从理论上讲,如果以root身份运行,vim(或任何程序)对chattr的作用与对不可变文件的chmod的作用相同。


3
grep是否使用缓存来加快搜索速度?
我注意到,grep在同一查询(以及不同的查询,但在同一文件上)的后续运行比第一次运行快得多(在搜索大​​文件时,效果很明显)。 这表明grep对用于搜索的结构进行了某种形式的缓存,但是我在Internet上找不到参考。 哪种机制可以grep在后续搜索中更快地返回结果?
35 linux  grep  cache 

7
强制目录始终位于缓存中
我一直在测试各种方法,以缩短编译整个c ++项目所需的时间。目前大约需要5分钟。我尝试了distcc,ccache等。最近,我发现,如果我将整个项目复制到RAM驱动器上,然后从那里进行编译,它将编译时间减少到原来的30%,即1.5分钟。 显然,从RAM驱动器工作是不切实际的。那么,有谁知道我可以强制操作系统始终保持某个目录缓存的方法吗?我仍然希望目录像往常一样被同步回磁盘,但是我也总是希望复制内存中的数据。这可能吗? 编辑: 作为一种可能的解决方案,我们只是想启动一个守护程序,该守护程序rsync每10秒左右运行一次,以将磁盘驱动器与RAM驱动器同步。然后,我们从RAM驱动器运行编译。该rsync是极快的,但这样做真的有用吗?当然,操作系统可以做得更好。

2
哪个手册页描述了计算机打开过程?
几年前,我回想起使用终端并阅读Linux手册(使用man)中有关计算机开机后的工作原理的教程。它引导您完成整个过程,并说明BIOS,ROM,RAM和OS在此过程中的作用。 这是哪一页?如何再次阅读?
35 linux  boot  man 

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.