Unix & Linux

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

3
gzip:带有-文件的意外结尾-无论如何如何读取文件
我在一个批处理系统上工作,该批处理系统运行时间极长,并产生大量产出。实际上,我不得不通过gzip传递标准输出,以防止批处理节点填充其工作区并随后崩溃。 longscript | gzip -9 > log.gz 现在,我想调查作业仍在运行时的输出。所以我这样做: gunzip log.gz 由于它是大文件(几个GB),因此运行时间非常长。我可以看到输出文件在运行时正在创建,并且可以在生成文件时对其进行查看。 tail log > some-line-of-the-log-file tail log > some-other-line-of-the-log-file 但是,最终,gzip遇到gzip压缩文件的结尾。由于作业仍在运行,并且gzip仍在写入文件,因此尚无适当的页脚,因此会发生以下情况: gzip: log.gz: unexpected end of file 此后,提取的日志文件将被删除,因为gzip认为损坏的提取数据对我没有用。但是,我不同意-即使最后两行都乱码了,输出对我还是很有趣的。 如何说服gzip让我保留“损坏的”文件?
9 gzip 

1
bash,并期望在同一脚本中?
我正在尝试编写一个脚本,该脚本从.csv文件中获取IP地址并通过telnet设备以捕获“显示版本”命令输出。 到目前为止,我已经对此进行了编码: #!/bin/bash #!/usr/bin/expect -f FILE1=dispositivos.csv #file with IP's and device name set Username "user" #this is the user for telnet connection. set Password "this.is.the.pass" #pass for telnet connection. NUMERODISP="$(wc -l $FILE1 | awk '{print $1}')" #this command counts number of devices (IP's) in the file as it is a …

1
RPMDB校验和无效-尝试在CentOS 7.2 Docker映像中安装gcc
所以我试图创建一个包含gcc的Docker镜像。 我RUN yum -y install gcc在Dockerfile中运行命令。 它会下载软件包,直到最终尝试安装依赖项失败为止。 Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u 以下是输出: Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gcc x86_64 4.8.5-11.el7 base 16 M Installing for dependencies: cpp x86_64 4.8.5-11.el7 base 5.9 M glibc-devel x86_64 2.17-157.el7_3.1 updates 1.1 M glibc-headers …
9 centos  docker  glibc 

1
ACPI异常:AE_NOT_FOUND在启动时无限地
我只是在Arch桌面上进行了系统更新和升级。刚过GRUB之后,我就永远在屏幕上滚动: ACPI Exception: AE_NOT_FOUND, while evaluating GPE method [_L6F]... ACPI Error: [PGRT]_Namespace lookup failure, AE_NOT_FOUND... ACPI Error: Method parse/execution failed [\_GPE._L6F]... 这是怎么回事?我找到了http://jhshi.me/2015/11/14/acpi-error-method-parseexecution-failed-_gpe_l6f/index.html,并尝试通过LiveUSB实施它,但是它没有用。

2
如何扩展btrfs元数据?
我的btrfs元数据已满。(我正在使用创建每小时快照btrbk。) 如何增加/扩展分配给btrfs文件系统元数据的空间? 还是自动扩展?
9 btrfs 

1
rsync的--fuzzy选项如何工作?
rsync --fuzzy工作如何?我没有得到预期的结果。 从手册中: 此选项告诉rsync,它应为缺少的任何目标文件寻找基础文件。对于大小和修改时间相同的文件或名称相似的文件,当前算法在与目标文件相同的目录中查找。如果找到,rsync将使用模糊基础文件来尝试加快传输速度。 如果重复该选项,则还将在通过--compare-dest,--copy-dest或--link-dest指定的任何匹配的备用目标目录中进行模糊扫描。 请注意,使用--delete选项可能会消除任何潜在的模糊匹配文件,因此,如果需要避免使用--delete-after或指定一些文件名排除项。 因此,我希望以下shell脚本在第二次rsync运行时将文件destination / a1重命名为destination / a2。但是,当我解释输出时,这并不是正在发生的情况(Matched data: 0 bytes)。 #! /usr/bin/env bash set -e cd $(mktemp -d) mkdir source destination cat /dev/urandom | head --bytes=1M > source/a1 rsync --recursive --times $(pwd)/source/ $(pwd)/destination/ tree mv source/a1 source/a2 rsync \ --verbose \ --recursive \ --times \ --delete …
9 rsync 


1
为什么sshd会在pstree的一个分支上多次显示?
目前在我的操作系统课程中,并且正在连接到校园中的远程服务器。我使用该pstree命令在视觉树中列出了所有正在运行的进程,所附的屏幕快照就是我收到的。在sshd(安全的shell守护程序)之后,您会注意到有几个sshd(其他学生在课堂上连接),但是更重要的是,您会看到类似sshd --- sshd ---之类的东西。这就是我感到困惑的地方;为什么有多个sshd彼此链接,我猜是有一个到代理的sshd,然后代理对服务器做了一个sshd。

1
系统启动和终端启动程序之间的区别
我对程序之间的差异感到好奇。通过systemctl启用时,以systemd开头,而不是/etc/rc.local通过CLI或通过CLI进行启动。 例如,我最近在树莓派上使用shairport-sync。最初,我通过启用sudo systemctl的shairport-sync将shairport-sync设置为启动。 后来,我使用其中的功能在shairport-sync脚本运行之前和发布到连接的设备。 令我惊讶的是,这些脚本在执行shairport-sync时没有kill arecord或aplay 但是,当我通过终端运行脚本时,脚本将执行并杀死arecord和aplay。 为了进一步迷惑自己,我shairport-sync通过终端杀死并启动了它,以查看正在发生的事情的输出。当我这样做时,脚本在设备连接并终止arecord并终止时按预期运行aplay。因此,作为一项修复,我禁用shairport-sync了sysmtectl它并将其设置/etc/rc.local为作为快速修复运行。之后,reboot它按我的预期运行。 这使我相信,单独运行systemd的程序与通过/etc/rc.local或CLI 启动时运行的程序之间存在一些差异。 为什么会这样?这是因为运行级别不同吗?一些黑魔法? 设备连接到时运行的脚本shairport-sync如下:shairportstart.sh #!/bin/sh /usr/bin/sudo /bin/pkill arecord if [ $(date +%H) -ge "18" -o $(date +%H) -le "7" ]; then /usr/bin/amixer set Speaker 40% else /usr/bin/amixer set Speaker 100% fi /home/pi/shScripts/shairportfade.sh& exit 0 这是渐变脚本: shairportfade.sh #!/bin/sh /usr/bin/amixer set Speaker 30- for …

1
将gzip文件拆分为较小的gz文件,而无需重新压缩
我有一个很大的.gz文件。我想将其拆分为100个较小的gzip文件,每个文件都可以自行解压缩。换句话说:我不是在寻找一种将.gz文件切成小块的方法,这些小块必须放在一起才能解压缩。我希望能够独立解压缩每个较小的文件。 无需重新压缩整个文件就能完成吗? 如果使用压缩原始文件,可以这样做--rsyncable吗?(“通过定期重置压缩数据流的内部结构,可以使rsync程序更好。”听起来像这些重置点可能是拆分标题的好地方,并且可能在标头的前面。) 可以使用其他任何压缩格式吗?我想像bzip2是可行的-因为它被压缩成块。
9 gzip 

3
在Solaris 11上安装GCC-5后,它在哪里?
请原谅我的无知...我仅将Solaris用于测试感兴趣的C / C ++库。我不是Solaris管理员或Solaris用户。 我在Solaris 11.3 x86上安装了GCC-5,因为我需要一个支持的C ++编译器-std=c++11(有关软件包输出,请参见下文)。Sun的本机GCC是4.8,它不能很好地(或根本不)支持C ++ 11。 不幸的是,安装后我找不到它: $ g++-5 --version -bash: g++-5: command not found $ sudo find /usr -name gcc-5 $ sudo find /bin -name gcc-5 $ 为了完整性: $ /bin/gcc --version gcc (GCC) 4.8.2 ... $ ls -l /usr/bin/gcc lrwxrwxrwx 1 root root 18 Jun …

3
PID不断变化时终止进程
当我发出 ps aux | grep mtp 我懂了 ubuntu- + 15934 0.1 0.0 519848 7068?Sl 21:13 0:00 / usr / lib / gvfs / gvfsd-mtp --spawner:1.9 / org / gtk / gvfs / exec_spaw / 20 因此,在这种情况下,PID为15934。但是,每次新运行时,PID都不相同。除了通过PID以外,还有其他方法可以杀死进程吗?
9 process  kill 

1
gnupg 2.1.16等待熵的块
从2.1.16(当前为2.1.17)发布的gnupg块仅在首次调用时等待熵。 注意:这不是尝试生成密钥,只是为了解密文件并启动代理。 第一次启动gpg-agent时,无论是直接使用gpg2 file.gpg还是使用诸如的应用程序pass,pinentry都会出现,一旦我输入密码并点击Enter它,它就会挂起15秒左右。 在default-cache-ttl窗口中的所有后续调用将立即执行。 在--debug-all模式下运行,挂起的时间段将打印1: gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120 gpg: DBG: chan_6 <- S PROGRESS need_entropy X 120 120 gpg: DBG: chan_6 <- S PROGRESS need_entropy X 30 120 gpg: DBG: chan_6 <- S PROGRESS need_entropy X 120 120 gpg: DBG: chan_6 <- …

3
如何监视接受队列的长度?
我有一个假设:有时TCP连接到达的速度比我的服务器可以到达的速度快accept()。他们排队直到队列溢出,然后出现问题。 我如何确认这种情况正在发生? 我可以监视接受队列的长度或溢出次数吗?某处有柜台吗?


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.