Articles of Ubuntu

在Perl中创build一个正则expression式来提取一个值

我在从Ubuntu 12.04盒子的Perl脚本中的某个variables中抽取某些值时遇到了一些麻烦。 我看了这个页面: 如何提取一个模式下的string 这就是我想要做的事情。 我需要在特定模式之后提取string值。 这是迄今为止的代码: foreach $HDD (@sds) { $hdStat = `hdparm -i $HDD | grep -Po 'Model=\K.*?(?=,)'`; $sdModel{$HDD} = $hdStat; $hdStat = `hdparm -i $HDD | grep -Po 'SerialNo=\K.*?(?=")'`; $sdSerial{$HDD} = $hdStat; } foreach $HDD (keys %sdModel) { print $sdModel{$HDD}; } foreach $HDD (keys, %sdSerial) { print $sdSerial{$HDD}; } 它将会返回Modelstring,但是不会返回SerialNostring。 代码不一定要用grep; 我只是修改了上面链接的代码。 […]

在Linux上为PHP5configurationxDebug

据我所知,我已经build立了xDebug在我的本地机器上工作,但显然它不是。 我正试着从 至 。 谁在乎? 第二个图像是与xDebug工作,这afaik,意味着我可以得到堆栈跟踪等工作。 帮帮我! 我遵循xdebug网站上的安装说明。 我在/etc/php5/apache2/php.ini文件中包含了以下内容: zend_extension=/etc/php5/xdebug/xdebug.so xdebug.default_enable = 1 xdebug.auto_trace = 1 xdebug.collect_vars = 1 xdebug.collect_params = 4 在查看phpinfo()时,我得到: 本程序使用Zend脚本语言引擎:Zend Engine v2.3.0,Copyright(c)1998-2012 Zend Technologies with Xdebug v2.2.1,Copyright(c)2002-2012,Derick Rethans 此外,在模块部分的下面,我看到它的设置xDebug在那里。 但是,我似乎无法得到xDebug在我的网页上显示任何信息,当有错误? 有任何想法吗?

杀死一个进程和所有后代的安全方法

我使用apparmor , setrlimit , cap_set_rpoc在Linux中创build沙箱环境,让匿名用户在科学应用程序的上下文中基本上执行我的服务器上的一些任意代码。 沙盒中特别允许的一件事是通过分叉和调用可执行文件来启动新进程(尽pipe一个用户的进程总数受RLIMIT_NPROC限制)。 经过一段时间后,比如说1分钟,系统将杀死主进程和所有潜在的subprocess。 我目前正在依靠进程组ID来识别孩子。 然而,从理论上讲,一个subprocess可以调用setpgid来改变它的进程组,所以当我在主进程id(正确的?)上调用kill(-1 * pid)时候,它将不再受到影响。 不幸的是,我没有设置能够阻止进程调用setpgid linux capability 。 杀死一个进程及其所有(recursion的)subprocess的强大方法是什么?这会使孩子们很难以某种方式“逃避”大屠杀并继续孤儿进程?

比stat()在dir中查找文件更好的方法?

我试图找出某些文件是否在某个文件夹中。 但是,即使文件存在,我试图find它们的方式在某些文件夹中不起作用。 bool FileExists(string strFilename) { struct stat stFileInfo; bool blnReturn; int intStat; intStat = stat(strFilename.c_str(),&stFileInfo); if(intStat == 0) { // We were able to get the file attributes // so the file obviously exists. blnReturn = true; printf("Found file %s\n", strFilename.c_str()); } else { blnReturn = false; printf("Didn't find file %s\n", strFilename.c_str()); } return(blnReturn); […]

Rake命令中止/ Ruby Rails

我很确定我应该在这里张贴这个,但随时纠正我,如果这属于超级用户的东西。 试图设置这个Ruby / JavaScript应用程序https://github.com/jamesu/tubehub – 在我刚刚格式化的Linode上。 运行:Ubuntu v10.04 LTS,Ruby v1.8.8dev,Rails v3.2.9,SQLite v3.6.22。 我似乎已经接近成功地安装和启动这个应用程序,经过很多故障排除之后,但是最后一点我不能弄清楚是运行rake命令时得到的“中止”错误,如README文档中所示。 root@li570-120:~/tubehub# rake db:seed rake aborted! /root/tubehub/util.rb:8: undefined (?…) sequence: /^(.*?)((?<!&)#|\#)(.*)$/ /root/tubehub/util.rb:9: undefined (?…) sequence: /(?:\#)(?<!&#)(?:\#)*(.*)$/ /root/tubehub/core.rb:37 /root/tubehub/core.rb:36:in `each' /root/tubehub/core.rb:36 /root/tubehub/Rakefile:2 Tasks: TOP => db:seed => environment (See full trace by running task with –trace) root@li570-120:~# rake db:load rake aborted! No Rakefile found […]

从bash脚本获得userinput(由cron或udev执行)

编辑,这个问题可能还没有完全清楚,简短的版本: 如果脚本在后台运行,而不是在活动的控制台中,如何popup一个询问用户input的对话框? /编辑 当我从udev或cron运行一个bash脚本时,它通常会在后台的某个地方安静地运行。 例如可以插入一个外部硬盘运行rsync进行数据备份。 所以不是每次我插入硬盘驱动器,我想启动这个动作。 什么是最小的方式来触发一些用户input对话框,并询问是或否? 我可以用PyQt编写一些接口,但我希望尽可能less依赖,最好跨窗口pipe理器,甚至可能没有窗口pipe理器。 谢谢!

linux cli选项卡autocomplete在ec2实例上被破解

当我做了2个新鲜的Ubuntu的x64实例,有一个标签自动完成工作。 另一个只是在Tab键时抛出空格。 另外第二个例子不会让我使用上下箭头键来循环历史。 有谁知道如何解决这一问题。 Googsearch没有提供太多。 两个实例之间的差异仅在于每个实例的大小。 #1是一个媒介,#2是一个小的。 但两者都推出了相同的形象 ubuntu/images/ebs/ubuntu-precise-12.04-amd64-server-20121001 (ami-0d153248)

ALSA&Python – 捕获多个单声道audioinput

我正在使用python audio alsa库与我的M-Audio Delta 1010LT PCIaudio接口进行交互。 这个audio接口有8个模拟input。 我想分析一个特定的单声道input的信号。 卡被认可: cat /proc/asound/cards 0 [M1010LT ]: ICE1712 – M Audio Delta 1010LT M Audio Delta 1010LT at 0xa000, irq 18 之后,我用命令“amixer”列出了所有器件名称(在这里显示inputADC) … Simple mixer control 'ADC',0 Capabilities: volume volume-joined penum Playback channels: Mono Capture channels: Mono Limits: 0 – 164 Mono: 142 [87%] [7.50dB] Simple mixer control […]

ubuntu安装后重新使用USB

这可能看起来像一个愚蠢的问题,但… 使用USB安装Ubuntu之后,是否有可能再次将它用作普通的USB,或者像CD安装一样,USB现在只能用于安装Ubuntu? 谢谢。

删除文件目录会降低整个networking服务器的速度

我在/var/www/media有一个目录,子目录包含了许多许多图像的一天。 每晚使用rm -rf /var/www/media/1234删除这些子目录中的一个。 服务器在Ubuntu 12.04上运行Nginx / PHP,带日志function的ext4文件系统。 问题:执行删除操作时,整个Web服务器变慢。 iotop通过jbd2/md3-8和md4_raid1显示99%的IO利用率。 我相信jdb2正在使用jdb2 /var/www/media主机的文件系统/dev/md4上,我们正在删除文件。 不可接受的删除操作磨坏了服务器。 我在这里有什么select? 我们必须将ext4日志设置为data=writeback来加快速度并避免抖动我的服务器?