Questions tagged «linux»

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

1
在Linux上是否有类似dspcat的实用程序?
我dspcat在AIX上使用以下命令,并且可以转储使用该gencat命令创建的消息目录: dspcat –g /u/is/bin/I18N/l/lib/libca/libcalifornia.117.cat >> /tmp/message.smc 我花了很长时间来寻找关于如何在Linux上转储这些目录之一的提示,但是该命令似乎不可用。任何帮助,将不胜感激。
9 linux  aix  i18n 

1
是否可以使用optirun运行Steam游戏?
我在我的Intel HD4600 / Nvidia GTX 860M组合上的OpenSuse 13.1上使用Bumblebee。 使用时,Steam游戏似乎有点滞后primusrun。(vblank_mode=0 primusrun) 同时测试primusrun和optirun和glxspheres,表明这optirun是在我的系统上更好的选择。但是我的Steam游戏不是从optirun命令开始的。 vblank_mode=0 primusrun glxspheres 209.926051 frames/sec - 234.277473 Mpixels/sec vblank_mode=0 optirun glxspheres 250.734727 frames/sec - 279.819955 Mpixels/sec 任何帮助,将不胜感激。

2
64位内核,但是所有32位ELF可执行程序正在运行,这是怎么回事?
来自的输出uname: root@debian:~ # uname -a Linux 5asnb 2.6.32-5-amd64 #1 SMP Mon Jun 13 05:49:32 UTC 2011 x86_64 GNU/Linux 但是/sbin/init可执行文件显示为32位: root@debian:~ # file /sbin/init /sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped 系统的其他方面似乎也有矛盾: root@debian:~ # echo $HOSTTYPE i486 root@debian:~ # …


1
如何使用SSD进行缓存,以便硬盘可以旋转?
我有一个文件服务器,其中有一堆磁盘在BTRFS池中一起运行,并想添加一个SSD进行缓存。我主要不是在加快速度之后,而是想在不经常使用硬盘的情况下,经常进行常规的小访问以关闭硬盘(不全天候24/7运行将节省能量,并且应该使磁盘使用时间更长)。 据我所知,目前在Linux中实现了两种SSD缓存技术,即dm-cache和bcache。仍然告诉dm-cache效率更高,但是两者的开发仍在进行中,我不需要调整绝对最大效率。 在阅读bcache的文档时,我遇到了以下选项: writeback_delay:当脏数据被写入高速缓存并且之前它不包含任何脏数据时,在启动写回之前要等待几秒钟。默认为30。 writeback_percent:如果不为零,则bcache会通过限制后台写回并使用PD控制器平滑地调整速率来尝试保持此百分比的缓存处于脏状态。 writeback_running:如果关闭,则完全不会进行脏数据的写回。脏数据仍将被添加到缓存中,直到大部分已满为止。仅用于基准测试。默认为开。 设置一个足够大的值writeback_delay似乎对我来说是有用的:仅每小时写回一次,或者(如果发生这种情况我会假设)如果缓存已满。 这是一个合理的设置,我是否还考虑了其​​他任何方法来成功降低磁盘旋转速度?如果满足我的要求,我也可以选择完全不同的路线。 @gorkypl似乎正在寻找类似问题的另一种解决方案,但是具有不同的要求和环境,并且也未收到答案。

4
哪些文件系统元数据操作实际上记录在ext4和xfs中?
对于哪个文件系统元数据操作实际上保留在ext4和xfs文件系统日志中,我找不到简单直接的答案。请注意,我并不是在询问POSIX声明为“原子”的什么。我更关心的是,原子文件系统操作的哪些子集可以通过启用启用日志而无需持久地向后弯曲而有效地持久化fsync(2)。 我相当确定的操作是: creat(2) link(2) unlink(2) rename(2) mkdir(2) rmdir(2) 我不确定的操作: symlink(2) 该symlink(2)案件是最令人头疼的,因为似乎没有任何可以简单的方式来 fsync(2)或fdatasync(2)存储符号链接的内容的基本数据块。知道日记本能帮我解决这个麻烦。

2
永不中断的文件系统(可接受数据丢失)
关于这个问题有几个现有的话题,但是我所寻求的略有不同。我在嵌入式Linux上有SD卡,它会掉电。我也许可以在某个时候修改硬件,正确关闭硬件等等,但是等等,但是现在,我只是想找到一个在断电后仍能正常工作的文件系统。数据丢失是可以接受的。我宁愿不丢失比当前正在写的文件更多的信息,但我还是宁愿丢失所有文件,也不愿面对“无法装载”,“等待10分钟fsck”或“无法创建新文件”。文件由于此inode出现了一些错误”。该程序必须继续! 为了确保这一点,我正在付出很多努力。我使用的是工业级组件,有硬件看门狗,软件看门狗,内部,外部,用于重新启动程序的init,不断检查内存,文件描述符的守护程序等等,我有看门狗看我的看门狗,而这些看门狗又会监视其他看门狗...但是我似乎无法保证SD卡能够安装并正常运行? 目前,我最好的选择是在SD卡上使用JFS,在我的安装中包括fsck和fsck.jfs。(添加600kb +占用了我的ram和flash。这是不好的。)并在每次启动时运行fsck(可能会增加很多启动时间。这有些不好。)。不过似乎有点难过。 有谁知道更好的方法或更好的文件系统? 更新:e2fsprogs-libs(对jfsutils的依赖)在我的发行版中似乎很难编译。我将研究ZFS(不过,它并不是我的发行版中的本机。它似乎做了很多我不需要的事情。) UPDATE2:有关我的系统和测试的更多信息:SD卡存储是辅助的可选存储。SD卡是2Gb-8Gb工业级microSD。SD卡是通过我的rc使用mount -t命令安装的。选项“ noatime”,但不“ sync”。我的发行版是一个定制的Analog Device风格的uClinux,具有3.10内核和1.21 busybox。我的主要存储是带有jffs2的spi闪存。我从来没有任何问题。我什至不知道是否有fsck.jffs2可用。另一方面,南德(Nand)闪过光芒……但这是另一回事。SD卡的用途是存储测量数据。“监控”程序会将结果附加到文件中,并具有策略性的同步放置。当文件超过给定大小时,将创建一个新文件。当达到给定数量的文件时,最早的文件将被删除。如果当前的测量文件由于掉电而丢失,那就没有灾难了。文件通常为50-100kb,1个结果通常为1kb。这只是初始开发阶段。没有固定的东西。这是我第一次处理嵌入式系统中的非闪存文件系统。(我在x86服务器上使用了ext4。) 我从vfat开始。默认文件系统。(我认为工厂可能有选择它的理由。如果一切正常,我并不是很在乎。)我从未见过嵌入式vfat设备中的任何断电问题。我在WinCE中遇到了FAT问题。但是,当我的“监视”程序达到100-200个文件时,它拒绝再创建文件。似乎FAT在根目录中有一个特殊的文件限制问题,在子目录中有一个稍大的文件限制问题。我需要能够在1个目录中创建500-1000个文件。所以vfat不会。 然后我切换到ext2。我没有在启动时插入fsck。(不知道我必须这样做。)由于出现“ inode something something”错误,一天之内,我的“监控”程序无法创建更多文件。灾害! 我当前的解决方案是在启动时使用“ e2fsck -y”的ext2。到目前为止,这似乎很有希望。但是e2fsck和“启动时fsck”的整个概念困扰着我。e2fsck本身就花费了超过350kb的主闪存和ram。(当它不运行时。)这意味着这是我最大的程序。它比busybox大。它几乎可以与我的内核媲美。 我一直在考虑ext3。它具有日志化的元数据,不会受到伤害。我对此有多大帮助还不确定。我的小文件和可控同步文件应该被覆盖吗?它具有有序的写入顺序。这意味着数据也有日志记录。但是,这可能导致不确定的滞后。在我的情况下,这很糟糕。(这可能不是问题。)它还具有计划的同步功能。例如。每5秒提交一次。我认为这干扰了我自己的同步。太多的写入操作对SD卡不利。甚至工业的。我找不到有关如何禁用此功能的任何文档。ext3 仍然需要在每次启动时都运行fsck!但是ext3仍然是可能的。 分机4。将解决ext3的许多性能问题。不过我真的不需要性能。而且我的发行版似乎没有内置的mkfs.ext4和fsck.ext4。也许这不是问题。可能会。例如。e2progs-libs(对jfsutils的依赖)似乎有很多编译问题。 JFS,XFS,BRFSS。我的内核都支持。当前未包含在我的用户空间工具框中。一切似乎都是相当大的,复杂的系统。而且它们似乎都在启动时需要“ fsck”等效项吗? 我还考虑过抛出自己的文件系统:始终写入文件表的2个副本。遍历时,它将选择具有正确CRC和最新序列号的一个。进行两个阶段的写入序列。临时分配,修复提交。无需fsck。恐怕这可能会有些天真。 UPDATE3:顺便说一句,嵌入式系统(至少是嵌入式系统)的本质是它们是自治的,无人看管的,遥不可及的,并且它们必须运行多年。诸如fsck之类的程序可能需要人与人之间的交流,使我无所适从。


3
如何用AWK减去行(行)
我试图弄清楚如何使用AWK减去行。例如,假设输入文件为: 30 20 输出为: 10 现在,作为测试,我试图从以下公式计算“已用”内存列: $ cat /proc/meminfo 所以目前我已经写了这个: $ grep -P 'MemTotal|MemFree' /proc/meminfo | \ -- Here comes the calculation using AWK 我尝试了以下方法: $ grep -P 'MemTotal|MemFree' /proc/meminfo | \ awk '{print $2}' | awk '{$0-s}{s=$0} END {print s}' 但这只是给我最后一行数据。 我找到了一个可行的解决方案,但我怀疑这是最佳的解决方案。我所有的编码经验都告诉我,硬编码行数非常糟糕:P $ grep -P 'MemTotal|MemFree' /proc/meminfo | \ …
9 linux  awk 

2
如果进程在一段时间内保持安静,则将其杀死
我有一个实用程序,它有一个安静的习惯,那就是安静下来并呆在那里,我已经知道它要花多长时间来完成这项工作,所以我timeout经常在与之抗争,但是有时它在那之前就做了。timeout如果停止将输出定向到stdout,是否有类似的工具可以终止该进程?
9 linux  bash  shell  stdout  timeout 

1
命令:必须从终端运行
我有一个共享的托管帐户,我使用ssh登录。例如,当我输入时,su我得到以下输出: su: must be run from a terminal 此错误是否与我没有足够的权限或其他原因有关?
9 linux  debian  ssh  su 

1
KVM中NixOS上的阴谋死亡
我在KVM上设置了NixOS系统,并安装了haskelPlatform软件包。 一切正常,ghci正常,但阴谋集团死掉而没有任何有用的错误消息: [michas@nix:~]$ type -a cabal cabal is /run/current-system/sw/bin/cabal [michas@nix:~]$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0 of the Cabal library [michas@nix:~]$ cabal update Downloading the latest package list from hackage.haskell.org Aborted [michas@nix:~]$ cabal update -v3 Downloading the latest package list from hackage.haskell.org Sending: GET /packages/archive/00-index.tar.gz HTTP/1.1 Host: hackage.haskell.org …
9 linux  kill  haskell  nixos  cabal 

5
如何确定TCP端口是否打开?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 6年前关闭。 我试图在C中实现套接字编程。当我尝试从客户端连接到服务器(Ubuntu)时,它显示诸如“连接失败”之类的错误。 所以我认为问题出在港口。我正在使用5454 / tcp端口进行套接字编程。 我怎么知道5454端口是否在监听?如果不是,那么我可以在Ubuntu中使用C进行TCP套接字编程的端口是哪些?这仅仅是端口问题,还是我的代码有问题或在LINUX Ubuntu中需要任何设置吗? 编辑: 代码段: int socket_send; struct sockaddr_in address; printf("\n Initialization Socket...."); socket_send = socket(AF_INET,SOCK_STREAM,0); if(socket_send == -1) { perror("\n Socket not created.Error:"); return 1; } printf("\n Socket created"); address.sin_family=AF_INET; address.sin_addr.s_addr=inet_addr(ip); address.sin_port=htons(5454); if(connect(socket_send,(struct sockaddr*)&address,sizeof(struct sockaddr))<0) { perror("\nConnetion failed.Error:"); return …
9 linux  tcp  socket 


1
如何获取NTFS逻辑卷上文件的创建日期?
我想在Linux系统上为Windows文件存储创建一个NTFS逻辑卷,因为我想保留文件的创建日期(我可能会把它们压缩到一个归档文件中,然后再解压缩,尽管我不知道这样是否可行)。NTFS-3G是否在Linux上保存文件的创建日期?如果是这样,我如何访问它? 阅读此线程后,OP会链接NTFS上的文档,该文档提供了一个用于查找创建日期的shell脚本。我修改了它,以尝试从十六进制值中获取秒数,但是我认为我做错了什么: #!/bin/sh CRTIME=`getfattr -h -e hex -n system.ntfs_times $1 | \ grep '=' | sed -e 's/^.*=\(0x................\).*$/\1/'` SECONDS=$(($CRTIME / 10000000)) echo `date --date=$SECONDS`

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.