在Linux下安装Nexus仓库管理器

1. 获得root权限
[ferrari@localhost ~]$ su –

2. 下载nexus集成版
[root@localhost ~]# cd /usr/local
[root@localhost local]# wget http://nexus.sonatype.org/downloads/nexus-oss-webapp-1.6.0-bundle.zip

3. 解压缩
[root@localhost local]# unzip nexus-oss-webapp-1.6.0-bundle.zip
[root@localhost local]# rm -rf nexus-oss-webapp-1.6.0-bundle.zip
[root@localhost local]# ln -s nexus-oss-webapp-1.6.0 nexus

4. 设置为系统服务
[root@localhost local]# cd /etc/init.d
[root@localhost init.d]# cp /usr/local/nexus/bin/jsw/linux-x86-32/nexus ./nexus
[root@localhost init.d]# chmod 755 nexus
[root@localhost init.d]# chkconfig –add nexus
[root@localhost init.d]# chkconfig –levels 345 nexus on

5. 编辑/etc/init.d/nexus的文本
5.1. 添加以下变量
NEXUS_HOME=/usr/local/nexus
PLATFORM=linux-x86-32
PLATFORM_DIR=”${NEXUS_HOME}/bin/jsw/${PLATFORM}”
5.2. 修改以下变量
WRAPPER_CMD=”${PLATFORM_DIR}/wrapper”
WRAPPER_CONF=”${PLATFORM_DIR}/../conf/wrapper.conf”

PIDDIR=”${NEXUS_HOME}”

6. 启动服务
[root@localhost init.d]# service nexus start

7. 处理SELinux警告
7.1. 启动之后,会受到一个SELinux警告:
SELinux is preventing java from loading /usr/local/nexus-oss-webapp-1.6.0/bin/jsw/linux-x86-32/lib/libwrapper.so which requires text relocation.
7.2. 按照其中提示运行以下命令:
[root@localhost init.d]# chcon -t textrel_shlib_t ‘/usr/local/nexus-oss-webapp-1.6.0/bin/jsw/linux-x86-32/lib/libwrapper.so’

8. 启动之后,打开以下网址可以看到Nexus网页界面。
http://localhost:8081/nexus/index.html
默认管理员用户名/密码: admin/admin123

9. 在防火墙设置中添加8081端口的TCP协议,局域网内其他机器也可以访问该网页界面。
http://repository-server:8081/nexus/index.html

chkconfig小bug解决

背景:

ubuntu 11.04

3天前刚执行了一次自动更新

Bug:

不知道是不是更新的原因,每当运行chkconfig –add或者–del命令时,就出现如下错误提示:

/sbin/insserv: 没有那个文件或目录

已尝试但无效的方法:

重新安装insserv,无效

重新安装chkconfig,无效

解决方案/过程:

(1) 查找insserv安装位置

whereis insserv

结果如下:

insserv: /etc/insserv /etc/insserv.conf /usr/lib/insserv /usr/share/insserv /usr/share/man/man8/insserv.8.gz

可以发现insserv根本不在/sbin/目录下,而是在/usr/lib/insserv/目录下。

(2) 查找chkconfig安装位置

whereis chkconfig

结果如下:

chkconfig: /sbin/chkconfig /usr/share/man/man8/chkconfig.8.gz

(3) 编辑chkconfig文件

sudo gedit /sbin/chkconfig

找到第176行:# my @i = (“/sbin/insserv”);

将引号内的内容改为“/usr/lib/insserv/insserv”.

保存即可。