小编Lor*_*ein的帖子

如何使用YUM列出包的内容?

我知道如何使用rpm列出包的内容(rpm -qpil package.rpm).但是,这需要知道.rpm文件在文件系统上的位置.更优雅的解决方案是使用包管理器,在我的例子中是YUM.如何使用YUM实现这一目标?

linux fedora rpm yum package-managers

310
推荐指数
4
解决办法
35万
查看次数

强制卸载NFS挂载的目录

我在挂起的Linux机器上有一个NFS挂载的目录.我试图强制卸载,但它似乎不起作用:

$ umount -f /mnt/data
$ umount2: Device or resource busy
$ umount: /mnt/data: device is busy
Run Code Online (Sandbox Code Playgroud)

如果我输入" mount",似乎该目录不再挂载,但如果我执行" ls /mnt/data" 它会挂起,如果我尝试删除挂载点,我会得到:

$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy
Run Code Online (Sandbox Code Playgroud)

除了重启机器之外,还有什么可以做的吗?

linux mount nfsclient nfs umount

163
推荐指数
4
解决办法
35万
查看次数

执行二进制文件时"没有这样的文件或目录"错误

我在Ubuntu 9.10 x86_64上安装了一个二进制Linux应用程序.该应用程序附带了旧版本的gzip(1.2.4),该版本是为更老的内核编译的:

$ file gzip 
gzip: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.0.0, stripped
Run Code Online (Sandbox Code Playgroud)

我无法执行此程序.如果我试过,这发生了:

$ ./gzip
-bash: ./gzip: No such file or directory
Run Code Online (Sandbox Code Playgroud)

ldd对这个二进制文件同样不满意:

$ ldd gzip
        not a dynamic executable
Run Code Online (Sandbox Code Playgroud)

我很好奇:这个问题的最可能来源是什么?一个损坏的文件?或者由于为更老的{kernel,libc,...}而构建的二进制不兼容性?

每个人的建议,这里的输出strace ./gzip:

execve("./gzip", ["./gzip"], [/* 24 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 10), ...}) = 0
mmap(NULL, 4096, …
Run Code Online (Sandbox Code Playgroud)

linux

125
推荐指数
3
解决办法
12万
查看次数

允许用户设置SSH隧道,但没有别的

我想允许用户在特定端口(例如5000)上设置到特定计算机的SSH隧道,但我想尽可能地限制此用户.(身份验证将使用公钥/私钥对).

我知道我需要编辑相关的〜/ .ssh/authorized_keys文件,但我不确定要放入哪些内容(公钥除外).

unix ssh

93
推荐指数
5
解决办法
7万
查看次数

当从git repo进行pip安装时,为什么#egg = foo

当我从git repo安装"pip install -e ..."时,我必须指定#egg = somename或pip complains.例如:

pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app
Run Code Online (Sandbox Code Playgroud)

这个"蛋"字符串有什么意义?

python pip package

79
推荐指数
4
解决办法
2万
查看次数

你能检查一下Python中的doctest引发异常吗?

是否可以编写doctest单元测试来检查是否引发了异常?
例如,如果我有一个foo(x)应该引发异常的函数,那么我该x<0如何编写doctest呢?

python doctest

50
推荐指数
3
解决办法
8220
查看次数

如何向具有总计的数据框添加行?

我有一个数据框,我想添加一个额外的行,总计列的值.例如,假设我有这些数据:

x <- data.frame(Language=c("C++", "Java", "Python"), 
                Files=c(4009, 210, 35), 
                LOC=c(15328,876, 200), 
                stringsAsFactors=FALSE)    
Run Code Online (Sandbox Code Playgroud)

数据如下所示:

  Language Files   LOC
1      C++  4009 15328
2     Java   210   876
3   Python    35   200
Run Code Online (Sandbox Code Playgroud)

我的直觉是这样做:

y <- rbind(x, c("Total", colSums(x[,2:3])))
Run Code Online (Sandbox Code Playgroud)

这有效,它计算总数:

> y
  Language Files   LOC
1      C++  4009 15328
2     Java   210   876
3   Python    35   200
4    Total  4254 16404
Run Code Online (Sandbox Code Playgroud)

问题是Files和LOC列都已转换为字符串:

> y$LOC
[1] "15328" "876"   "200"   "16404"
Run Code Online (Sandbox Code Playgroud)

我知道这种情况正在发生,因为我创建了一个c("Total", colSums(x[,2:3])带有数字和字符串输入的向量,并且它将所有元素转换为通用类型,以便所有向量元素都相同.那么Files和LOC列也会发生同样的事情.

有什么更好的方法呢?

r dataframe

32
推荐指数
8
解决办法
5万
查看次数

为什么MPI被认为比共享内存更难,而Erlang在消息传递时更容易被认为更容易?

如今,Erlang作为一种在多核上编写并行程序的语言,现在引起了很多人的兴趣.我听说有人认为Erlang的消息传递模型比主流共享内存模型(如线程)更容易编程.

相反,在高性能计算社区中,主要的并行编程模型是MPI,它也实现了消息传递模型.但是在HPC领域,这种消息传递模型通常被认为很难编程,人们认为OpenMP或UPC等共享内存模型更容易编程.

有谁知道为什么在IT和HPC世界中对消息传递与共享内存的看法存在这样的差异?是否由于Erlang和MPI如何实现消息传递的一些根本区别,使得Erlang风格的消息传递比MPI更容易?还是有其他原因吗?

parallel-processing erlang multicore mpi

31
推荐指数
5
解决办法
9785
查看次数

M2Crypto没有安装在venv中,或swig没有定义__x86_64__,这打破了针对OpenSSL的编译

我正在尝试将Python M2Crypto软件包安装到x86_64 RHEL 6.1计算机上的virtualenv中.此进程调用swig,失败并显示以下错误:

$ virtualenv -q --no-site-packages venv
$ pip install -E venv M2Crypto==0.20.2
Downloading/unpacking M2Crypto==0.20.2
  Downloading M2Crypto-0.20.2.tar.gz (412Kb): 412Kb  downloaded
  Running setup.py egg_info for package M2Crypto
Installing collected packages: M2Crypto
  Running setup.py install for M2Crypto
    building 'M2Crypto.__m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    /usr/include/openssl/opensslconf.h:31: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
    error: command 'swig' failed with exit status 1 …
Run Code Online (Sandbox Code Playgroud)

python linux swig openssl virtualenv

29
推荐指数
5
解决办法
3万
查看次数

如何将正则表达式与具有未知数量的组的分组匹配

我想在程序的输出日志上进行正则表达式匹配(在Python中).日志包含一些如下所示的行:

... 
VALUE 100 234 568 9233 119
... 
VALUE 101 124 9223 4329 1559
...
Run Code Online (Sandbox Code Playgroud)

我想捕获在以VALUE开头的第一次出现之后发生的数字列表.即,我希望它返回('100','234','568','9233','119').问题是我事先并不知道会有多少数字.

我试图用这个作为正则表达式:

VALUE (?:(\d+)\s)+
Run Code Online (Sandbox Code Playgroud)

这匹配线,但它只捕获最后一个值,所以我得到('119',).

python regex

25
推荐指数
3
解决办法
1万
查看次数