Compare commits

...

2 Commits

Author SHA1 Message Date
8f7cca95fe feat: 添加内存锁定资源限制以支持 RandomX 大页内存优化
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in 9s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -38s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in 18s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in -24s
Build and Release / release (push) Has been skipped
2026-01-23 11:36:52 +08:00
8f0463687e fix: 修复 apt 升级后服务需要手动重新启用的问题
- 修改 prerm 脚本,升级时只停止服务不禁用
- 修改 postinst 脚本,升级后自动重启已启用的服务
- 首次安装仍保持手动启用服务的行为
2026-01-23 11:35:32 +08:00
3 changed files with 62 additions and 23 deletions

View File

@@ -15,6 +15,10 @@ StandardOutput=journal
StandardError=journal
SyslogIdentifier=p2pool
# Resource limits
LimitMEMLOCK=infinity
AmbientCapabilities=CAP_IPC_LOCK
# Security hardening
NoNewPrivileges=true
PrivateTmp=true

33
debian/postinst vendored
View File

@@ -13,13 +13,13 @@ if ! getent passwd p2pool >/dev/null; then
fi
# Create data directory
mkdir -p /var/lib/p2pool
chown p2pool:p2pool /var/lib/p2pool
chmod 750 /var/lib/p2pool
mkdir -p /var/lib/p2pool/data-api
chown -R p2pool:p2pool /var/lib/p2pool
chmod -R 750 /var/lib/p2pool
# Create example params.conf if it doesn't exist
if [ ! -f /var/lib/p2pool/params.conf ]; then
cat > /var/lib/p2pool/params.conf << 'EOF'
cat > /var/lib/p2pool/params.conf << 'CONF'
# P2Pool Configuration File
# Edit this file with your settings and restart the service
@@ -28,6 +28,12 @@ host = 127.0.0.1
rpc-port = 18081
zmq-port = 18083
# Use SSL for RPC connection
# rpc-ssl = true
# RPC credentials (if applicable)
# rpc-login = username:password
# Your Monero wallet address (REQUIRED)
wallet = YOUR_MONERO_WALLET_ADDRESS
@@ -46,11 +52,11 @@ loglevel = 3
# mini = true
# Merge mining (optional - uncomment to enable Tari merge mining)
# merge-mine = tari://TARI_NODE_IP:18102 TARI_WALLET_ADDRESS
# merge-mine = tari://TARI_NODE_IP:18142 TARI_WALLET_ADDRESS
# Stratum server (for miners to connect)
# stratum = 0.0.0.0:3333
EOF
CONF
chown p2pool:p2pool /var/lib/p2pool/params.conf
chmod 640 /var/lib/p2pool/params.conf
fi
@@ -64,9 +70,22 @@ chmod 750 /var/log/p2pool
chown root:root /opt/p2pool/p2pool
chmod 755 /opt/p2pool/p2pool
# Reload systemd
# Reload systemd and handle service restart on upgrade
if [ -d /run/systemd/system ]; then
systemctl daemon-reload
# On upgrade: restart service if it was enabled
if [ "$1" = "configure" ] && [ -n "$2" ]; then
# $2 is the previously installed version (only set on upgrade)
if systemctl is-enabled --quiet p2pool.service 2>/dev/null; then
echo "Restarting p2pool service after upgrade..."
systemctl start p2pool.service || true
fi
fi
# Note: On fresh install, service is NOT auto-enabled or auto-started
# Users should manually enable the service:
# systemctl enable p2pool.service
# systemctl start p2pool.service
fi
echo ""

30
debian/prerm vendored
View File

@@ -1,17 +1,33 @@
#!/bin/sh
set -e
# Stop and disable service if running
if [ -d /run/systemd/system ]; then
case "$1" in
upgrade)
# Stop service only during upgrade, keep enabled state
if [ -d /run/systemd/system ]; then
if systemctl is-active --quiet p2pool.service; then
echo "Stopping p2pool service for upgrade..."
systemctl stop p2pool.service
fi
fi
;;
remove|deconfigure)
# Stop and disable service during removal
if [ -d /run/systemd/system ]; then
if systemctl is-active --quiet p2pool.service; then
echo "Stopping p2pool service..."
systemctl stop p2pool.service
fi
if systemctl is-enabled --quiet p2pool.service 2>/dev/null; then
echo "Disabling p2pool service..."
systemctl disable p2pool.service
fi
fi
fi
;;
failed-upgrade)
# Do nothing on failed upgrade
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0