Unix & Linux

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

2
如何杀死AWS EC2实例上的地雷恶意软件?(受损的服务器)
我在ec2实例上发现了恶意软件,该实例一直在挖掘比特币并使用实例处理能力。我成功地确定了该过程,但是无法将其删除并杀死它。 我运行了此命令, watch "ps aux | sort -nrk 3,3 | head -n 5" 它显示了实例上运行的前五个进程,从中发现有一个名为“ bashd ” 的进程,它消耗了30%的cpu。这个过程是 bashd -a cryptonight -o stratum+tcp://get.bi-chi.com:3333 -u 47EAoaBc5TWDZKVaAYvQ7Y4ZfoJMFathAR882gabJ43wHEfxEp81vfJ3J3j6FQGJxJNQTAwvmJYS2Ei8dbkKcwfPFst8FhG -p x 我使用kill -9 process_id命令杀死了这个过程。5秒钟后,该过程再次开始。
26 linux  process  kill  malware 

4
GNU cp和mv中-T选项的附加值是什么?
为什么某些GNU Coreutils命令可以-T/--no-target-directory选择?看起来它所做的所有事情都可以使用.传统Unix目录层次结构中(自我点)的语义来实现。 考虑: cp -rT /this/source dir 该-T选项可防止副本创建dir/source子目录。而是用/this/source标识,dir并且内容相应地映射在树之间。因此,例如/this/source/foo.c去dir/foo.c等等,而不是去dir/source/foo.c。 但这可以轻松实现,而无需-T使用以下选项: cp -r /this/source/. dir # Probably worked fine since dawn of Unix? 语义上,尾随点组件被复制为的子元素dir,但当然“子”已经存在(因此不必创建)并且实际上是dir其本身,因此其效果/this/path由标识dir。 如果当前目录是目标目录,则可以正常工作: cp -r /this/tree/node/. . # node's children go to current dir 有什么事你可以做的只能用-T能合理化它的存在?(除了支持未实现点目录的操作系统外,文档中未提及的基本原理。) 上面的点技巧是否不能解决GNU Info文档中提到的相同竞争条件-T?
26 cp  coreutils 

5
Makefile包含环境文件
我正在尝试在Makefile中包含一些环境变量。env文件如下所示: FOO=bar BAZ=quux 注意没有导致export每个环境变量。如果我在Makefile中添加前导文件export和仅includeenv文件,那么一切都会正常进行。但是我需要保持环境无人值守export。这使我无法仅include envfile在Makefile中使用。 我也尝试过这样做: sed '/^#/!s/^/export /' envfile > $(BUILDDIR)/env include $(BUILDDIR)/env 但是这样做会使make引发错误,因为没有包含env文件。

2
SSD:我应该多久做一次fstrim?
有不同的来源和建议不同的做法。我发现以下建议应该多久运行一次fstrim。 由cron每周运行 每天由cron运行 在每次启动时运行 最佳选择是什么,为什么?Ubuntu 14.04默认使用第一个选项。
26 ssd  trim 

6
如何在Debian 8(Jessie)或9(Stretch)上安装CUDA Toolkit 7/8/9?
如何在Debian 8上安装Cuda Toolkit 7.0或8? 我知道,Debian的8自带的选项,下载并安装CUDA工具包6.0使用apt-get install nvidia-cuda-toolkit,但你如何为CUDA工具包7.0版或8做到这一点? 我尝试使用Ubuntu安装程序进行安装,如下所述: sudo wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb sudo apt-get update sudo apt-get install -y cuda 但是,它不起作用,并返回了以下消息: Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation …

5
Shell脚本:检查Internet连接的正确方法?
我发现脚本说他们检查互联网连接。有些人会检查接口的IP地址,但不会检查Internet连接。我发现有些使用ping的方法是这样的:if [ 'ping google.com -c 4 | grep time' != "" ]; then但是有时候ping可能由于某些原因而挂起(例如,等待某些卡住的IO),因此这可能并不可靠。 关于使用脚本检查Internet连接的正确/可靠方式的任何建议?我需要使用一些软件包吗? cron例如,它需要能够定期检查,然后在连接断开时执行某些操作,例如调用ifup --force [interface]

9
想要只用sed代替首次出现
原始文件 claudio antonio claudio michele 我只想将“ claudio”的第一次出现更改为“ claudia”,因此文件结果 claudia antonio claudio michele 我试过了 sed -e '1,/claudio/s/claudio/claudia/' nomi 但是执行全局替换。为什么?
26 sed 

8
将配置文件用于我的Shell脚本
我需要为自己的脚本创建一个配置文件:这里是一个示例: 脚本: #!/bin/bash source /home/myuser/test/config echo "Name=$nam" >&2 echo "Surname=$sur" >&2 内容/home/myuser/test/config: nam="Mark" sur="Brown" 可行! 我的问题是:这是正确的方法还是其他方法?

4
GRUB是最好的引导加载解决方案吗?有没有更简单的选择?
我有一些相当糟糕的经历GRUB2。我可以说(已经说过)有关其设计和开发过程的一些讨厌的话。我特别不喜欢它的更新方式:无论出于何种原因,它都必须半自动更新几个脚本-对于每个内核更新,都间接地通过链中的另一个脚本进行更新-或进行许多其他次要的(看似无关的)配置更改。 这与我以前的经验(我LILO正在认真考虑将其还原)的经验直接形成对照,因为我从未遇到过任何问题,并且它的配置非常简单。一方面,正如我记得的那样,每次内核更新时,我只需要更新(或者说,它只曾经更新过)一个简单管理的配置文本文件。 那么,LILO如何在具有当今内核的现代硬件上工作?GRUB如何?其他引导程序如何?我是否必须满足任何先决条件,还是仅仅lilo记得编写配置文件并运行命令,就像我过去记得的那样?内核软件包更新(Debian / Ubuntu)是否像对GRUB2一样更新LILO?
26 grub2  lilo 

4
/ proc / cpuinfo中的处理器数量
在学习cpu负载时,我知道它取决于内核数。如果我有2个核心,那么负载2将提供100%的CPU使用率。 所以,我试图找出核心。(我已经知道该系统有2个内核,4个线程使2个虚拟内核点击以下链接处理器)。所以,我跑cat /proc/cpuinfo 这给了我 processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz stepping : 1 microcode : 0x17 cpu MHz : 774.000 cache size : 4096 KB physical id : 0 siblings : 4 core id …
26 linux  hardware  cpu 

3
rdesktop和xfreerdp有什么区别?
rdesktop并且xfreerdp都是RDP的linux客户端。 但是,从他们各自的网站上尚不清楚使用一个相对于另一个的优点/缺点。 我发现了一个帖子,该帖子的xfreerdp功能要比得多rdesktop。 但是这些额外的功能是什么? 两者的性能(或响应性)和剪贴板支持如何? 我期待使用RDP客户端(在Linux Mint 17上)连接到少数运行的Windows计算机(Win 7和8)和linux服务器xrdp。

4
Unix Bourne Shell中的数组
我正在尝试在Bourne shell(/bin/sh)中使用数组。我发现初始化数组元素的方法是: arr=(1 2 3) 但是它遇到了一个错误: syntax error at line 8: `arr=' unexpected 现在我发现该语法的帖子说的是for bash,但是我找不到Bourne shell的任何单独语法。语法/bin/sh也一样吗?


1
有人知道MariaDB的好习惯吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我在Slackware 14.1中使用的是MariaDB而不是MySQL,并且我需要像MySQL Workbench这样的图形管理器。有人可以建议我吗?我尝试使用MySQL WorkBench,但无法与MariaDB连接。
26 mysql  gui  slackware  mariadb 

3
我们怎么知道谁在伪终端设备的另一端?
如果我这样做: echo foo > /dev/pts/12 某些进程foo\n将从其文件描述符读取该消息到主端。 有没有办法找出那个过程是什么? 换句话说,我如何找出哪个xterm / sshd / script / screen / tmux / expect / socat ...位于另一端/dev/pts/12? lsof /dev/ptmx会告诉我在任何pty的主端都有文件描述符的进程。进程本身可以使用ptsname()(TIOCGPTNioctl)根据自身对主端的fd查找从属设备,因此我可以使用: gdb --batch --pid "$the_pid" -ex "print ptsname($the_fd)" 对于lsof建立该映射所返回的每个pid / fd ,但是是否有更直接,可靠和较不麻烦的方式来获取该信息?

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.