Bir kullanıcı hizmetini etkinleştiremiyorum veya devre dışı bırakamıyorum: İşlem yürütülemedi: Böyle bir dosya veya dizin yok


18

Ben hata ayıklama / bir Redis sunucusu kullanan eclipse bir program test etmek istiyorum, bu yüzden sunucu çalıştırma ayrıcalığına sahip bir kullanıcı hizmetine çevirmeye karar verdi. Beni rahatsız eden, hizmeti başlatabileceğim veya durdurabileceğim, ancak etkinleştiremediğim / devre dışı bırakamayacağım.

Aldığım hata:

Failed to execute operation: No such file or directory

Orijinal / usr / lib / systemd / system:

[Unit]
Description=Advanced key-value store
After=network.target

[Service]
User=arkos
ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf
ExecStop=/usr/bin/redis-cli shutdown

[Install]
WantedBy=multi-user.target

Düzenlendi ve / usr / lib / systemd / user klasörüne taşındı:

[Unit]
Description=Advanced key-value store

[Service]
ExecStart=/usr/bin/redis-server /etc/arkos/arkos-redis.conf
ExecStop=/usr/bin/redis-cli shutdown

[Install]
WantedBy=default.target

Systemctl durumu:

�� arkos-redis.service - Advanced key-value store
   Loaded: loaded (/usr/lib/systemd/user/arkos-redis.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2015-08-25 09:19:25 UTC; 1min 55s ago
  Process: 644 ExecStop=/usr/bin/redis-cli shutdown (code=exited, status=1/FAILURE)
 Main PID: 736 (redis-server)
   CGroup: /user.slice/user-1000.slice/user@1000.service/arkos-redis.service
           ������736 /usr/bin/redis-server *:0                        

Aug 25 09:19:25 arkos-vagrant redis-server[736]: |    `-._`-._        _.-'_.-'    |
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._    `-._`-.__.-'_.-'    _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._    `-.__.-'    _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._        _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-.__.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.471 # Server started, Redis version 3.0.3
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 * The server is now ready to accept connections at /tmp/arkos-redis.sock

Journalctl:

Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.470 # You requested maxclients of 10000 requiring at least 10032 max file descrip
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.470 # Redis can't set maximum open files to 10032 because of OS error: Operation 
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.470 # Current maximum open files is 4096. maxclients has been reduced to 4064 to 
Aug 25 09:19:25 arkos-vagrant redis-server[736]: _._
Aug 25 09:19:25 arkos-vagrant redis-server[736]: _.-``__ ''-._
Aug 25 09:19:25 arkos-vagrant redis-server[736]: _.-``    `.  `_.  ''-._           Redis 3.0.3 (00000000/0) 64 bit
Aug 25 09:19:25 arkos-vagrant redis-server[736]: .-`` .-```.  ```\/    _.,_ ''-._
Aug 25 09:19:25 arkos-vagrant redis-server[736]: (    '      ,       .-`  | `,    )     Running in standalone mode
Aug 25 09:19:25 arkos-vagrant redis-server[736]: |`-._`-...-` __...-.``-._|'` _.-'|     Port: 0
Aug 25 09:19:25 arkos-vagrant redis-server[736]: |    `-._   `._    /     _.-'    |     PID: 736
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._    `-._  `-./  _.-'    _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: |`-._`-._    `-.__.-'    _.-'_.-'|
Aug 25 09:19:25 arkos-vagrant redis-server[736]: |    `-._`-._        _.-'_.-'    |           http://redis.io
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._    `-._`-.__.-'_.-'    _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: |`-._`-._    `-.__.-'    _.-'_.-'|
Aug 25 09:19:25 arkos-vagrant redis-server[736]: |    `-._`-._        _.-'_.-'    |
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._    `-._`-.__.-'_.-'    _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._    `-.__.-'    _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-._        _.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: `-.__.-'
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.471 # Server started, Redis version 3.0.3
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 # WARNING overcommit_memory is set to 0! Background save may fail under low m
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 # WARNING you have Transparent Huge Pages (THP) support enabled in your kerne
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sy
Aug 25 09:19:25 arkos-vagrant redis-server[736]: 736:M 25 Aug 09:19:25.472 * The server is now ready to accept connections at /tmp/arkos-redis.sock

systemctl daemon-reloadDosyaları taşıdıktan / düzenledikten sonra kaçtınız?
André Borie

Yanıtlar:


4

Benim durumumda, systemd birim dosyalarımı doğrudan /etc/systemd/system/...klasörlerin altına yerleştiriyordum . Bunları /lib/systemd/systemyerine taşıdı ve bu, systemctl etkinleştirme / devre dışı bırakma komutlarıyla ilgili sorunu çözdü.


2
Bu sorunu yaşadığımdan bu yana uzun zaman geçti, ama böyle bir şeyin çözüm olduğunu hatırlıyorum.
Folatt

1
mycase, lib lib vb kopyalandı ve işe yaradı
Stalin Gino

21

Symlink sorunu mu var?

Sembolik bağlantılar kullanırken benzer bir hata mesajı aldım.

Görünüşe göre systemd sembolik bağlantıları izlemez, çözüm sadece dosyayı kopyalamak veya taşımaktır.

Kullanıcı hizmeti?

--userBirimler için komut satırına eklemeniz gerektiğine inanıyorum user/:

sudo systemctl --user enable arkos-redis.service

2
Ayrıca burada sembolik sorun oldu.
cweiske

2
İlginç. Ben starthizmet edince symlink takip , ama enableetmedi
Michael Mrozek

Haklısın sembolik işe yaramadı. Bunun yerine sabit bir bağlantı kullanarak sona erdi.
Bryce Guinta

1
Meraklı. Symlink kullanıyorum, çünkü projenin bir parçası olarak servis dosyasını git-yönetmeme izin veriyor ve başlatma ve durdurma için iyi, ancak etkinleştirmek için değil. Çok garip bir sınırlama.
rosuav

Burada sembolik bağlantılara neden izin
verilip verilmeyeceği ile

1

Deneyin:

  • sudo touch /etc/init.d/arkos-redis

Ben de aynı problemi yaşadım. Bu işe yaramazsa:

  • sudo strace systemctl enable arkos-redis

Son hatanın nerede meydana geldiğine bakın.


0

Aynı sorunu Fedora 29'da da yaşadım.

Değiştir: After=network.target
İle: Requires=network.target

İnanılmaz derecede sinir bozucu çünkü dosya açıkça orada ama hiçbir şey görmek istemiyor gibi görünüyor. Systemd analizinde de bir hata yoktur. Sadece altında 'kötü' olarak görünür systemctl --list-unit-files.


-1

Birim dosyası boşken Redhat'ta bu hatayı aldı

Cannot send after transport endpoint shutdown
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.