nexus: securize, futur proof
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
39bb4cac48
commit
321a50da6a
@ -1,22 +1,21 @@
|
|||||||
_version=3.37.0
|
_version=3.37.3
|
||||||
_patch=01
|
_patch=02
|
||||||
|
|
||||||
pkgname=nexus-oss
|
pkgname=nexus-oss
|
||||||
pkgver=${_version}.${_patch}
|
pkgver=${_version}.${_patch}
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc='Nexus 3 Repository OSS'
|
pkgdesc='Nexus 3 Repository OSS'
|
||||||
arch=('any')
|
arch=('any')
|
||||||
url='http://nexus.sonatype.org'
|
url='http://nexus.sonatype.org'
|
||||||
license=("custom:$pkgname")
|
license=("custom:$pkgname")
|
||||||
depends=('java-runtime=11')
|
depends=('java-runtime=11')
|
||||||
replaces=('nexus3')
|
replaces=('nexus3')
|
||||||
provides=($pkgname)
|
provides=('nexus3')
|
||||||
backup=("var/lib/$pkgname/etc/nexus.properties"
|
backup=("var/lib/$pkgname/etc/nexus.properties"
|
||||||
"usr/lib/$pkgname/bin/nexus.vmoptions"
|
"usr/lib/$pkgname/bin/nexus.vmoptions"
|
||||||
)
|
)
|
||||||
source=("https://download.sonatype.com/nexus/3/nexus-$_version-$_patch-unix.tar.gz"
|
source=("https://download.sonatype.com/nexus/3/nexus-$_version-$_patch-unix.tar.gz"
|
||||||
"$pkgname"
|
"$pkgname"
|
||||||
"$pkgname.install"
|
|
||||||
"$pkgname.properties"
|
"$pkgname.properties"
|
||||||
"$pkgname.service"
|
"$pkgname.service"
|
||||||
"$pkgname.sysusers"
|
"$pkgname.sysusers"
|
||||||
@ -24,26 +23,19 @@ source=("https://download.sonatype.com/nexus/3/nexus-$_version-$_patch-unix.tar.
|
|||||||
"$pkgname.vmoptions"
|
"$pkgname.vmoptions"
|
||||||
"pref_jre.cfg"
|
"pref_jre.cfg"
|
||||||
)
|
)
|
||||||
sha256sums=('3a928576502b53cd77eaa4f41564eb848d13707c106d45540116fc54dcee519b'
|
sha256sums=('c1db431908c5a76b44015c555d6ef4517abf0a86844faffee0f5d6c62359312d'
|
||||||
'3d2ebc2a796dbdc7e7e3b97e4c3272292169c898776e111f503f0517e434caff'
|
'b33fbb8769ac73fe339ea2875a240f308fbd584519f533fba25cf6136eac2dd0'
|
||||||
'f03a4a2a454ab15bbe7b6d479ec4b6a86055a4ffb77704dc44fe11a19382278b'
|
|
||||||
'dcdef5614db12f38b3da0b9de1b52fb7fa402af6621a825981c6168a34a6ad9b'
|
'dcdef5614db12f38b3da0b9de1b52fb7fa402af6621a825981c6168a34a6ad9b'
|
||||||
'3670748854d3f05623c9a8826605c3e2a97c7b3955104e74b5eed00ed17299c1'
|
'bb6d16579712ebb15df948ac395b9095955c12fec9160dd871254836a82c4062'
|
||||||
'77d699b5ccf6387fa2f69df2cd71cdb75b4ffbf46a10110dd6c0e2802783dbef'
|
'29567e274ffacb06e03580d94685b04aeb7197cd84a14108a347ad5307931be6'
|
||||||
'939994095f0c5de005a1e36a295bea791a70dadfa32af23b400cbd87be57af9c'
|
'939994095f0c5de005a1e36a295bea791a70dadfa32af23b400cbd87be57af9c'
|
||||||
'98e1405dc1c79373975463b7780ccb5eb89ba388988d35208ba285a4cf05be2a'
|
'176c02ba4299ad818eed75cdaeb42a2d9ffa7332fc74ff30b7c37965e7095df4'
|
||||||
'd713e29b72522fe4395b6959d27e2a98a24961393e08df7a6b022b1fd77c650d')
|
'd713e29b72522fe4395b6959d27e2a98a24961393e08df7a6b022b1fd77c650d')
|
||||||
|
|
||||||
install=$pkgname.install
|
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
install -dm755 $pkgdir/usr/lib
|
install -dm755 $pkgdir/usr/lib
|
||||||
install -dm750 $pkgdir/var/lib/$pkgname
|
install -dm750 $pkgdir/var/lib/$pkgname
|
||||||
|
|
||||||
sed -i '448iadd_class_path "$app_home/lib/boot/activation-1.1.jar"' $srcdir/nexus-$_version-$_patch/bin/nexus
|
|
||||||
sed -i '459iadd_class_path "$app_home/lib/endorsed/org.apache.karaf.specs.locator-4.2.9.jar"' $srcdir/nexus-$_version-$_patch/bin/nexus
|
|
||||||
sed -i '146,166d' $srcdir/nexus-$_version-$_patch/bin/nexus
|
|
||||||
|
|
||||||
cp -a $srcdir/nexus-$_version-$_patch $pkgdir/usr/lib/$pkgname
|
cp -a $srcdir/nexus-$_version-$_patch $pkgdir/usr/lib/$pkgname
|
||||||
cp -a $srcdir/sonatype-work/nexus3/orient $pkgdir/var/lib/$pkgname
|
cp -a $srcdir/sonatype-work/nexus3/orient $pkgdir/var/lib/$pkgname
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
exec /usr/lib/nexus-oss/bin/nexus "$@"
|
java=$(</usr/lib/nexus-oss/.install4j/pref_jre.cfg)
|
||||||
|
java_opts=$(</usr/lib/nexus-oss/bin/nexus.vmoptions)
|
||||||
|
exec ${java}/bin/java -Dinstall4j.jvmDir=${java} -Dexe4j.moduleName=/usr/lib/nexus-oss/bin/nexus -Dinstall4j.launcherId=245 -Dinstall4j.swt=false -Di4jv=0 -Di4j.vpt=true \
|
||||||
|
${java_opts} -classpath '/usr/lib/nexus-oss/.install4j/i4jruntime.jar:/usr/lib/nexus-oss/lib/boot/*:/usr/lib/nexus-oss/lib/endorsed/*' \
|
||||||
|
com.install4j.runtime.launcher.UnixLauncher $1 9d17dc87 0 0 org.sonatype.nexus.karaf.NexusMain
|
||||||
|
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
post_install()
|
|
||||||
{
|
|
||||||
systemd-sysusers nexus-oss.conf
|
|
||||||
systemd-tmpfiles --create nexus-oss.conf
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
|
|
||||||
The default URL for this installation is
|
|
||||||
|
|
||||||
http://127.0.0.1:8081/
|
|
||||||
|
|
||||||
To change these settings edit the file
|
|
||||||
|
|
||||||
/var/lib/nexus-oss/etc/nexus.properties
|
|
||||||
|
|
||||||
Sonatype strongly suggests using the latest Java 8 release version of Java
|
|
||||||
available from Oracle. Support for Java 9 has not been verified - DO NOT USE IT.
|
|
||||||
|
|
||||||
See https://help.sonatype.com/display/NXRM3/System+Requirements#SystemRequirements-Java
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
post_upgrade()
|
|
||||||
{
|
|
||||||
systemctl daemon-reload
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
|
|
||||||
See Release Notes at
|
|
||||||
https://help.sonatype.com/display/NXRM3/2018+Release+Notes
|
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
pre_remove()
|
|
||||||
{
|
|
||||||
systemctl disable --now nexus-oss
|
|
||||||
}
|
|
||||||
|
|
||||||
post_remove()
|
|
||||||
{
|
|
||||||
systemctl daemon-reload
|
|
||||||
}
|
|
||||||
|
|
@ -3,14 +3,41 @@ Description=Nexus 3 Repository OSS
|
|||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=simple
|
||||||
LimitNOFILE=65536
|
LimitNOFILE=65536
|
||||||
User=nexus
|
User=nexus
|
||||||
Group=nexus
|
Group=nexus
|
||||||
|
RuntimeDirectory=nexus-oss
|
||||||
|
LogsDirectory=nexus-oss
|
||||||
|
StateDirectory=nexus-oss
|
||||||
|
WorkingDirectory=/usr/lib/nexus-oss
|
||||||
ExecStart=/usr/bin/nexus-oss start
|
ExecStart=/usr/bin/nexus-oss start
|
||||||
ExecStop=/usr/bin/nexus-oss stop
|
Restart=always
|
||||||
Restart=on-abort
|
RestartSec=5s
|
||||||
|
AmbientCapabilities=
|
||||||
|
CapabilityBoundingSet=
|
||||||
|
LockPersonality=true
|
||||||
|
NoNewPrivileges=True
|
||||||
|
SecureBits=noroot-locked
|
||||||
|
PrivateDevices=true
|
||||||
|
PrivateTmp=true
|
||||||
|
PrivateUsers=true
|
||||||
|
ProtectClock=true
|
||||||
|
ProtectControlGroups=true
|
||||||
|
ProtectHome=true
|
||||||
|
ProtectHostname=true
|
||||||
|
ProtectKernelLogs=true
|
||||||
|
ProtectKernelModules=true
|
||||||
|
ProtectKernelTunables=true
|
||||||
|
ProtectProc=invisible
|
||||||
|
ProtectSystem=strict
|
||||||
|
RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX
|
||||||
|
RestrictNamespaces=true
|
||||||
|
RestrictRealtime=true
|
||||||
|
RestrictSUIDSGID=true
|
||||||
|
SystemCallArchitectures=native
|
||||||
|
SystemCallFilter=@system-service
|
||||||
|
SystemCallErrorNumber=EPERM
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
||||||
|
@ -1,2 +1 @@
|
|||||||
u nexus - "Nexus OSS" /var/lib/nexus-oss
|
u nexus - "Nexus OSS" /var/lib/nexus-oss
|
||||||
g nexus -
|
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
-Xms1G
|
-Xms1G
|
||||||
-Xmx2G
|
-Xmx1G
|
||||||
-XX:MaxDirectMemorySize=768M
|
-XX:MaxDirectMemorySize=1G
|
||||||
-XX:+UnlockDiagnosticVMOptions
|
|
||||||
-XX:+UnsyncloadClass
|
|
||||||
-XX:+LogVMOutput
|
|
||||||
-XX:LogFile=/var/lib/nexus-oss/log/jvm.log
|
|
||||||
-XX:-OmitStackTraceInFastThrow
|
|
||||||
-Djava.net.preferIPv4Stack=true
|
|
||||||
-Dkaraf.home=.
|
-Dkaraf.home=.
|
||||||
-Dkaraf.base=.
|
-Dkaraf.base=.
|
||||||
-Dkaraf.etc=etc/karaf
|
-Dkaraf.etc=etc/karaf
|
||||||
|
Loading…
Reference in New Issue
Block a user