环境细节: Server: Amazon ec2 Linux Web Server: Apache Web Framework: Django with mod_wsgi 以下我已经在mysql_err.log文件中find了。 The InnoDB memory heap is disabled 120823 3:21:40 InnoDB: Mutexes and rw_locks use GCC atomic builtins 120823 3:21:40 InnoDB: Compressed tables use zlib 1.2.3 120823 3:21:40 InnoDB: Using Linux native AIO 120823 3:21:41 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: […]
背景 我的问题似乎很简单,但它变得非常复杂。 基本上,我真的很厌倦了手动维护我的服务器(尖叫在后台) ,我决定是时候find一种方法,使服务器pipe理员更宜居。 那时候我find了Ansible。 很棒吧? 当然,我打算让自动化的东西制作bash脚本(大声尖叫) 。 有什么问题? 我有很多的麻烦,搞清楚我的个人剧本会运行什么东西。 我也需要能够指定哪些用户将运行特定的任务。 以下是一些具体的用例: 克隆回购作为另一个用户: 我的目的是,它运行我的node.js webapp从另一个用户,我们会叫bill (这只能使用sudo来运行我启动节点服务器的脚本,而不是根或我的用户,可以所有命令都使用sudo)。 要做到这一点,我需要能够让Ansible的git模块克隆我的git回购账单 。 我该怎么做? 了解Ansible将如何获得根源: 据我所知,你可以设置什么用户Ansible将连接到你正在维护的服务器,通过定义“用户”和剧本文件的开始。 下面是我不明白的:如果我通过我的用户名joe告诉它,并通过apt模块更新一个包,它将如何获得root权限? Sudo通常会提示我input密码,我宁愿保持这种状态(为了安全起见)。 最后的要求 我已经search了Ansible文档,做了一些(我认为是彻底的)search,一般只是试图找出自己的,但这些信息继续排除我。 对Ansible来说,我是一个非常新的人物,虽然这很简单,但是如果我能够明确地理解运行的用户,运行的用户以及我可以在不同的时间指定用户的方式,我将会受益匪浅。 提前谢谢你
我知道我可以使用gprof来testing我的代码。 但是,我有这个问题 – 我有一个智能指针有一个额外的间接级别(认为它是一个代理对象)。 结果,我有这个额外的层,影响几乎所有的function,并与caching螺丝。 有没有办法测量我的CPU由于caching未命中而浪费的时间? 谢谢!
我想知道在Linux中stdout和STDOUT_FILENO之间的区别 经过一番search工作,我得出以下结论。 你能帮我检查一下,纠正它的错误吗? 谢谢 stdout属于C语言的标准I / Ostream; 其types是FILE *并在stdio.h中定义 拥有inttypes的STDOUT_FILENO在unistd.h定义。 这是LINUX系统的文件描述符。 在unistd.h ,解释如下: The following symbolic constants shall be defined for file streams: STDERR_FILENO File number of stderr; 2. STDIN_FILENO File number of stdin; 0. STDOUT_FILENO File number of stdout; 1. 所以,在我看来, STDOUT_FILENO属于系统级调用,在某种程度上就像系统API。 STDOUT_FILENO可以用来描述系统中的任何设备。 stdout位于更高级别(用户级别?),并实际封装了STDOUT_FILENO的详细信息。 stdout具有I / O缓冲区。 这是我了解他们的差异。 任何意见或更正表示赞赏,谢谢。
在我的.bashrc我定义了一个可以在命令行中使用的函数: function mycommand() { ssh user@123.456.789.0 cd testdir;./test.sh "$1" } 使用此命令时,只需在远程主机上执行cd命令; test.sh命令在本地主机上执行。 这是因为分号分隔了两个不同的命令: ssh命令和test.sh命令。 我试着按如下方式定义函数(注意单引号): function mycommand() { ssh user@123.456.789.0 'cd testdir;./test.sh "$1"' } 我试图保持cd命令和test.sh命令在一起,但参数$1不解决,独立于我给的function。 总是试图执行一个命令 ./test.sh $1 在远程主机上。 如何正确定义mycommand ,所以脚本test.sh在更改到testdir目录后在远程主机上执行,并且能够将给mycommand的参数mycommand给test.sh ?
我想在Linux中查找遵循特定模式的文件,但我对符号链接不感兴趣。 这似乎没有一个选项来find命令。 我该怎么办?
我以前有过关于平台驱动程序以及正常的设备驱动程序的想法: 平台驱动程序适用于片上设备。 而且, 正常的设备驱动程序适用于与proccesor芯片接口的驱动程序。 在遇到一个i2c驱动程序之前。 但在这里,我正在通过定义为平台驱动程序的多functioni2c驱动程序进行阅读。 我已经通过https://www.kernel.org/doc/Documentation/driver-model/platform.txt 。 但是仍然无法弄清楚如何定义驱动程序的结论,如同样的芯片以及接口设备。 我也通过这个链接.. http://meld.org/discussion/general-discussion/platform-driver-vs-ordinary-device-drivers 请有人解释。
所以,我一直试图通过bash提示符自定义,以便它看起来像 [feralin@localhost ~]$ _ 与颜色。 我设法得到恒定的颜色(每次看到提示时都是相同的颜色),但是如果最后一个命令的非零退出状态,我希望用户名('feralin')显示为红色,而不是绿色。 我想出了: \e[1;33m[$(if [[ $? == 0 ]]; then echo "\e[0;31m"; else echo "\e[0;32m"; fi)\u\e[m@\e[1;34m\h \e[0;35m\W\e[1;33m]$ \e[m 然而,根据我的观察, $(if …; fi)似乎只运行一次,运行.bashrc时,结果会被永久replace。 这使名称始终为绿色,即使最后一个退出代码不为零(如echo $? )。 这是怎么回事? 或者是我的提示只是其他问题吗? 长问题简短, 我如何得到我的提示使用最后的退出代码?
我已经创build了一个符号链接: sudo ln -s /some/dir new_dir 现在我想覆盖符号链接指向一个新的位置,它不会覆盖。 我努力了: sudo ln -f -s /other/dir new_dir 我总是可以sudo rm new_dir ,但如果可能的sudo rm new_dir ,我宁愿让它覆盖。 有任何想法吗?
我正在使用Eclipse发行版本3.7.0,但我无法find任何地方的gcc。 如何以及在哪里可以看到我目前使用的gcc版本?