Articles of linux

用SEDreplaceLineFeed \ x0a

我必须在日志文件中删除大量的换行符(hex\ x0a)。 我只是有sed来解决这个问题。 我知道有点复杂 你有想法如何解决这个问题? 这里是一个示例文本文件: http ://s000.tinyupload.com/index.php?file_id= 05715208147126674999 hexdump -C hexprob.txt 00000000 45 0a 69 0a 6e 0a 66 0a 61 0a | Einfa | 我使用下面的代码来删除'E': sed -r's / \ x45 // g'hexprob.txt | hexdump -C 00000000 0a 69 0a 6e 0a 66 0a 61 0a | .infa | 但是,如果我想删除'\ x0a'它不工作: sed -r's / […]

Ubuntu 14.04,OpenLDAP TLS问题

所以我在这里设置了一个使用这个指南的openldap服务器。 它工作正常。 但是,因为我想使用sssd我也需要TLS为ldap工作。 所以我看了看,然后按照指南的TLS部分。 我从来没有得到任何错误,slapd再次开始罚款。 但。 当我尝试在tls上使用ldap时,它似乎不工作。 root@server:~# ldapsearch -x -ZZ -H ldap://83.209.243.253 -b dc=daladevelop,dc=se ldap_start_tls: Protocol error (2) additional info: unsupported extended operation 加大debugging级别一些凹槽返回一些信息: root@server:~# ldapsearch -x -ZZ -H ldap://83.209.243.253 -b dc=daladevelop,dc=se -d 5 ldap_url_parse_ext(ldap://83.209.243.253) ldap_create ldap_url_parse_ext(ldap://83.209.243.253:389/??base) ldap_extended_operation_s ldap_extended_operation ldap_send_initial_request ldap_new_connection 1 1 0 ldap_int_open_connection ldap_connect_to_host: TCP 83.209.243.253:389 ldap_new_socket: 3 ldap_prepare_socket: 3 ldap_connect_to_host: Trying […]

如何删除iproute2的IPv6地址?

我试图编写一个可以改变本地机器IP地址的应用程序。 在做一些实验的时候,我注意到如果我刚刚连接到无线networking,我被分配了一个IPv6地址,它是MAC地址的函数。 考虑以下命令序列: <disconnect wireless and reconnect> $ ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:7d:7c:42 inet addr:192.168.2.98 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe7d:7c42/64 Scope:Link UP BROADCAST RUNNING MULTICAST… $ sudo ip addr flush dev eth0 $ ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:7d:7c:42 UP BROADCAST RUNNING MULTICAST… $ sudo dhclient eth0 $ ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:7d:7c:42 […]

是否有可能获得任何种类的独特的标识符的Infiniband交换机,特定的Linux机器连接到?

我试图确定哪个Infiniband网卡连接到哪个交换机,其方式与此问题非常相似。 但是,提出的解决scheme并不适用于Mellanox Infiniband交换机,而且我还找不到任何替代scheme。 是否有标准的方法来查询特定机器连接到的Infiniband开关的标识符?

当应用程序二进制文件位于标准二进制目录之外时,为什么我的域转换不会发生?

我试图build立一个自定义的SELinux策略,但是当应用程序二进制文件在/bin , /usr/bin等标准二进制文件目录之外时,我却遇到了域转换问题。应用程序二进制文件位于这些目录之外。 出于testing目的,我有一个程序,只是打印当前的SELinux域。 我有一个域my_domain_t ,和一个typesmy_domain_exec_t 。 当unconfined_t域中的进程使用my_domain_exec_t上下文执行文件时,将设置到my_domain_exec_t 。 如果我将testing二进制文件复制到/data目录,设置它的上下文,并执行它,域不会改变。 $ cp getcontext /data/getcontext $ chcon -t my_domain_exec_t /data/getcontext $ /data/getcontext unconfined_t:unconfined_r:unconfined_t:s0-s0:c0.c1023 如果我将testing二进制文件复制到/usr/bin目录,设置它的上下文,然后执行它,则域转换正确发生。 $ sudo cp getcontext /usr/bin/getcontext $ sudo chcon -t my_domain_exec_t /usr/bin/getcontext $ /usr/bin/getcontext unconfined_t:unconfined_r:my_domain_t:s0-s0:c0.c1023 通过testing,我相信我已经消除了与运行文件的用户,文件的所有权或父目录的安全上下文有关的任何事情。 还有什么可能导致这种差异? 编辑: /data不是NFS挂载的。 /data的上下文是system_u:object_r:default_t:s0 。 在另一个我正在testing的系统上,我也看到/data标签为system_u:object_r:etc_runtime_t:s0 。 policy_module(my_domain, 1.0.0) require { type unconfined_t; } type my_domain_t; type […]

相同的SMTP服务器,Microsoft Exchange到达收件人但sendmail不

我争论了一会儿题目,但我想这个解释了这个问题。 如果有人有更好的标题,随意编辑它。 环境: Microsoft Exchange 2010和sendmail。 问题 所有用户通过我们的Microsoft Exchange 2010服务器发送电子邮件,然后通过我们的互联网服务提供商smtp.our-isp.co.uk通过SMTP发送电子邮件。 所有应用程序通过sendmail发送自动电子邮件(发票等)到Linux服务器上,后者通过我们的互联网服务提供商smtp.our-isp.co.uk通过SMTP发送电子邮件。 组态: # "Smart" relay host (may be null) DSsmtp.our-isp.co.uk 但是,如果用户发送电子邮件(Microsoft Exchange 2010 – > ISP SMTP),则收件人确定,但如果应用程序发送电子邮件(sendmail – > ISP SMTP),则根本没有收件人即它在到达他们自己的邮箱之前似乎被过滤了)。 这发生在特定的收件人,但我永远不能理解为什么,如果电子邮件是用相同的方法发送。 有人在这里有一些build议,可能是什么原因?

两个数据库同步备份

我有一个系统需要两个数据库才能工作。 我需要一个脚本来备份两个数据库在给定的时间点。 我需要数据库同步,所以我需要确保备份不会允许其中一个数据库的更改备份时。 mysqldump db1 db2 > db1_db2.sql 上面的代码是否适合这个。 它会locking两个数据库的备份时间,所以我会得到同步备份? 什么是实现这一目标的正确方法? 我将如何做到这一点,但每个数据库的分离文件? 编辑: 大多数表使用InnoDB引擎,但使用归档引擎的重要表less有几个。

与完全宽容的iptables,tcpdump显示icmp回应请求到达,但没有答复的发送

我有点难以看到下一步的目标。 在我的networking中使用SoftEther IPsec VPN时,我可以访问主子网中的每台服务器。 在主防火墙后面,服务器按预期响应所有networkingstream量。 请注意,有问题的服务器没有任何iptables规则,所有的链都被设置为接受。 但是,当我是远程的,并连接到VPN,这台服务器变得无法访问。 我开始看VPN服务器,但没有规则来阻止访问。 我可以tcpdump在VPN服务器上的数据包,看到去问题服务器的请求,但没有答复。 当我跳到问题服务器和tcpdump时,我可以看到来自VPN客户端节点的请求,但由于某种原因,问题服务器没有回复。 hosts.deny是空的。 我还能在哪里看到这些请求的去向? 该节点较旧,运行Linux 2.6.38。

在将数据目录同步到tmpfs后启动mysql服务

hej在那里! 我正在维护8个Pandaboards的networking。 其中之一是作为服务器托pipe一个基于php的浏览器游戏,其他人则是运行该游戏的客户端。 服务器从SD卡运行Debian Wheezy,速度很慢。 为了提高客户端的游戏性能,我将mysql数据目录和tmp目录移到了tmpfs,并相应地更改了my.cnf。 数据不需要同步回SD,因为它没有改变,只有临时的游戏统计被写入到数据库。 现在这是通过添加到rc.local来完成的: # mount tmpfs sudo mount -t tmpfs tmpfs /var/tmpfs # put a fresh copyy of mysql data there sudo rsync -a /var/lib/mysql/ /var/tmpfs/mysql/ # restart mysql service sudo service mysql restart 此解决scheme正在工作,但我想这不是最优雅的一个,因为mysql启动修改my.cnf,将不会findtmpfs中的数据,并在第一次启动时产生错误。 我通过延迟客户的初始游戏页面请求3秒来解决这个问题。 如何在所有数据同步到tmpfs之后启动mysql? 添加一个脚本,它挂载和rsync到所有/etc/rc*.d哪里有一个Sxxmysql? 是只有服务的rc * .d目录吗? 任何帮助表示赞赏。

问题与RHEL7和禁用NetworkManager

好的社区,让我们看看我们能不能找出这个问题,因为我没有答案。 我在哪里工作,我正在设置一堆RedHat Enterprise Linux服务器。 有一个RHEL6和RHEL7服务器的集合。 在RHEL6服务器上,我使用标准networkingconfiguration工具,在/etc/sysconfig/network-scripts/ifcfg-eth0configuration它,在/etc/dhclient-eth0.confconfigurationdhclientconfiguration文件。 一切工作正常,我通过我们的DNS服务器(例如hostname.ad.company.tld )分配了自定义的FQDN,当DHCP租约启动时,它会自动更新。 这是问题: 在RHEL7中, NetworkManager默认启用。 在我们的Kickstart上,我已经移除了NetworkManager,并回到了在RHEL6中configurationnetworking和dhcp的方式。 所有的configuration都是一样的(使用/etc/sysconfig/network-scripts/ifcfg-ens192而不是eth0),并且对于第一次DHCP租用正常工作。 一旦租约systemctl restart network ,它似乎不会续约,直到我发出一个systemctl restart network命令。 我已经看了看,而且我正在缩短。 在RHEL7中必须有一些不同的东西,或者在禁用NetworkManager时没有configuration某些东西,但是我不能在我的生活中弄明白。 任何人有任何想法? 正如我知道这些通常会帮助,我会发布我的RHEL7configuration文件,并从日志中丢失DHCP租约的片段。 在/ etc / sysconfig / network中的脚本/的ifcfg-ens192 # Generated by dracut initrd DEVICE="ens192" ONBOOT=yes NETBOOT=yes UUID="c23045ff-7b60-4dff-b052-30a61923a852" IPV6INIT=yes BOOTPROTO=dhcp HWADDR="00:0c:29:b6:d8:cc" TYPE=Ethernet NAME="ens192" NM_CONTROLLED=no /etc/dhclient-ens192.conf send host-name "hostname"; send fqdn.fqdn "hostname.ad.company.tld"; send fqdn.server-update off; 在/ […]