<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>56982</bug_id>
          
          <creation_ts>2025-11-24 11:39:04 +0300</creation_ts>
          <short_desc>proftpd: Улучшенный запуск в systemd</short_desc>
          <delta_ts>2026-05-15 10:07:54 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>proftpd</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Арсений">a.romenskiy2012</reporter>
          <assigned_to name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</assigned_to>
          <cc>antohami</cc>
    
    <cc>ender</cc>
    
    <cc>lakostis</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>277674</commentid>
    <comment_count>0</comment_count>
    <who name="Арсений">a.romenskiy2012</who>
    <bug_when>2025-11-24 11:39:04 +0300</bug_when>
    <thetext>Как было описано в баге (#56961).
Предлагаю отказаться от pid файла в пользу запуска proftpd не сервис режиме.
Если сделать сервис так:
proftpd.service:
[Unit]
Description=ProFTPD FTP Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/proftpd -n

[Install]
WantedBy = multi-user.target


Где мы запускаем proftpd с флагом -n
proftpd будет держать сессию, и писать логи,
от чего сервис может корректно работать в типе simple. 

Достоинства:
Мы явно видим что делает сервис.
Мы не используем pid файл.
При stop мы гарантированно убиваем сервис с дочками.

Отказ от pid файла может предотвратить потенциальные ошибки в будущем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277677</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2025-11-24 11:47:16 +0300</bug_when>
    <thetext>*** Bug 56961 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287237</commentid>
    <comment_count>2</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2026-05-13 14:59:39 +0300</bug_when>
    <thetext>(In reply to Арсений from comment #0)
&gt; Как было описано в баге (#56961).
&gt; Предлагаю отказаться от pid файла в пользу запуска proftpd не сервис режиме.
&gt; Если сделать сервис так:
&gt; proftpd.service:
&gt; [Unit]
&gt; Description=ProFTPD FTP Server
&gt; After=network.target
&gt; 
&gt; [Service]
&gt; Type=simple
&gt; ExecStart=/usr/sbin/proftpd -n
&gt; 
&gt; [Install]
&gt; WantedBy = multi-user.target
&gt; 
&gt; 
&gt; Где мы запускаем proftpd с флагом -n
&gt; proftpd будет держать сессию, и писать логи,
&gt; от чего сервис может корректно работать в типе simple. 
&gt; 
&gt; Достоинства:
&gt; Мы явно видим что делает сервис.
&gt; Мы не используем pid файл.
&gt; При stop мы гарантированно убиваем сервис с дочками.
&gt; 
&gt; Отказ от pid файла может предотвратить потенциальные ошибки в будущем.

В новой версии (1.3.10) будет отдельный модуль для systemd, поэтому нет смысла менять что то в новой версии. Для 1.3.9 я могу сделать исправление как предложено.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287239</commentid>
    <comment_count>3</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2026-05-13 15:08:29 +0300</bug_when>
    <thetext>Хотя, что именно нужно исправить?

❯ sudo apt-get install proftpd                                                                                                               
[sudo] password for lakostis:                                                                                                                
Reading Package Lists... Done                                                                                                                
Building Dependency Tree... Done                                                                                                             
The following NEW packages will be installed:                                                                                                
  proftpd                                                                                                                                    
0 upgraded, 1 newly installed, 0 removed and 3 not upgraded.                                                                                 
Need to get 0B/1473kB of archives.                                                                                                           
After unpacking 6733kB of additional disk space will be used.                                                                                
Committing changes...                                                                                                                        
Preparing...                                                                                                                                                                  #################################################################################################### [100%] 
Updating / installing...                                                                                                                     
1: proftpd-1.3.9-alt1                                                                                                                                                         #################################################################################################### [100%] 
egrep: warning: egrep is obsolescent; using grep -E                                                                                          
egrep: warning: egrep is obsolescent; using grep -E                                                                                          
Done. 

❯ sudo fgrep standalone /etc/proftpd.conf
fgrep: warning: fgrep is obsolescent; using grep -F
ServerType                      standalone

❯ sudo systemctl start proftpd
                                                                      
~ 
❯ sudo systemctl status proftpd
● proftpd.service - ProFTPD FTP Server
     Loaded: loaded (/usr/lib/systemd/system/proftpd.service; disabled; preset: disabled)                                                    
     Active: active (running) since Wed 2026-05-13 14:03:08 CEST; 1s ago                                                                     
 Invocation: a476da67f1844244a9b3f4ce469d3c62
    Process: 286461 ExecStart=/usr/sbin/proftpd (code=exited, status=0/SUCCESS)                                                              
   Main PID: 286462 (proftpd)
      Tasks: 1 (limit: 38409)
     Memory: 8.3M (peak: 9.3M)
        CPU: 17ms
     CGroup: /system.slice/proftpd.service
             └─286462 &quot;proftpd: (accepting connections)&quot;

May 13 14:03:08 lks.home systemd[1]: Starting proftpd.service - ProFTPD FTP Server...                                                        
May 13 14:03:08 lks.home proftpd[286462]: 192.168.1.100 - ProFTPD 1.3.9 (stable) (built Mon May 12 2025 20:19:24 UTC) standalone mode STARTUP
May 13 14:03:08 lks.home systemd[1]: Started proftpd.service - ProFTPD FTP Server.

❯ sudo ls -lapt /run/proftpd/
total 24
drwxr-x---  2 root root   140 May 13 14:04 ./
-rw-r--r--  1 root root     7 May 13 14:04 proftpd.pid
-rw-r--r--  1 root root    32 May 13 14:04 proftpd.scoreboard
-rw-r--r--  1 root root     0 May 13 14:04 proftpd.scoreboard.lck
srwxrwxrwx  1 root root     0 May 13 14:04 proftpd.sock
-rw-r--r--  1 root root 12608 May 13 14:03 proftpd.delay
drwxr-xr-x 60 root root  1600 May 13 14:01 ../


❯ sudo systemctl stop proftpd

~ 
❯ sudo systemctl status proftpd
○ proftpd.service - ProFTPD FTP Server
     Loaded: loaded (/usr/lib/systemd/system/proftpd.service; disabled; preset: disabled)
     Active: inactive (dead)

❯ sudo systemctl stop proftpd

~ 
❯ sudo systemctl status proftpd
○ proftpd.service - ProFTPD FTP Server
     Loaded: loaded (/usr/lib/systemd/system/proftpd.service; disabled; preset: disabled)
     Active: inactive (dead)

May 13 14:03:38 lks.home systemd[1]: proftpd.service: Deactivated successfully.
May 13 14:03:38 lks.home systemd[1]: Stopped proftpd.service - ProFTPD FTP Server.
May 13 14:04:26 lks.home systemd[1]: Starting proftpd.service - ProFTPD FTP Server...
May 13 14:04:26 lks.home proftpd[287389]: 192.168.1.100 - ProFTPD 1.3.9 (stable) (built Mon May 12 2025 20:19:24 UTC) standalone mode STARTUP
May 13 14:04:26 lks.home systemd[1]: Started proftpd.service - ProFTPD FTP Server.
May 13 14:08:14 lks.home proftpd[287389]: 192.168.1.100 - ProFTPD killed (signal 15)
May 13 14:08:14 lks.home proftpd[287389]: 192.168.1.100 - ProFTPD 1.3.9 standalone mode SHUTDOWN
May 13 14:08:14 lks.home systemd[1]: Stopping proftpd.service - ProFTPD FTP Server...
May 13 14:08:14 lks.home systemd[1]: proftpd.service: Deactivated successfully.
May 13 14:08:14 lks.home systemd[1]: Stopped proftpd.service - ProFTPD FTP Server.

т.е. что не пишется и где что не создается?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>