我试图在 Linux 中理解以下内容。在 Windows 中,我们有运行或“启动”的服务。当我们安装应用程序时,它可以作为服务安装,以便它自动启动。
但是如果应用程序没有安装为服务,我们通常可以在开始->程序菜单中看到它。所以我们知道安装了哪些应用程序。
在 Linux 中等价物是什么?我了解等效服务位于/etc/init
服务启动/停止的位置。但是我假设如果我安装一个包,它不一定会创建一个启动脚本,/etc/init
对吗?
那么如何知道 Linux 中已安装和可用的内容(就像我们可以在 Windows 中从Start -> Programs)?
注意:我问的是 CLI 模式。我想在桌面版本中,您可以在各种菜单中看到相关图标(例如在 Kubuntu 中的Application -> Internet -> Firefox)。
我正在尝试将 teamcity 设置为家庭服务器,但似乎无法运行该服务。这是在 ubuntu 16.04 上。
我按照此处的说明进行操作,直到安装和配置数据库部分。(除了我只是使用 /opt/Teamcity 而不是 /opt/jetbrains/Teamcity)
现在,当我尝试运行该服务时,我得到了这个
sudo service teamcity start
Job for teamcity.service failed because the control process exited with error code. See "systemctl status teamcity.service" and "journalctl -xe" for details.
Run Code Online (Sandbox Code Playgroud)
但是,当我在脚本中执行实际命令时
sudo start-stop-daemon --start -c teamcity --exec /opt/TeamCity/bin/runAll.sh start
Run Code Online (Sandbox Code Playgroud)
它工作正常。有任何想法吗?
编辑
这是输出 journalctl -xe
Oct 13 23:15:59 Home-Server sudo[8224]: ryan : TTY=pts/8 ; PWD=/opt/TeamCity/bin ; USER=root ; COMMAND=/usr/sbin/service teamcity start
Oct 13 23:15:59 Home-Server sudo[8224]: pam_unix(sudo:session): session opened …
Run Code Online (Sandbox Code Playgroud) 我在重新启动时禁用了 iptables 服务和firewalld,而且它们也没有启动。但仍然iptables -L
输出一些规则。为什么?
我可以刷新 iptables 配置并永久保存它。但我不明白在RHEL 7.2中完全禁用该服务时它是如何启动的
更新1:
我刚刚得到了一个 debian 8 VPS,我正在尝试将 python 脚本作为服务运行,我写了这个(一切都是通过以 root 身份登录的 ssh 完成的):
[Unit]
Description=My Script Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python /web/cmcreader/test.py > /web/cmcreader/test.log 2>&1
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我已经把它放在/lib/systemd/system
我然后chmoded它:
chmod 644 /lib/systemd/system/cmcreader.service
然后我尝试使用以下方法激活它:
systemctl daemon-reload
systemctl enable cmcreader.service
Run Code Online (Sandbox Code Playgroud)
但是最后一个命令返回 ( enable
) :
Failed to execute operation: Invalid argument
我做错了什么?谢谢。
命令:sudo netstat -ntulp
给我:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1263/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1357/sshd
tcp6 0 0 :::80 :::* LISTEN 1857/apache2
tcp6 0 0 :::22 :::* LISTEN 1357/sshd
tcp6 0 0 :::443 :::* LISTEN 1857/apache2
Run Code Online (Sandbox Code Playgroud)
为什么 sshd 被列出两次?0.0.0.0:22 和 :::22 之间有什么区别?
使用 Debian 9 stable,我想在启动 NGINX 进程和 shorewall 防火墙之前启动自定义 shell 脚本:
\n\n/etc
NGINX 配置、shorewall 配置和/etc/hosts
sync
,不确定这是否是个好主意\nsystemctl 列表依赖项
\n default.target
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80display-manager.service
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\ x94\x80systemd-update-utmp-runlevel.service
\n\xe2\x97\x8f\xe2\x94\x94\xe2\x94\x80multi-user.target
\n\xe2\x97\x8f\xe2\x94\x9c\ xe2\x94\x80console-setup.service
\n\xe2\x97\x8f\xe2\x94\x9c\xe2\x94\x80cron.service
\n\xe2\x97\x8f\xe2\x94\x9c\xe2\x94\ x80dbus.service
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80dropbear.service
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80myservice.service\xe2\ x80\x82\xe2\x80\x82\xe2\x80\x82<-- 我的服务(使用 systemctl 启用创建的链接)
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80networking.service
\ n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80nginx.service\xe2\x80\x82\xe2\x80\x82\xe2\x80\x82\xe2\x80\x82\xe2\x80\ x82\xe2\x80\x82\xe2\x80\x82<-- 在 myservice 之后执行
\n [...]
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80basic.target
\n \xe2\x97\x8f \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80-.mount
\n \xe2\x97\x8f \xe2\x94\x82 \xe2\x94\x9c\ xe2\x94\x80myservice.service\xe2\x80\x82<-- …
操作系统:带有 Cinnamon DE 的 GNU/Linux Debian 9。
由于我们设法让VNC 在 Debian 服务器上运行,再次感谢GAD3R,是时候让 VNC 成为常规服务了。
我希望它自启动以来一直运行,而不必在运行时通过 SSH 连接到服务器:
x11vnc -rfbauth ~/.vnc/passwd
Run Code Online (Sandbox Code Playgroud)
此外,我不想运行单独的 Cinnamon 会话,我想直接查看主屏幕上的内容或您称之为的任何内容,并实时操作该会话。
我nmap
使用自己的私有 IP 地址在 Lubuntu 机器上运行。
那些“未知”服务是什么?
我怎样才能找到他们?是fuser
应该发现的?
谢谢。
$ nmap -p0-65535 192.168.1.198
Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-19 23:32 EDT
Nmap scan report for olive.fios-router.home (192.168.1.198)
Host is up (0.00050s latency).
Not shown: 65526 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
2049/tcp open nfs
5900/tcp filtered vnc
41441/tcp open unknown
43877/tcp open unknown
44847/tcp open unknown
55309/tcp open unknown
Nmap done: 1 IP address …
Run Code Online (Sandbox Code Playgroud)