Articles of linux

可执行的path,可以find,但不能执行没有完全合格的path?

我有一个奇怪的看似shell的问题,在$ PATH中的命令,壳(ksh,运行在Linux上)似乎懦弱拒绝调用。 没有完全排除命令,我得到: # mycommand /bin/ksh: mycommand: not found [No such file or directory] 但可以通过以下方式find该文件: # which mycommand /home/me/mydir/admbin/mycommand 我也明确地看到$ PATH中的目录: # echo $PATH | tr : '\n' | grep adm /home/me/mydir/admbin 在那个位置的EXE似乎很正常: # file /home/me/mydir/admbin/mycommand /home/me/mydir/admbin/mycommand: setuid setgid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), […]

SSD固件,Linux:更新大批量的驱动器

最近我遇到了一个致命的固件错误,影响了我数据中心部署的几十个Crucial SSD。 许多受影响的机器使用LSI或其他专有SAS控制器,Crucial的可启动ISO无法识别。 没有受影响的机器有Windows许可证。 其他SSD制造商的故事大致相同,包括三星和英特尔。 为了解决这个问题,我被迫停止每台机器,移除受影响的SSD,从热交换盒中取出SSD,将其暂时安装到我的ThinkPad,刷新固件,反转,冲洗,重复。 通过所有受影响的设备,花了好一天的时间。 我正在寻找硬件,软件和/或采购策略来缓解这种痛苦,因为SSD固件错误似乎是不可避免的,我们的SSD占用空间也在不断增加。 我的第一个想法是得到一台带有eSATA和这些电缆之一的笔记本电脑。 至less应该这样做,所以我不必从他们的球童中删除驱动器。 其他人肯定会遇到这个问题。 任何新的解决scheme

arp-requests不能被特定节点看到

我使用iwconfig创build了一个打开的临时wlan(我也和wpa_supplicant有同样的问题)。 networking上有4个节点,如下图所示。 节点运行Ubuntu 12.04和debian挤压,并有3.7.1,3.5和3.2内核。 我使用两个不同的USBencryption狗品牌(TP链接和ZCN),都有AR9271芯片组和ath9k_htc驱动程序(这里是lsusb输出和ethtool输出 )。 我遇到的问题是有两个节点( 10.0.0.2和10.0.0.5 ),它们具有TP链接usb wifi dongles可以ping任何networking上的节点,反之亦然。 但是,有ZCN WiFi dongle的其他节点( 10.0.0.6和10.0.0.7 )不能互相ping通,但与TP-link wifi模块通信没有问题。 tcpdump显示10.0.0.6和10.0.0.7看不到他们的arp-request,例如 20:37:52.470305 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28 20:37:53.463713 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28 20:37:54.463622 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28 20:37:55.472868 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28 20:37:56.463439 […]

什么集群pipe理软件用于Linux?

我find了以下集群pipe理软件工具: 起搏器(clusterlabs.org) – 最初是一个Heartbeat项目,专注于高可用性,将在下一个Debian版本 openqrm(openqrm.com), – web gui – 更广泛的用法,a 一个网站与两个介绍 虚拟整合HA:使用KVM,Pacemaker和DRBD进行虚拟化 虚拟机pipe理和openORM 看来,起搏器使用更广泛。 我有2个硬件服务器的12个不​​同的虚拟机。 我将使用的Linux系统是debian lenny。 安装程序我想要使用:drdb,heartbeart,kvm。 我没有集群pipe理软件的经验。 有没有人有起搏器和/或openqrm的一些经验? 哪个更容易使用? 还有其他候选人吗?

奇怪:为什么在最后的ping回复后,linux响应ping请求呢?

我(和一位同事)刚刚注意到并testing过,当一台Linux机器被ping通时,在最后一次ping之后,它向发起ICMP ping的机器发起一个单播 ARP请求。 对Windows机器执行ping操作时,Windows机器最终不会发出ARP请求。 有人知道这个单播ARP请求的目的是什么,为什么它发生在Linux而不是Windows? Wireshark跟踪(Linux 10.20.30.45): No.Time Source Destination Prot Info 19 10.905277 10.20.30.14 10.20.30.45 ICMP Echo (ping) request 20 10.905339 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply 21 11.904141 10.20.30.14 10.20.30.45 ICMP Echo (ping) request 22 11.904173 10.20.30.45 10.20.30.14 ICMP Echo (ping) reply 23 12.904104 10.20.30.14 10.20.30.45 ICMP Echo (ping) request 24 12.904137 10.20.30.45 […]

在+200个并发连接之后NGINX超时

这是我的nginx.conf (我已经更新configuration,以确保没有涉及PHP或任何其他瓶颈): user nginx; worker_processes 4; worker_rlimit_nofile 10240; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; error_log /var/www/log/nginx_errors.log warn; port_in_redirect off; server_tokens off; sendfile on; gzip on; client_max_body_size 200M; map $scheme $php_https { default off; https on; } index index.php; client_body_timeout 60; client_header_timeout 60; keepalive_timeout 60 60; send_timeout 60; server { server_name […]

firewalld vs iptables – 什么时候用哪个

TL; DR在新的CentOS服务器上安装我应该使用firewalld还是只禁用它,回到使用/ etc / sysconfig / iptables? firewalld和iptables的用途相似。 两者都进行数据包过滤 – 但是如果我理解正确,每次进行更改时,firewalld都不会刷新整个规则集。 我知道很多关于iptables的知识,但对firewalld却知之甚less。 在Fedora和RHEL / CentOS上 – 传统的iptablesconfiguration是在/ etc / sysconfig / iptables中完成的。 用firewalld,它的configuration生存在/ etc / firewalld /中,是一组XML文件。 Fedora似乎正在转向Firewalld,作为这种传统configuration的替代品。 我明白,firewalld使用iptables在底层,但它也有它自己的命令行界面和configuration文件格式如上 – 这就是我所指的使用一个与其他。 是否有一个特定的configuration/场景,这些都是最适合的? 在NetworkMangaer vsnetworking的情况下,似乎尽pipeNetworkManager可能已经被用作networking脚本的替代品,但是由于缺乏networking桥接支持和其他一些事情,许多人只是没有在服务器设置上使用它所有。 所以似乎有一个普遍的概念:“如果你在Linux桌面上,使用NetworkManager;如果你正在运行服务器,则使用networking。 这正是我阅读各种职位所得到的结果 – 但至less为这些事情提供了一个可行的使用指南 – 至less就其现状而言是如此。 但是我已经用firewalld做了同样的事情,只是把它关掉,而用iptables。 (我几乎总是在服务器上安装Linux,而不是桌面使用)。 firewalld是iptables的有效替代品,我应该在所有新系统上使用它吗?

访问控制:Windows与Linux

我正在读麻省理工学院6.893讲座 ,其中说Unix中的保护是一团糟,没有基本的原则 ,它也指出Windows 有更好的select,它可以通过IPC从一个进程向另一个进程传递特权 。 在我看来,尽pipe看起来Windows用户更容易受到病毒和漏洞的威胁,但我相信这主要是由于大多数Windows用户都是经验较less的计算机用户,Windows平台因为拥有更多的用户而吸引了更多的攻击者。 我想知道是否有更详细的文章或比较Windows和Linux的安全机制和devise的文件?

易于使用XFS扩展Linux软件RAID 5。 最佳实践?

我使用我的Ubuntu机器作为使用Samba共享的Windows / Linux / Mac客户端的文件服务器。 我只需要添加更多硬盘就可以轻松扩展,而不必前后移动任何数据。 这是我迄今为止所做的。 我已经成功添加了第四个硬盘。 现在知道这应该怎么办了? 我做错了什么,或者我能做得更好? 创build初始3驱动器arrays 我从三个空驱动器开始:/ dev / sdb,/ dev / sdc和/ dev / sdd。 首先,我为所有驱动器创build了空分区: $ fdisk /dev/sdX n # Create a new partition p # Primary 1 # First partition [enter] # Starting point to first sector (default) [enter] # Ending point to last sector (default) t […]

3.6后内核中的多path路由

正如大家所知,在Linux内核系列中,ipv4路由caching已经被删除,这对多path路由有严重影响。 IPv4路由代码(与IPv6不同)以循环方式select下一跳,因此从给定源IP到给定目的IP的数据包并不总是经过相同的下一跳。 在3.6之前,路由caching正在纠正这种情况,下一跳一旦被选中,就停留在caching中,并且从同一个源到同一个目的地的所有其他数据包都要经过该下一跳。 现在为每个数据包重新select下一跳,这会导致一些奇怪的事情:在路由表中有两个等价的默认路由,每个指向一个Internet提供者,我甚至不能build立TCP连接,因为初始的SYN和最终的ACK经由不同的路由,并且由于每条path上的NAT,它们以不同来源的分组到达目的地。 是否有任何相对简单的方法来恢复多path路由的正常行为,以便下一跳select每个stream而不是每个数据包? 有没有补丁可以使IPv4下一跳select基于散列,就像IPv6一样? 或者你们怎么处理呢?