Login class for i2pd is added in separate file in /etc/login.conf.d if OpenBSD 7.1 or newer

このコミットが含まれているのは:
Al Pou 2022-05-24 15:52:51 -04:00
コミット 5f016aee39
2個のファイルの変更24行の追加5行の削除

ファイルの表示

@ -1,4 +1,5 @@
.PHONY: install uninstall
CLASS_FILE = /etc/login.conf.d/i2pd
install:
# This command verifies if the group _i2pd exists. If it doesn't, it
@ -18,6 +19,16 @@ install:
-c "i2pd account" -d /var/lib/i2pd -s /sbin/nologin _i2pd
chown -R _i2pd:_i2pd /var/lib/i2pd
# This command adds a new login class allowing _i2pd to open more files
# simultaneously if the version of OpenBSD is 7.1 or newer. For older
# versions, the modification should be done manually in /etc/login.conf.
if [ $$(echo "$$(uname -r) >= 7.1" | bc) = 1 ]; then \
echo "i2pd:\\" > $(CLASS_FILE); \
echo "\t:openfiles-cur=102400:\\" >> $(CLASS_FILE); \
echo "\t:openfiles-max=102400:\\" >> $(CLASS_FILE); \
echo "\t:tc=daemon:" >> $(CLASS_FILE); \
fi
# This command copies the RC script in the RC script folder to allow
# I2Pd to be managed by the service supervisor.
install -o root -g bin -m 555 i2pd /etc/rc.d/i2pd
@ -29,6 +40,9 @@ uninstall:
rcctl disable i2pd
rm /etc/rc.d/i2pd
# This command removes the i2pd login class.
rm $(CLASS_FILE)
# This command removes the _i2pd user and its home.
userdel -r _i2pd

ファイルの表示

@ -77,28 +77,33 @@ this number to a value that is too low for I2Pd to work properly. Symptoms of a
number that is too small include difficulties connecting to eepsites and high
CPU usage.
To create a login class, simply add the following lines at the end of
`/etc/login.conf`:
If you are using OpenBSD 7.0 or older, simply add the following lines at the
end of `/etc/login.conf` to create the login class:
i2pd:\
:openfiles-cur=102400:\
:openfiles-max=102400:\
:tc=daemon:
This login class will be used by the user `_i2pd` created in the following
If you are using OpenBSD 7.1 or newer, a login class can be created by adding a
file in `/etc/login.conf.d`. The makefile ran in the next steps detects the
version and creates the file automatically.
The new login class will be used by the user `_i2pd` created in the following
steps. Next, clone this git repository:
$ cd /a/folder/of/your/choice/where/to/clone/the/repo
$ git clone https://gitlab.com/alpou/i2pd-rc-openbsd.git
Then, simply run the makefile. This step creates a dedicated `_i2pd` user and a
group of the same name if they don't already exist, makes the binaries
group of the same name if they don't already exist, creates the login class
described above if you are using OpenBSD 7.1 or newer, makes the binaries
previously compiled belong to them, and copies the init script in `/etc/rc.d`.
$ cd i2pd-rc-openbsd
$ doas make install
The final step is to enable the service to make it start at boot time and
The final step is to enable the service to make it start at boot time and to
manually start it:
$ doas rcctl enable i2pd