AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[sockets](ubuntu)

Martin Hope
Nicholas Saunders
Asked: 2020-11-15 10:56:54 +0800 CST

为什么 MariaDB 或 MySQL 不启动?

  • 0

显然清除和/或重新安装mysql并mariadb可能导致冲突,因此尝试:

root@mordor:~# 
root@mordor:~# sudo apt purge mariadb-server mariadb-client mysql-client mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'mysql-client' is not installed, so not removed
Package 'mysql-server' is not installed, so not removed
The following packages will be REMOVED:
  mariadb-client* mariadb-server*
0 upgraded, 0 newly installed, 2 to remove and 1 not upgraded.
After this operation, 20.5 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 181581 files and directories currently installed.)
Removing mariadb-client (1:10.4.17+maria~focal) ...
Removing mariadb-server (1:10.4.17+maria~focal) ...
root@mordor:~# 
root@mordor:~# 
root@mordor:~# rm -rf  /var/lib/mysql
root@mordor:~# 
root@mordor:~# sudo apt install mariadb-client mariadb-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  mariadb-client mariadb-server
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/6252 B of archives.
After this operation, 20.5 kB of additional disk space will be used.
Selecting previously unselected package mariadb-client.
(Reading database ... 181576 files and directories currently installed.)
Preparing to unpack .../mariadb-client_1%3a10.4.17+maria~focal_all.deb ...
Unpacking mariadb-client (1:10.4.17+maria~focal) ...
Selecting previously unselected package mariadb-server.
Preparing to unpack .../mariadb-server_1%3a10.4.17+maria~focal_all.deb ...
Unpacking mariadb-server (1:10.4.17+maria~focal) ...
Setting up mariadb-client (1:10.4.17+maria~focal) ...
Setting up mariadb-server (1:10.4.17+maria~focal) ...
root@mordor:~# 
root@mordor:~# mariadb
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@mordor:~# 
root@mordor:~# systemctl status mariadb.service
● mariadb.service - MariaDB 10.4.17 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: failed (Result: exit-code) since Sat 2020-11-14 10:43:31 PST; 1h 23min ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 90075 (code=exited, status=1/FAILURE)
     Status: "MariaDB server is down"

Nov 14 10:43:29 mordor systemd[1]: Starting MariaDB 10.4.17 database server...
Nov 14 10:43:29 mordor mysqld[90075]: 2020-11-14 10:43:29 0 [Note] /usr/sbin/mysqld (mysqld 10.4.17-MariaDB-1:10.4.17+maria~focal-l>
Nov 14 10:43:29 mordor mysqld[90075]: 2020-11-14 10:43:29 0 [Warning] Could not increase number of max_open_files to more than 1638>
Nov 14 10:43:29 mordor mysqld[90075]: 2020-11-14 10:43:29 0 [Warning] Changed limits: max_open_files: 16384  max_connections: 500 (>
Nov 14 10:43:31 mordor systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Nov 14 10:43:31 mordor systemd[1]: mariadb.service: Failed with result 'exit-code'.
Nov 14 10:43:31 mordor systemd[1]: Failed to start MariaDB 10.4.17 database server.
root@mordor:~# 

我该如何开始mariadb?我可以再次清除它,但这只是一个循环。

password apt database mariadb sockets
  • 2 个回答
  • 353 Views
Martin Hope
run_the_race
Asked: 2020-08-23 13:29:00 +0800 CST

为没有 systemd 的 unix 套接字生成一个目录

  • 1

在普通的 Ubuntu 中,我曾经为 Unix 套接字创建一个目录,如下所示(比如为 project foo):

  1. 在以下位置创建一个 systemd 脚本:/usr/lib/tmpfiles.d/foo.conf
  2. 将以下代码放入脚本中:
    /run/foo 0770 <username> <groupname>
    

然后在下次重新启动时,/run/foo将创建具有所需权限的目录。我这样做的原因是因为只有 root 可以写入到/var/run-> 的哪些链接/run,并且对于许多应用程序来说,在创建套接字之前放弃特权并更改用户是很常见的,因此它们无法写入/var/run.

现在我正在使用 WSL2,带有 Ubuntu 20.04,并且systemd不存在。一个人可以跳过很多圈来让它工作,但它们是有缺陷的。

如何创建一个具有所需权限的文件夹,该文件夹在重新启动后在任何已安装的应用程序(例如 nginx/postgresql)尝试创建其套接字(因此由于重新启动前的陈旧套接字而失败)之前被清除?

systemd sockets
  • 1 个回答
  • 256 Views
Martin Hope
Stewart
Asked: 2020-05-04 14:43:03 +0800 CST

挂起后无法打开套接字

  • 0

当我启动计算机时,一切正常,但从挂起应用程序恢复后,无法打开新的本地套接字。我的连接和 DNS 都很好。我可以ping 域。我可以浏览网站,我可以通过 SSH 连接,我可以连接到在恢复之前启动的服务。但我无法启动任何想要绑定到新本地套接字的东西。如果我重新启动一切都会再次工作,但我必须强制重新启动,因为停止 Tomcat 会停止等待网络。

亚行:

adb F 05-03 15:31:03 54241 54241 main.cpp:148] could not install *smartsocket* listener: Address family not supported by protocol

* failed to start daemon
adb: failed to check server version: cannot connect to daemon

雄猫:

java.net.BindException: Cannot assign requested address (Bind failed)
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
        at java.net.ServerSocket.bind(ServerSocket.java:375)
        at java.net.ServerSocket.<init>(ServerSocket.java:237)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:428)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:800)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:746)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)

网猫:

$ nc -vkl 12345
Listening on 0.0.0.0 12345

$ telnet localhost 12345
Trying 127.0.0.1...

我尝试重新启动网络管理器、systemd-udevd、systemd-sysctl 和 docker。一切都无济于事。我还比较ip link|route|addr了简历之前和之后,它们是相同的。

我完全不知道问题可能是什么。有什么建议么?

networking suspend resume connection sockets
  • 1 个回答
  • 291 Views
Martin Hope
hakanekat
Asked: 2020-04-29 07:28:58 +0800 CST

iriunwebcam 在 20.04 上不起作用

  • 1

iriunwebcam ( https://iriun.com ) 在另一个 VMware 虚拟机上的 Ubuntu 20.04 LTS 和 Ubuntu 20.04 beta 上运行良好,但在真正的 PC 上仍然无法运行。它也可以在另一台虚拟机上的 Ubuntu 19.10 中正常工作。此外,我已经确认它可以在另一个虚拟机上的 Fedora 31 中运行。

以下是lsof -i从智能手机应用程序连接之前和之后的结果。

  1. 在虚拟机上(20.04、19.10、Fedora 31)

    (1) 在从 sp 连接之前:

    COMMAND    PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    iriunwebc 2553 htakenaka   14u  IPv4  60002      0t0  UDP *:4698 
    iriunwebc 2553 htakenaka   15u  IPv6  60005      0t0  UDP *:4698 
    adb       2572 htakenaka    6u  IPv4  55976      0t0  TCP localhost:5037 (LISTEN)
    adb       2572 htakenaka   14u  IPv4  55962      0t0  UDP *:4698 
    adb       2572 htakenaka   15u  IPv6  55966      0t0  UDP *:4698 
    

    (2) 从 sp 连接后:

    COMMAND    PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    iriunwebc 2078 htakenaka   22u  IPv4  73587      0t0  TCP Ubuntu1910-vmw:39256->192.168.79.201:4699 (ESTABLISHED)
    adb       2098 htakenaka    6u  IPv4  56531      0t0  TCP localhost:5037 (LISTEN)
    adb       2098 htakenaka   20u  IPv4  56514      0t0  UDP *:4698 
    adb       2098 htakenaka   21u  IPv6  56518      0t0  UDP *:4698 
    
  2. 在真实的 PC 上

    COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME  
    adb     117743 hiro    7u  IPv4 1420502      0t0  TCP localhost:5037 (LISTEN)  
    

从上面的结果 iriunwebcam 监听 4698/udp 端口​​来寻找一个可用的智能手机,一旦连接建立,端口就会关闭,并从一个高端口建立一个 tcp 连接到智能手机的 4699/tcp。

真机上的问题是4698/udp端口打不开,而5037/tcp端口在虚拟机和真机上都可以打开。

4698/udp 和 5037/tcp 在虚拟机和真机上的防火墙中都打开了。当然,如果它们被关闭,iriunwebcam 智能手机应用程序将无法连接到 PC 应用程序。但是,即使端口关闭,PC 应用也会打开端口。

我想知道为什么它无法在真机上打开 4698/udp 端口​​。

以下是我的环境。
主机(真正的 PC):iMac 2011 年末(Core i3,16GB RAM)
VMware Workstation 15.5.2 用于虚拟机。
虚拟机通过主机桥接到 LAN。
我没有将 NAT 用于虚拟机网络接口。


我试过使用 iriunwebcam (https://iriun.com)。起初,我将它安装在 VMware 虚拟机上的 Ubuntu 20.04 beta 中,并且成功运行。然后我将它安装在一台真正的 PC 上的 Ubuntu 20.04 LTS 中,但是它不起作用。应用程序本身成功启动,但无法从智能手机应用程序中找到连接。

lsof -i显示 iriunwebcam 在 20.04 beta 中可以打开 4698/udp,但在 LTS 中不能。iriunwebcam 似乎使用该端口接收来自智能手机应用程序的连接。

我想知道为什么它无法在 20.04 中打开端口。关于套接字连接或其他东西,从 beta 到 LTS 有什么变化吗?

webcam sockets 20.04
  • 5 个回答
  • 8954 Views
Martin Hope
Steffen Schumacher
Asked: 2020-04-22 02:13:12 +0800 CST

对外流量受阻

  • 1

所以我有这个网络服务器,它接受传入的流量并能够回复回复。但是,如果服务器必须启动任何类型的流量(icmp/tcp..),它就会失败:它已经运行了 > 600 天,不确定这有什么关系..

症状:

root@server:~# ping -vv 10.0.10.80
ping: socket: Permission denied, attempting raw socket...
ping: socket: Permission denied, attempting raw socket...
connect: Invalid argument
root@server:~# strace -e socket ping 8.8.8.8
socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP) = 3
socket(AF_INET6, SOCK_DGRAM, IPPROTO_ICMPV6) = 4
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
connect: Invalid argument
+++ exited with 2 +++
root@server:~# telnet 193.162.159.97 80
Trying 193.162.159.97...
telnet: Unable to connect to remote host: Invalid argument
root@server:~# curl http://193.162.159.97
curl: (7) Couldn't connect to server
root@server:~# curl -vv http://193.162.159.97
* Rebuilt URL to: http://193.162.159.97/
*   Trying 193.162.159.97...
* TCP_NODELAY set
* Immediate connect fail for 193.162.159.97: Invalid argument
* Closing connection 0
curl: (7) Couldn't connect to server

环境:

root@server:~# ufw status
Status: inactive
root@server:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
root@server:~# iptables -nvL
Chain INPUT (policy ACCEPT 3265 packets, 274K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2486 packets, 484K bytes)
 pkts bytes target     prot opt in     out     source               destination     
root@server:~# iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
root@server:~# netstat -rn4
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG        0 0          0 ens160
192.168.11.0    0.0.0.0         255.255.255.0   U         0 0          0 ens160

我还在这个和一个工作服务器上对 sysctl 的“net.ipv4”输出做了一个差异,我找不到任何可能的差异..

这里发生了什么?我该如何解决?

更新!!!我刚试过这个:

root@server:~# ping 10.8.1.235
connect: Invalid argument
root@server:~# route add -host 10.8.1.235 gw 192.168.11.1
root@server:~# ping 10.8.1.235
PING 10.8.1.235 (10.8.1.235) 56(84) bytes of data.
64 bytes from 10.8.1.235: icmp_seq=1 ttl=61 time=4.75 ms
64 bytes from 10.8.1.235: icmp_seq=2 ttl=61 time=4.78 ms
^C
--- 10.8.1.235 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 4.751/4.766/4.782/0.070 ms

我的路由表:

root@server:~# route -vn  -4
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    100    0        0 ens160
10.8.1.235      192.168.11.1    255.255.255.255 UGH   0      0        0 ens160
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 ens160
networking firewall sockets
  • 1 个回答
  • 2621 Views
Martin Hope
Denis
Asked: 2019-10-12 17:15:03 +0800 CST

服务器在 18.04.3 活跃约 120,000 个后停止接受连接

  • 4

我正在运行一种性能测试,我有一个简单的 TCP 服务器,它有 4 个 IP 地址,正在侦听一个端口并从本地网络上的其他几台计算机获取连接。一切正常,最多只有 120,000 个活动连接,客户端能够从客户端获取消息并创建新连接。在略低于 120,000 的情况下,新连接将停止出现。服务器上没有日志活动,并且客户端在一段时间后开始超时。没有防火墙会阻碍。我已经调整了一堆设置:

/etc/sysctl.conf

net.core.netdev_max_backlog = 1000000

net.core.netdev_budget = 50000
net.core.netdev_budget_usecs = 5000

net.core.somaxconn = 1024000

net.core.rmem_default = 1048576
net.core.rmem_max = 16777216

net.core.wmem_default = 1048576
net.core.wmem_max = 16777216

net.core.optmem_max = 65536

net.ipv4.tcp_rmem = 4096 1048576 2097152
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_max_syn_backlog = 3000000
net.ipv4.tcp_max_tw_buckets = 2000000

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_rfc1337 = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1

/etc/security/limits.conf

* soft nofile 6553600
* hard nofile 6553600
cat /proc/sys/fs/file-max
1621708

限制是故意的,完全是矫枉过正,因为它只是一个测试。我是否缺少其他一些可以启用更多连接的设置?CPU 和 RAM 都没有受到压力,所以我想继续推动硬件。服务器和客户端都在 AWS EC2 t3a.xlarge 实例上运行,如果这有什么不同的话。

networking server connection sockets tcp-ip
  • 1 个回答
  • 278 Views
Martin Hope
Gilfoyle
Asked: 2018-08-04 01:23:34 +0800 CST

#include <SFML/Network.hpp> 未找到

  • 1

有人可以帮我解决这个错误。尝试对网络扫描仪进行编程

cppns.cpp:2:10: fatal error: SFML/Network.hpp: No such file or directory
 #include <SFML/Network.hpp>
          ^~~~~~~~~~~~~~~~~~
networking programming c++ sockets
  • 1 个回答
  • 812 Views
Martin Hope
Ali Majed HA
Asked: 2018-05-21 06:41:14 +0800 CST

从套接字读取的问题

  • 1

我有一个火花流程序,它从我使用的套接字中读取数据:

nc -lk 9999

程序从套接字读取数据并排除“错误”消息。当我在套接字中手动编写时,它工作正常。
我创建了一个经常打印“错误”消息的 python 脚本。我将使用以下命令将结果保存在文件中:

stdbuf -oL python my_script.py &>> my_file.txt

并从套接字读取文件:

nc -lk 9999 | tail -f my_file.txt

一切正常,套接字会在后台更新文件时从文件中读取数据,但问题是我的 spark 程序没有捕获“错误”消息。
作为总结:当我在套接字中手动编写“错误”消息时,火花会捕获它们,但它不会从套接字捕获 python 脚本生成的“错误”消息。
实际上,如果我从套接字读取文件而不是输入文件,程序就不起作用。
有什么区别?

command-line python files sockets
  • 1 个回答
  • 625 Views
Martin Hope
Ali Majed HA
Asked: 2018-05-18 07:34:17 +0800 CST

将系统日志文件导入本地套接字

  • 0

我在 spark 中编写了一个程序来从本地套接字接收数据并捕获其中包含“错误”的行。我在终端中手动编写:

$ nc -lk 9999
Error: some error message
Warning: some warning message

等等。我需要套接字自动获取系统日志信息。系统中包含错误消息或警告消息的日志文件,然后我的程序可以从套接字中提取错误消息。

command-line files sockets
  • 1 个回答
  • 302 Views
Martin Hope
lazarus
Asked: 2014-09-23 03:29:08 +0800 CST

如何列出与某个应用程序关联的所有 PID?

  • -1

在阅读unix socket programming时,我得到了一份声明,A socket is one end of an inter-process communication channel现在我只是想知道 - 有没有办法列出所有PID's或threads更具体地说,与某些应用程序相关联。例如。让我们说。chromium所以通过查看port numbers与之关联的PID's,我可以验证 Socket 确实是一个inter - process communication通道或inter-application level通道。

我查看了threads associated with processes,但我认为它与我的想法不同。

还有一件事,我们如何列出PID's与任何关联的所有内容port number?

sockets
  • 1 个回答
  • 242 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve