Mercurial是一个分布式的的版本控制工具。其自身提供了一个web服务端,但是没有权限控制功能。Mercurial-server可以弥补这个不足,它通过ssh来控制不同版本库的访问权限。需要注意的是Mercurial-server只能安装在linux系统上。
Ubuntu系统下的安装:
如果使用的是Ubuntu操作系统的话安装是非常简单的,只需要执行下面的命令:
- $ sudo apt-get update
- $ sudo apt-get install mercurial mercurial-server
$ sudo apt-get update
$ sudo apt-get install mercurial mercurial-server
Redhat系统下的安装:
这个相对来说会复杂一些,而且失败率非常高,按照官方文档的方法连第一步都无法通过。后来经过一番漫长的摸索终于安装成功了。这里和大家分享一下:
1、看到解压后的目录中含有Makefile,直接执行make,结果报错,无法成功安装;
2、分析Makefile中的内容,发现整个安装过程包含复制文件、创建用户、初始化用户等几个任务。接下来开始手工安装:
- a.首先通过make命令进行文件复制:make pythonbuild pythoninstall
- b.通过make执行创建用户任务会报错,所以直接使用系统命令创建:useradd hg
- c.再通过make的inituser对用户进行初始化:make inituser
a.首先通过make命令进行文件复制:make pythonbuild pythoninstall
b.通过make执行创建用户任务会报错,所以直接使用系统命令创建:useradd hg
c.再通过make的inituser对用户进行初始化:make inituser
===> python install setup.py 记得老的版本,先安装python,再用此命令安装mercurial-server
Mercurial-server安装成功后需要进行一定的配置:
1、切换到hg用户下;
2、创建权限控制的基本文件/etc/mercurial-server/access.conf,并输入以下内容
- init user=root/**
- deny repo=hgadmin
- write user=users/**
init user=root/**
deny repo=hgadmin
write user=users/**
3、将自己的ssh公钥复制到版本库服务器的/etc/mercurial-server/keys/root/user-name/目录中
4、创建~/.ssh目录
5、执行/usr/local/share/mercurial-server/refresh-auth进行权限刷新
6、将~/.ssh目录的权限设置为只读
特别需要注意的一点是:
mercurial-1.9.1与mercurial-server有兼容问题,===> 在项目应用的项目软件经常遇到hg的版本匹配,不合适的需要换一换,也许就解决了。即会报这样一个错误:
- remote: Traceback (most recent call last):
-
remote: File "/usr/local/share/mercurial-server/hg-ssh", line 76, in <module>
-
remote: dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
-
remote: File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 31, in dispatch
-
remote: if req.ferr:
-
remote: AttributeError: 'list' object has no attribute 'ferr'
-
abort: no suitable response from remote hg!
remote: Traceback (most recent call last):
remote: File "/usr/local/share/mercurial-server/hg-ssh", line 76, in <module>
remote: dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
remote: File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 31, in dispatch
remote: if req.ferr:
remote: AttributeError: 'list' object has no attribute 'ferr'
abort: no suitable response from remote hg!
如果出现这个错误,换用1.8.4版本便可以解决。
此外,我在安装mercurial-1.9.1的时候报了一个错误:docutils module is missing。这时需要安装一下这个模块,安装方法如下:
- # wget http:
-
# tar -zxf docutils-0.7.tar.gz
-
# cd docutils-0.7
- # python setup.py install
# wget http://prdownloads.sourceforge.net/docutils/docutils-0.7.tar.gz?download
# tar -zxf docutils-0.7.tar.gz
# cd docutils-0.7
# python setup.py install
分享到:
相关推荐
在本场景中,"VNC-Server-6.7.1-Linux-x64-ANY.tar.gz" 是一个针对64位Linux系统的VNC服务器软件的压缩包。VNC Server是RealVNC公司提供的产品,它提供了跨平台的远程控制功能,让用户可以在不同的操作系统上远程...
apktool-install-linux-r05-ibot.tar.bz2 直接解压 需要搭配 apktool1.5.2.tar.bz2 一起使用 配置环境变量即可使用
datart安装包
如果缺少依赖,可以通过`yum install <dependency>`或`apt-get install <dependency>`(取决于你的Linux发行版)来安装。 2. **安装RPM包**:在确保依赖关系得到满足后,可以使用`rpm`命令安装MySQL服务器。对于这...
ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.zip
使用方法:解压 openocd-esp32-linux64-0.10.0-esp32-xxxxxxxx.zip ,根据时间版本选择一个 .tar.gz 的文件,放入linux下 ~/.espressif/dist 文件夹,再执行 ./install.sh 就跳过这一个下载了。
标题中的“Apache-OpenOffice-4.1.1-Linux-x86-64-install-rpm-en-US.tar”指的是Apache OpenOffice的4.1.1版本的安装包,专为64位Linux操作系统设计,采用RPM(Red Hat Package Manager)格式,并且是英文版。...
Auto-install-java-for-linux,linux自动安装java及部署环境变量_Auto-install-java-for-linux
在无网络环境下手动安装OpenSSH-server是一项相对复杂的任务,需要对Linux系统有一定的了解。但通过这种方式,你可以更好地控制安装过程,确保所有步骤都符合安全和管理的需求。在实际操作中,务必遵循最佳实践,...
文件"Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz"就是这样的一个压缩包,它提供了Mycat的Linux版本,便于在Linux环境中解压安装。 以下是安装和配置Mycat在Linux上的详细步骤: 1. **下载与解压**:...
标题中的"telnet-server-0.17-64.el7.x86_64.rpm"是一个RPM软件包,用于在Linux系统上安装Telnet服务器。RPM(Red Hat Package Manager)是Linux发行版中广泛使用的软件包管理器,用于安装、升级、查询和删除软件。...
在“压缩包子文件的文件名称列表”中,我们看到一个名为“rabbitmq-server-3.6.5-1.noarch.rpm”的文件,这是一个RPM(Red Hat Package Manager)格式的软件包,常见于Fedora、CentOS等基于RPM的Linux发行版。...
sudo yum install xorg-x11-server-Xvfb ``` 3. **下载RPM包**:获取"Tigervnc tigervnc-server rpm安装包",这通常可以通过访问TigerVNC官方网站或者从RHEL的软件仓库中下载。下载后,将其放在可访问的位置,...
jre-8u202-linux-x64.tar.gz适用于Linux x64位系统,是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中; 对于 2019 年 4 月 16 日开始的版本,Oracle JDK 许可协议已更改,...
描述中提到的“rabbitmq-server-3.6.5-1.noarch.rpm”是RabbitMQ服务器的安装包,专为Linux环境设计,特别是CentOS 7操作系统。在Linux中,RPM包提供了一种方便的方式来安装、升级和管理软件,包括依赖关系解决。 ...
mssql-server-15.0.4073.23-4.x86_64.rpm 为Linux系统下离线安装包,安装方式:rpm -ivh mssql-server-15.0.4073.23-4.x86_64.rpm 提示缺依赖包,则把包补全 yum install bzip2
apt-get install -y openssh-server apt-get install -y git apt-get install -y vim apt-get install -y tftp-hpa apt-get install -y nfs-kernel-server apt-get install -y samba apt-get install -y samba...
termux-linux kali linux安装教程 kali linux安装教程 kali linux安装教程 kali linux安装教程 kali linux安装教程
Arch-Linux-Install-ScriptArch_Linux_安装脚本_Arch-Linux-Installer