Articles of Linux操作系统

使用curl 7.33.0的–http2.0选项提供不受支持的协议

我使用的是centos 6.2,我需要在服务器请求中使用curl —http2.0,但是在看了http://curl.haxx.se/docs/manpage.html给出的7.19.6后我说–http2.0选项只支持curl 7.33.0,所以为了克服这个问题,我已经安装curl 7.33.0按照http://www.linuxfromscratch.org/blfs/view/svn /basicnet/curl.html安装curl后,我试图使用,但它仍然给我的错误作为curl(1):不支持的协议 ,我检查了我的curl版本使用: curl –version这是给我 : curl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.33.0 OpenSSL/1.0.0 zlib/1.2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz 我需要使用这个–http2.0,但没有得到任何事情,我怎么能做到这一点? 由于curl7.19被安装,并且我重新安装更高版本的curl,这是否有任何问题?

单声道替代名为Mutex

在Windows / .NET上,可以使用命名的Mutex来同步多个进程。 不幸的是,Mono在Linux上不太支持。 他们的发行说明说,Linux不支持这个Windowsfunction,它将是不可靠的模拟它。 无论如何,似乎最好避免build议的入侵。 那么有什么build议的select? 我需要使我的程序安全地同时运行,只有一小段需要与其他实例同步。 该应用程序最终需要部署在Ubuntu Linux与Mono 2.10,但为了testing,将不胜感激,如果它也适用于.NET 4的Windows 7。

如何使用具有Boost Asio套接字的特定networking接口/ Ip?

我有一个Debian / Linux服务器有几个IP地址,全部分配到同一个物理网卡。 /etc/network/interfacesconfiguration文件看起来像这样(xx代表数字) auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 176.xx.xx.144 netmask 255.255.255.0 network 176.xx.xx.0 broadcast 176.xx.xx.255 gateway 176.xx.xx.254 auto eth0:0 allow-hotplug eth0:0 iface eth0:0 inet static address 46.xx.xx.57 netmask 255.255.255.255 broadcast 46.xx.xx.57 auto eth0:1 allow-hotplug eth0:1 iface eth0:1 inet static address 94.xx.xx.166 netmask 255.255.255.255 broadcast 94.xx.xx.166 //IPv6 […]

检查RPM依赖关系

在Ubuntu上使用.deb软件包安装编程时,可以使用Ubuntu软件包search来检查软件包的依赖关系。 例如,我可以从这里看到Wireshark的依赖关系。 正如你所看到的,由红色子弹标记的依赖关系。 如果你知道所有的程序包依赖于你,你可以下载它们并安装dpkg 。 有没有其他的RPM软件包的网站? 特别针对RHEL? 我知道我可以通过其他方法获得这些软件包的名字,比如使用rpm -i安装RPM软件包,但是这不是用户友好的,需要访问运行linux。

系统dbus不允许使用conf文件冲出所有权

我正在尝试创build一个在系统总线上运行的守护程序服务,在这个服务中,发送和接收这个服务的权限应该完全公开给任何人。 (安全不是这项服务的关注)。 当我尝试使用QtDbus(使用PyQt)注册服务时,出现以下错误:由于configuration文件中的安全策略,“Connection”:1.0“不允许拥有服务”org.dbus.arduino“ 。 这个其他堆栈溢出具有相同的错误,但由于某种原因在这种情况下根本没有帮助。 dbus_bus_request_name():不允许连接拥有该服务 。 通常情况下,你应该离开system.conf文件,并在system.d目录中添加你的权限“打出”configuration文件。 我已经这样做了,但似乎没有改变任何东西,无论我如何开放权限。 事实上,我几乎是积极的,不改变任何东西! 这是我的conf文件,因为它现在是正确的。 <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <policy user="myUser"> <allow own="*"/> <allow own="org.dbus.arduino"/> <allow send_type="method_call" log="true"/> </policy> <policy user="root"> <allow own="*"/> <allow own="org.dbus.arduino"/> <allow send_type="method_call" log="true"/> </policy> <policy context="default"> </policy> </busconfig> 即使我做了这样或那样的事情,它仍然不起作用。 <busconfig> <policy context="default"> <allow own="*"/> <allow own="org.dbus.arduino"/> <allow send_type="method_call" […]

试图只删除非ASCII字符

我试图操纵一个文本文件,并从文本中删除非ASCII字符。 我不想删除该行。 我只想删除有问题的字符。 我正试图让下面的expression式工作: sed '/[\x80-\xFF]/d'

为什么我会在一个terminal上获得“暂停(tty输出)”,而在其他terminal却不能?

显然,我在tcsh shell中做了一些奇怪的事情,现在每当我在后台打印标准输出的应用程序被暂停(停止)的时候。 奇怪的是,这种行为只发生在这个terminal上; 如果我在另一个terminal上做同样的事情,应用程序只是在后台运行,并将其输出到terminal。 在“破”的terminal,我必须把暂停的应用程序回到前台(与fg )让它继续。 例: thehost:/tmp/test1(277)> ls -l & [3] 1454 thehost:/tmp/test1(278)> [3] + Suspended (tty output) ls –color=auto -l thehost:/tmp/test1(278)> fg ls –color=auto -l total 0 thehost:/tmp/test1(279)> 在另一个terminal执行相同的命令工作正常: thehost:/tmp/test1(8)> ls -l & [1] 2280 thehost:/tmp/test1(9)> total 0 [1] Done ls –color=auto -l thehost:/tmp/test1(9)> 在受影响的terminal启动一个bash也不能解决这个问题: thehost:/tmp/test1(280)> bash oliver@thehost:/tmp/test1$ ls -l & [1] 2263 […]

使用dlopen和dlsym使用-fPIC编译C程序

我有一个错误的符号parsing的问题。 我的主程序用dlsym加载了一个dlopen共享库和一个来自它的符号。 程序和库都是用C库代码编写的 int a(int b) { return b+1; } int c(int d) { return a(d)+1; } 为了使它在64位机器上工作,-fPIC在编译时传递给gcc。 该计划是: #include <dlfcn.h> #include <stdio.h> int (*a)(int b); int (*c)(int d); int main() { void* lib=dlopen("./libtest.so",RTLD_LAZY); a=dlsym(lib,"a"); c=dlsym(lib,"c"); int d = c(6); int b = a(5); printf("b is %dd is %d\n",b,d); return 0; } 如果程序不是用-fPIC编译的话,一切运行正常,但是当用-fPIC编译程序时,程序崩溃时会出现分段错误。 调查发现,坠机是由于符号a的错误parsing。 当调用a时会发生崩溃,无论是从库还是主程序(后者通过在主程序中注释掉调用c()的行来获得)。 […]

在C中closuresTCP侦听套接字

假设你有一个侦听TCP端口的套接字,并且有一些客户端被连接。 当在C中发出sock_close(fd)并尝试在同一个端口上再次绑定时,绑定失败。 在“netstat -plutnoa”中可以看到一些TIME_WAIT状态,例如: tcp 0 0 127.0.0.1:4567 127.0.0.1:32977 TIME_WAIT – timewait (17.12/0/0) 那么,如何正确断开服务器套接字并立即重新连接到相同的端口?

我如何以编程方式重新启动一个系统服务(而不是apache)从Linux中的Apache?

我需要简单的方法来允许最终用户从同一个框中的apache服务的网页重新启动tomcat。 我们试图让我们的QC部门轻松地将我们的webapp的新版本部署到apache。 我们使用samba,但是我们需要一个简单的方法让他们在部署之前/之后停止/启动tomcat服务器。 这只会用于内部的盒子。 有没有现有的解决scheme呢? 还是会更容易写一些快速的PHP应用程序来处理这个?