虚拟机上使用Git的分段故障

时间:2011-06-27 20:50:59

标签: git ubuntu segmentation-fault virtual-machine init

我刚刚创建了一个用于Web开发的Ubuntu虚拟机,我想使用Git进行版本控制,但是我遇到了一些问题。 [我提到VM的原因仅仅是因为我在正常安装之前从未遇到过这些问题。]

我使用git init初始化新的Git仓库,我立即收到以下错误:segmentation fault

Git似乎实际上初始化了存储库(通过创建相关文件),但当我尝试git statusgit add时,我收到错误fatal: not a Git repository

对此问题的任何见解都将不胜感激。

更新

以下是@sehe所要求的信息:

a)

servace85@ubuntu:/var/www$uname -a
Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

servace85@ubuntu:/var/www$lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty

b)中

servace85@ubuntu:/var/www$dpkg --status git
Package: git
Status: install ok installed
Priority: optional
Section: vcs
Installed-Size: 10624
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 1:1.7.4.1-3
Replaces: cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.), gitweb (<< 1:1.7.4~rc1)
Provides: git-completion, git-core
Depends: libc6 (>= 2.7), libcurl3-gnutls (>= 7.16.2-1), libexpat1 (>= 1.95.8), zlib1g (>= 1:1.2.0), perl-modules, liberror-perl, git-man (>> 1:1.7.4.1), git-man (<< 1:1.7.4.1-.), emacsen-common
Recommends: patch, less, rsync, ssh-client
Suggests: git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-daemon-run, git-gui, gitk, gitweb
Breaks: cogito (<= 0.18.2+), git-buildpackage (<< 0.4.38), gitosis (<< 0.2+20090917-7), gitpkg (<< 0.15), gitweb (<< 1:1.7.4~rc1), guilt (<< 0.33), qgit (<< 1.5.5), stgit (<< 0.15), stgit-contrib (<< 0.15)
Conflicts: git-core (<< 1:1.7.0.4-1.)
Conffiles:
 /etc/bash_completion.d/git 8f2975422e54845ec9aea549daa6050b
Description: fast, scalable, distributed revision control system
 Git is popular version control system designed to handle very large
 projects with speed and efficiency; it is used for many high profile
 open source projects, most notably the Linux kernel.
 .
 Git falls in the category of distributed source code management tools.
 Every Git working directory is a full-fledged repository with full
 revision tracking capabilities, not dependent on network access or a
 central server.
 .
 This package provides the git main components with minimal dependencies.
 Additional functionality, e.g. a graphical user interface and revision
 tree visualizer, tools for interoperating with other VCS's, or a web
 interface, is provided as separate git* packages.
Original-Maintainer: Gerrit Pape <pape@smarden.org>
Homepage: http://git-scm.com/

servace85@ubuntu:/var/www$ find /etc/apt -iname '*.list' | xargs cat | grep -v ^# | sort -u
deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://extras.ubuntu.com/ubuntu natty main
deb http://security.ubuntu.com/ubuntu natty-security main restricted
deb http://security.ubuntu.com/ubuntu natty-security multiverse
deb http://security.ubuntu.com/ubuntu natty-security universe
deb http://us.archive.ubuntu.com/ubuntu/ natty main restricted
deb http://us.archive.ubuntu.com/ubuntu/ natty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ natty universe
deb http://us.archive.ubuntu.com/ubuntu/ natty-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ natty-updates multiverse
deb http://us.archive.ubuntu.com/ubuntu/ natty-updates universe
deb-src http://extras.ubuntu.com/ubuntu natty main
deb-src http://security.ubuntu.com/ubuntu natty-security main restricted
deb-src http://security.ubuntu.com/ubuntu natty-security multiverse
deb-src http://security.ubuntu.com/ubuntu natty-security universe
deb-src http://us.archive.ubuntu.com/ubuntu/ natty main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ natty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ natty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ natty-updates universe

c)中

servace85@ubuntu:/var/www$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

servace85@ubuntu:/var/www$ echo $LD_LIBRARY_PATH


servace85@ubuntu:/var/www$ echo $LD_PRELOAD


servace85@ubuntu:/var/www$ which git
/usr/bin/git

servace85@ubuntu:/var/www$ file $(which git)
/usr/bin/git: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

servace85@ubuntu:/var/www$ ldd $(which git)
    linux-vdso.so.1 =>  (0x00007fff841ff000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1eee16e000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1eedf50000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1eedbbb000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1eee396000)

2 个答案:

答案 0 :(得分:2)

没有信息,我只能建议:

env -i git init # rule out environment issues?

# or pave over any installation problem:
sudo apt-get install --reinstall git

然而,令人满意的方式是提供更多信息:


(a)什么版本的ubuntu

uname -a
lsb_release -a

(b)什么包/存储库

dpkg --status git

// perhaps large:
find /etc/apt -iname '*.list' | xargs cat | grep -v ^# | sort -u

(c)什么环境

echo $PATH
echo $LD_LIBRARY_PATH
echo $LD_PRELOAD
which git
file $(which git)
ldd $(which git)

答案 1 :(得分:1)

所以,当我认为它与虚拟机有关时,我是正确的。事实证明,我试图在共享文件夹(在VM和主机之间共享)中使用Git。这就是Git适合的地方。