Unix & Linux

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

1
什么是syscall-template.S?
我碰到了一个文件,syscall-template.S更具体地说,它的位置是 .../sysdeps/unix/syscall-template.S 这是什么文件 它在哪里。它不在我的系统上,我无法在包括linux-image和的源代码包中找到它glibc。
8 kernel  c  glibc 

2
如何将网络或用户源连接数据添加到历史记录条目?
我想为我管理的系统上的所有用户修改历史记录设置。我希望它包含来自连接终端的信息,例如来自who sysadmin:/ # who sysadmin pts/0 Mar 26 07:11 (sysadmin.doofus.local) 我目前通过以下方式修改我的历史记录。我知道其中许多设置已在这里讨论过几次。但是,很久以前,我从“ Linux系统管理食谱:Juliet Kemp ”中提取了此代码。 shopt -s histappend PROMPT_COMMAND='history -n;history -a' HISTSIZE=100000 HISTFILESIZE=100000 HISTTIMEFORMAT="%m/%d/%y %T " shopt -s histappend 解决了当您有多个终端时打开的信息可能会丢失的问题。 PROMPT_COMMAND='history -n;history -a' 扩展以提供跨多个终端的实时历史记录。 HISTSIZE=100000 HISTFILESIZE=100000 延长history保留时间 HISTTIMEFORMAT="%m/%d/%y %T “在历史的每一行前都加上时间戳 您通常会得到什么 history 835 ls 836 cd .. 我修改的当前history结果 5853 03/26/12 07:16:49 …

2
分区级别的重复数据删除
块级别或更详细的重复数据删除有哪些可用的解决方案? 有基于文件的文件-使用“写时复制”方法。 我正在寻找块级别的“写时复制”,因此我可以定期寻找公共块,或者-最好-文件的一部分,合并它们并标记为CoW使用方式。是否有类似的东西可用,还是仍然需要创建它?我不确定Btrfs重复数据删除是否在块/文件/子部分级别?有LessFS,但是我不确定它提供什么级别的重复数据删除?也许其他解决方案?

3
Linux内核头文件的组织
在阅读系统调用时,我搜索了“ syscalls.h”以在LXR中找到头文件。搜索结果使我感到困惑。在“ arch / _arch_name_ / include / asm”目录下有许多“ syscalls.h”文件。没关系,它们是体系结构特定的定义或其他需要的东西。问题是,为什么在/ include / linux和/ include / asm-generic下都有两个不同的“ syscalls.h”标头? 另外,我想弄清楚什么是/ include / linux标头,什么是/ include / asm-generic标头。它们之间如何区分?具有两个单独的头文件夹背后的逻辑是什么?它们如何相互联系? 谢谢


3
64位Linux无法识别3到32 GB之间的RAM
我的问题是由内存模块故障以及内核二进制文件损坏引起的。 我刚刚使用基本全新的硬件启动了PC。我以前一直在运行Debian 6.0 AMD64,并且在那里没有任何变化(从字面上看;我只是从旧主板上拔下硬盘,然后将它们重新连接到新主板上),但发现有些奇怪: 我已经实际安装了4 x 8 GB的RAM UEFI / BIOS设置报告16383 MB RAM Linux free -m报告2985 MB RAM 2985 MB似乎离奇妙的3 GB标记太近了,不能纯粹是巧合,但可以uname -r打印2.6.32-5-amd64;显然是64位内核,这是我正在使用的系统驱动器上已安装的所有内核。新主板是华硕M5A97 Pro,它具有四个DDR3插槽,据说可以支持8 GB模块。内存模块本身是相同的,一起购买了四个8 GB的Corsair XMS3 PC12800。 我没有详细查看UEFI设置,但确实浏览了该设置,没有发现似乎需要更改才能启用大量RAM。 编辑:进一步确认我确实在运行64位: # file `which free` /usr/bin/free: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, …
8 linux  64bit  ram 

1
在Linux系统上离线管理论文
是否有任何聪明的方法来管理供Linux系统离线使用的科学论文。 例如: 应该可以使用可自定义的标签为纸张添加标签,按标签对它们进行排序等等。 如果我有更多时间在arxiv.org上看到一份新论文并希望阅读,则应该有一种很好的方法将其放入我的纸张经理的“稍后阅读列表”中 纸经理应该允许我存储bibtex数据 它应该提供一种简便的方法来将注释和评论记录到各个论文中(支持数学公式) 支持pdf和djvu 应该容易备份 我不需要与文字处理软件的任何集成。

4
运行strace如何解决我的OpenGL问题?
自从最近对我的发行版(PLD Linux)进行重大升级以来,我一直在处理大量程序。据我所知,任何涉及OpenGL或PulseAudio段错误的内容。我正在使用专有的nvidia驱动程序和3.2.x内核。Xorg本身运行良好,我能够运行大多数程序,但是mplayer segfault之类的东西并且任何程序都不会发出声音。 一旦确定它可能与OpenGL有关,便开始glxgears进行测试。单独运行它会立即出现段错误。然后我发现在下运行它strace很好。同样的道理对于mplayer。立即在测试mp3文件segfault上运行它,运行strace mplayer播放就很好了(尽管脉冲音频仍然消亡,并且它恢复为虚拟输出设备)。 如何在某些情况下运行某些东西以strace防止它出现段错误,我将如何继续调试情况?

1
用户在更新错误期间消失了
几周前,我对FreeBSD 9进行了升级,并开始使用它,当我尝试创建新用户时,得到以下信息: pw: user 'todd' disappeared during update adduser: ERROR: There was an error adding user (todd). 尝试安装postfix时,我首先注意到此问题,并收到类似的错误。 任何人都知道这是什么,或者在没有完全重新安装的情况下如何解决? 有人建议关闭nscd守护程序,但这不能解决问题。
8 freebsd 

6
使grep输出而不尾随换行符
请考虑以下代码段: X=$(grep -m1 'some-pattern' some-file | sed -n 's/.* //p') 如果某个模式条件与任意文本文件中的行匹配,我想将最后一个单词放在变量中 我的问题是,变量最后X要有CR或LF或CRLF,具体取决于要删除的源文件,因为它干扰了我打算执行的后续操作。 我什至尝试过类似的方法: X=$(grep -m1 'some-pattern' some-file | sed -n 's/.* \([A-Za-z]\+\)/\1/p') 因此,期望sed输出受到限制,[A-Za-z]+但X变量中仍然有此讨厌的字节。 我怎样才能摆脱它,而无需使用像看到的是什么字节在结束了太多的代码,xxd那么cut它和类似的并发症?
8 bash  grep 


7
Linux脚本或程序以缩短文件名
我找不到Linux版本的namemangler并没有取得很大的成功,我需要重命名1000个文件,以便它们在Windows上可读。 有谁知道可以执行此操作的Linux程序? 如果没有,那么脚本可能会起作用,因为我只需要将文件夹中的所有文件重命名为前16个字符。我怀疑脚本路线可能值得一试,但不确定从哪里开始。

1
给定的X进程在哪个虚拟终端上运行?
X启动时,它将搜索未使用的最低VT并将其附加。我的问题是,当有多个正在运行的X进程时,我需要能够确定哪个进程是当前活动的进程。 这是一个* BSD问题,因为在Linux上很容易:X将其控制终端设置为ttyN,或者在非常旧的发行版中,将其在命令行上指定为vtN。因此,我正在运行一项服务,并且看到当前处于活动状态的VT为tty7,并且有两个正在运行的X服务器,很容易分辨出哪个与当前终端相对应。(这是一个合理的情况:也许用户使用了GNOME / KDE的“切换用户”功能,或者使用来运行两个服务器startx。)一个可能想要关注活动X服务器的示例应用程序是x11vnc(从我正在开发的软件中派生的) )。 但是在FreeBSD上,控制终端不会告诉您任何信息。当X从ttyv1启动时,它仍然是控制终端。 更新资料 我已经完成了尽职调查并阅读了X代码。经过一番摸索后,现在对我而言更清楚了。 在lnx_init.c中,X服务器确实setsid为其进行了一个新的会话,然后打开一个fd以ttyN直接对其执行VT_ACTIVATEioctl。相当标准;从没有控制终端的进程向没有控制进程的终端打开fd会使两者关联,并且服务器使fd保持打开状态,因此可以确保终端将保留X服务器的控制终端。 现在,在bsd_init.c中,向要用作帧缓冲区的tty打开fd并不能使其成为控制终端(实际上,如果没有setsid,则从xinitttyv2 启动的BSD Xserver 会将ttyv2保留为其ctty!)。 问题已于2012-04-09进一步更新和清理。
8 xorg  freebsd  x11 

1
最小的POSIX兼容操作系统
出于教育目的,我想从POSIX兼容基础开始,包括外壳,基本实用程序和ANSI C编译器,然后看看可以通过将软件包放在一起来构建什么样的环境。 但是,我遇到的大多数最小的符合POSIX的操作系统似乎都是嵌入式和/或专有的。我可以在Virtualbox上轻松运行这些开源系统吗? 我搜索了一些有关从头开始构建这样的环境的信息,但是要获得一个可启动/可用的环境似乎要花很多功夫,而与POSIX兼容的环境要少得多。某天我可能会尝试构建POSIX OS,但首先我想先变得更精通计算机。 注意: 我想我曾经听说过Linux并不完全符合POSIX,但是只要我可以编译并构建一些更常见和必不可少的开源工具(例如wget和w3m),无论是否愿意,我都会很高兴使用了Linux内核。我想可能会随操作系统一起提供的其他基本组件也是如此(例如glibc)


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.