Articles of linux

当本地接收时组播stream如何通过

假设我有发送UDP组播的TX应用到239.0.0.1:1234 。 我有239.0.0.1:1234多播( 239.0.0.1:1234 )的RX应用程序,并接收这个多播( 239.0.0.1:1234 )。 我有这个RX应用程序运行在不同的机器上,也在运行TX应用程序的同一台机器上运行。 RX应用程序运行在不同的机器上(TX运行的机器除外),定期查看丢包情况。 另外,所有其他机器上丢失的数据包也是一样的。 但是,在TX应用程序也在运行的机器上运行的RX应用程序中,绝不会看到任何数据包丢失。 我试图解决这个丢包问题(至less是最小化,因为在1Gbps的networking上,TX应用只能以100Mbps的速率传输),我会经常丢包,随着时间的推移而增加。 我的问题是:当RX应用程序在运行TX应用程序的同一台机器上运行时,那么组播包如何传输。 在IP堆栈之后,数据包是否在同一台机器上路由到RX? 排队规则后,数据包是否在同一台机器内路由到RX? 在硬件排队之后,数据包是否在同一台机器上路由到RX? 数据包是否转到路由器/交换机,然后回到同一台机器 ?

将Hyper-V Linux机器转换为Gen 2

有什么办法可以轻松(而不需要重新安装)将Linux Hyper-V(gen 1)VM转换为gen2吗? 我知道PowerShell的Convert-VMGeneration cmdlet(这个是https://code.msdn.microsoft.com/windowsdesktop/Convert-VMGeneration-81ddafa2 ),但是这对Linux VM不起作用。 我在HyperV上运行时遇到了一些问题(机器会停止响应一段时间,等等),大部分我已经看到在Gen2上有很大改进(我们遵循所有微软推荐的在Hyper-V上运行Linux的做法,但是它至less在Gen1上还不存在)。 原始VM在Windows Server 2008主机上运行。 我们已经升级到2012 R2的主机,现在可以运行Gen2,但是我发现的每个源代码都说你必须重新安装linux(我还没有弄清楚为什么,但是我确定应该有一个原因)。 这个特定的服务器(它是运行在Ubuntu 14.04上的Gitlab服务器)的安装和迁移非常麻烦,如果可能的话,我们不希望重新安装和迁移。

不能从Centos-7客户端“NIS服务器Centos-6”更改NIS帐户密码

我试图从Centos-7.0.1406客户端更改NIS帐户的密码,服务器是Centos-6.6 看来passwd命令不要求我既不要更改密码也不要求我input旧密码,它只返回以下内容 更改用户mashour的密码。 passwd:身份validation令牌操作错误 这里也是strace快照 打开(“/ usr / share / locale / en_US.UTF-8 / LC_MESSAGES / Linux-PAM.mo”,O_RDONLY)= 5 fstat(5,{st_mode = S_IFREG | 0644,st_size = 520,…})= 0 mmap(NULL,520,PROT_READ,MAP_PRIVATE,5,0)= 0x7fa11e121000 close(5)= 0 open(“/ usr / share / locale / en_US.utf8 / LC_MESSAGES / Linux-PAM.mo”,O_RDONLY)= -1 ENOENT(没有这样的文件或目录) open(“/ usr / share / locale / en_US / LC_MESSAGES / […]

gpfs上的NFSv4 ACL

我尝试通过gpfs使用NFSv4,但我得到以下错误: # nfs4_getfacl file Operation to request attribute not supported. # nfs4_setfacl -e file Operation to request attribute not supported. Failed to instantiate ACL. 我在使用内核2.6.32的Linux RH 6上工作。 gpfs导出: /dev/gpfs1 on /gpfs type gpfs (rw,mtime,dev=gpfs1) 我怎么解决这个问题?

我的Linux VM不会启动,因为在oracle db和weblogic上设置了错误的chkconfig启动优先级

我已经为Oracle数据库11gR2和WebLogic 10.3.6安装了具有以下chkconfig值的启动脚本,但WebLogic试图首先启动而不是Oracle数据库。 我的应用程序依赖于数据库,并且由于数据库还没有启动,Linux VM的启动窗口无限期地停留在尝试启动WebLogic的同一位置。 我该如何解决这个问题? 对于WebLogic,chkconfig:345 85 20和Oracle DB,chkconfig:345 99 10 Linux应该首先启动Oracle,但在这种情况下,它试图启动WebLogic。 现在我怎么才能纠正它,甚至不能login到我的虚拟机。 谢谢

根据传递的Require指令设置环境variables

我最终成功地将Apacheconfiguration为我的应用程序的SPNEGO反向代理,并使用AUTHORIZE_SAMACCOUNTNAME , AUTHORIZE_CN和AUTHORIZE_MAIL来找出有关login用户的一些信息。 但这只是第一步。 目前,我正在使用通用规则,例如Require ldap-group cn=General Group,cn=Users,dc=example,dc=com ,但是我真正需要的是多个规则,每个组都有一个规则。 即 <RequireAny> Require ldap-group cn=Regular Users,cn=Users,dc=example,dc=com Require ldap-group cn=Managers,cn=Users,dc=example,dc=com Require ldap-group cn=Admins,cn=Users,dc=example,dc=com </RequireAny> 这个configuration工作,但我需要知道哪些Require指令通过。 我的最终目标是将像X-Auth-Rule这样的自定义标题设置为不同的值,例如Regular , Manager或Admin 。 有没有办法做到这一点? ps在有人提出这个build议之前,我知道我可以从代理应用程序中获取sAMAccountName并自己查询LDAP,但是我正在寻找替代scheme。

让linux内核读取swap换回内存

偶尔,我运行一个脚本,在我的工作站上使用大部分16GB的物理内存。 然后内核交换出去,在多个磁盘上交换分区。 脚本完成之后,每一个操作(键入命令,切换工作区,打开一个新的网页等)都需要很长时间才能完成,因为相关页面首先需要从交换中读回。 有没有办法告诉Linux内核将页面从交换复制回物理内存, 而不需要手动触摸(并等待)每个应用程序? 我运行了很多应用程序,所以这是一个痛苦。 我经常使用swapoff -a && swapon -a来使系统再次响应,但是这会从交换中清除页面,所以在下次运行脚本时需要重新写入。

为什么Samba服务器签名启用时,域用户无法login到Windows 7计算机?

我有一个运行Samba的正在运行的基于Linux的域控制器。 服务器function正常,因为我可以将Windows 7计算机join到我的域中,然后使用我的testing用户login到计算机。 问题是当我在Samba上启用服务器签名。 出于testing目的,我向域中添加了一台新机器,但是这次我无法使用我的testing用户login到机器上。 我已经testing了好几次,在我看来,问题来自服务器签名。 以下是我的服务器的详细信息: Linux UBUNTU precise 12.04.5 Samba 3.6.3 错误消息是: There are currently no logon servers available to service the logon request 为了确保问题不是像其他一些post中指出的机器内部密码不匹配一样,我确保将机器添加到在Samba服务器上启用了服务器签名设置的域(有趣的是它有效)。 有没有人知道为什么服务器签名启用时服务器不再响应login请求?

Nginx安全端口443没有打开/连接拒绝

我在我的Ubuntu VM上安装了nginx。 在那里我想让Nginx听443端口。 我的configuration如下。 server { listen 443; server_name wso2test.com; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; #with portOffset 0 running AS location /appserver/ { proxy_pass https://10.100.1.173:9443/; } } 然后我尝试了,无法从其他机器连接到这个监听端口。 然后我telnet到nginx机器的443端口。 它给我connection refused输出。 但telnet到80端口正在连接。 这是什么原因?

Windows多播NLB与Linux客户端

我(代表一个客户,无论如何)在Linux上访问在Hyper-V上托pipe的多播NLB集群时遇到一些麻烦(等待更多关于哪个版本的信息,但是我不认为这个版本太相关,因为这似乎客户端问题)。 NLB集群中有两个成员。 每个模块都有自己的MAC地址(01:xx:xx:xx:xx:xx),正如组播模式中常见的那样。 它们同时也响应集群(03:xx:xx:xx:xx:xx)的共享组播MAC地址,这是多播NLB似乎如何工作的。 从Windows机器Ping群集IP工作正常,控制台显示您期望看到的输出(发送4,收到4等)。 如果你ping Wireshark,你可以看到stream程如下所示: ClientIP-ClientMAC -> ClusterIP-ClusterMAC : ICMP echo request ClusterIP-Node1MAC -> ClientIP-ClientMAC : ICMP echo response ClusterIP-Node2MAC -> ClientIP-ClientMAC : ICMP echo response (duplicate response from the second node) ClientIP-ClientMAC -> ClusterIP-ClusterMAC : ICMP destination unreachable (seems to be the client discarding the second ping response, and using the ClusterMAC […]