Tôi không thể bật hoặc tắt dịch vụ người dùng: Không thể thực hiện thao tác: Không có tệp hoặc thư mục như vậy


18

Tôi muốn gỡ lỗi / kiểm tra một chương trình trong nhật thực sử dụng máy chủ Redis vì vậy tôi quyết định biến máy chủ thành dịch vụ người dùng để có đặc quyền chạy nó. Điều làm phiền tôi là tôi có thể bắt đầu hoặc dừng dịch vụ nhưng không bật / tắt dịch vụ.

Lỗi tôi nhận được là:

Failed to execute operation: No such file or directory

Bản gốc / 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

Đã chỉnh sửa và chuyển sang / usr / lib / systemd / user:

[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

Trạng thái hệ thống:

�� 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

Tạp chí:

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

Bạn đã chạy systemctl daemon-reloadsau khi di chuyển / chỉnh sửa các tập tin?
André Borie

Câu trả lời:


4

Trong trường hợp của tôi, tôi đã đặt các tập tin đơn vị systemd của tôi trực tiếp dưới /etc/systemd/system/...các thư mục. Đã chuyển chúng sang /lib/systemd/systemthay thế và điều đó đã giải quyết vấn đề với các lệnh enable / vô hiệu hóa systemctl.


2
Đã lâu rồi tôi mới gặp vấn đề này, nhưng tôi nhớ một thứ như thế này là giải pháp.
Folatt

1
trong túi của tôi, tôi đã sao chép từ lib sang vv và nó đã hoạt động
Stalin Gino

21

Vấn đề về liên kết?

Tôi đã có một thông báo lỗi tương tự khi sử dụng các liên kết tượng trưng.

Rõ ràng systemd không theo các liên kết tượng trưng, ​​giải pháp đơn giản là sao chép hoặc di chuyển tệp.

Dịch vụ người dùng?

Tôi tin rằng bạn cần thêm --uservào dòng lệnh cho các đơn vị trong user/:

sudo systemctl --user enable arkos-redis.service

2
Cũng là vấn đề symlink ở đây.
cweiske

2
Hấp dẫn. Nó đã đi theo symlink khi tôi startchỉnh sửa dịch vụ, nhưng enablekhông
Michael Mrozek

Bạn đúng là symlink không hoạt động. Tôi đã kết thúc bằng cách sử dụng một liên kết cứng thay thế.
Bryce Guinta

1
Hiếu kỳ. Tôi đang sử dụng một liên kết tượng trưng vì nó cho phép tôi quản lý tệp dịch vụ như một phần của dự án và nó bắt đầu và dừng lại, nhưng không cho phép. Giới hạn rất lạ.
rosuav

Ở đây bắt đầu cuộc thảo luận về lý do tại sao cho phép hoặc không liên kết tượng trưng: bugzilla.redhat.com/show_orms.cgi?id=955379#c14
jgomo3

1

Thử:

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

Tôi đã từng gặp vấn đề tương tự. Nếu điều đó không làm việc:

  • sudo strace systemctl enable arkos-redis

Tìm kiếm nơi thất bại cuối cùng xảy ra.


0

Tôi đã có vấn đề tương tự trên Fedora 29.

Thay thế: After=network.target
Bằng: Requires=network.target

Nó là cực kỳ bực bội vì tập tin rõ ràng ở đó nhưng dường như không có gì muốn xem nó. Không có thất bại từ phân tích systemd. Nó chỉ hiển thị là 'xấu' dưới systemctl --list-unit-files.


-1

Đã nhận được lỗi này trên Redhat khi tệp đơn vị trống

Cannot send after transport endpoint shutdown
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.