Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

2
systemd:尚不支持基于套接字的激活的按需启动服务,例如postgresql和mysql
在笔记本电脑上,我仅使用MySQL和PostgreSQL进行测试。在开始编程之前(在启动后可能需要几个小时),我不需要它们。但是手动启动服务并输入我的sudo密码是一个(小)麻烦。 我读到systemd仅在访问该服务的端口时才支持启动服务。但是Google快速搜索似乎表明PG&MySQL还不支持基于套接字的激活。 我知道我可以使用shell脚本破解此代码,也可以等待维护者修复服务,但是现在(出于教育目的)我正在寻找一种更好的方法。 问题:如何以一种利用系统功能或被推荐为Linux“最佳实践”的方式来实现此类服务的按需启动? 一些想法: 我可以安装一项服务来根据条件(例如正在运行的特定进程)来处理自动启动和自动停止服务吗? 是否存在由套接字激活并依次启动目标服务的代理服务? systemd 229,Kubuntu 16.04,MySQL 5.7,PostgreSQL 9.5 更新:答案: 我如何使用Siosm建议的systemd-socket-proxyd: /etc/mysql/mysql.conf.d/mysqld.cnf port = 13306 /etc/systemd/system/proxy-to-mysql.socket [Socket] ListenStream=0.0.0.0:3306 [Install] WantedBy=sockets.target /etc/systemd/system/proxy-to-mysql.service [Unit] Requires=mysql.service After=mysql.service [Service] # note: this path may vary ExecStart=/lib/systemd/systemd-socket-proxyd 127.0.0.1:13306 PrivateTmp=no PrivateNetwork=no 根据需要重新加载/停止/启动: sudo systemctl daemon-reload sudo systemctl enable proxy-to-mysql.socket sudo systemctl start proxy-to-mysql.socket …

1
修改鼠标滚轮和触摸板的两指滚动速度
我正在Fedora 25上运行GNOME 3,它使用Wayland而不是Xorg。我无法找到一种方法来修改我的鼠标滚轮滚动速度和触摸板滚动速度,而又不影响鼠标/触摸板的灵敏度和加速度。我的鼠标滚轮一次只滚动一两行,这太疯狂了,太慢了。我的触摸板两指滚动相反,它太灵敏了,我发现自己滚动到想要去的地方。经过广泛的Google搜索,剩下的就是使用Xorg时修改这些设置的方法,但是我使用libinput在Wayland上。GSettings GUI没有分隔这些选项。任何帮助将不胜感激。

3
背景,僵尸,守护程序和不带ctty的这些概念是否连接在一起?
这些过程的概念是如何关联在一起- ,,background 和?zombiedaemonwithout controlling terminal 我觉得它们之间有某种距离,特别是通过的概念controlling terminal,但是我仍然没有太多信息可以讲述一个故事,例如是否需要给一个孩子讲一些有关Linux的文章而又不撒谎。 更新#1:例如(我不知道这是不是真的) background-- zombie前台进程无法成为zombie,因为zombie是没有父进程的后台进程 daemon- without ctty-所有daemons无运行ctty,但不是所有的过程,而不ctty是daemons background-- 可以检索到daemona background process以再次交互式运行,daemon is not zombie- without ctty- zombie如果有无所谓ctty连接到它或不 background- without ctty- processes发送到后台,而他们有ctty,如果成为守护进程或模具ctty是从他们采取

2
查找文件系统中最旧的文件/目录,最大容量为50 TB
我需要在最多50 TB的90 TB文件系统中找到最旧的文件及其关联的目录,然后将它们移动到另一个文件系统。他们必须保留其目录结构,因为目录结构可以识别文件。所以- 一级/二级/三级/(文件) 是结构。我需要移动整个结构-顶级目录中没有任何内容,但是没有它们,我将无法识别文件所属的文件,因为我要查找的所有文件都具有相同的名称。该过程完成后,我应该在原始文件系统中剩下大约40 TB,而在新文件系统中几乎没有任何内容,因为原始文件中最旧的文件现在已经存在。 谢谢!
8 linux  find 

1
我可以告诉查找到不还原初始工作目录吗?
findsudo -u如果初始工作目录对用户不可见,则无法在后面运行时“恢复初始工作目录” 。这导致find总是打印出令人讨厌的“ 权限被拒绝”警告消息: $ pwd /home/myuser $ sudo -u apache find /home/otheruser -writable find: failed to restore initial working directory: Permission denied 阻止查找打印此消息的最佳方法是什么? 一种方法是cd /在运行find之前,更改为find用户可以还原的目录。理想情况下,我只想找到诸如这样的选项,--do-not-restore-initial-working-directory但我想那是不可用的。;) 我主要使用基于RedHat的发行版。
8 linux  find  sudo 


3
在#!/ bin / bash中。Unix命令获取一个月中第一个工作日的日期
我正在寻找一个直接的Unix命令来获取下个月的第一个星期日,下个月的第一个星期一,下个月的第一个星期二,下个月的第一个星期三等。 我需要完整的日期格式(时间不是必需的) 我可以获得2、3、4等数字。由于我只想要数字,所以我需要日期格式(包括日,月,年) $ NEXT_MONTH=`date +'%m %Y' -d 'next month'` $ echo $NEXT_MONTH 04 2017 $ NEXT_SUNDAY=`cal $NEXT_MONTH | awk 'NF==7 && !/^Su/{print $1;exit}'` $ echo $NEXT_SUNDAY 2 我需要这些日期来发送电子邮件组的通知。 例如:我可以得到下个月的第一个星期六,如下所示。 $ firstofmonth=$(date -d '+1 months' '+%Y%m01') 20170401 $ firstsaturday=$(date -d "$firstofmonth" '+%Y-%m')-$((7 - \ $(date -d "$firstofmonth" '+%u') )) 2017-04-1
8 shell  date 

2
如何自定义Gnome屏幕防护罩/窗帘/登录屏幕外观?
Gnome桌面似乎以不同的方式配置:在“ 侏儒设置 ”,与GNOME的扩展,gnome-tweak-tool,gsettings或dconf-editor。 但是,除了通过此过程来更改登录屏幕背景(这需要一点glib编译)之外,我还没有办法自定义以下内容的外观: 登录屏幕(登录框的字体,位置,颜色和大小) 屏蔽屏幕又称为锁定屏幕又称为幕布(字体,位置,颜色,时钟的格式和大小,显示的消息等) 我知道Gnome的哲学是不要在可调整的东西中分配很多资源。但是令我惊讶的是,这些屏幕的这种基本且无害的属性似乎很难访问。 有什么方法可以访问和调整登录/屏蔽屏幕的组织属性? 难道他们硬编码或者是它只是一个潜入小的事curtain.xml还是loginscreen.json? 我需要进入源代码并自己编译gnome吗?

1
我可以从X完全删除鼠标指针吗?
我可以从X完全删除鼠标指针吗?就像删除它,而不仅仅是隐藏它一样? 我根本不使用鼠标。我所做的一切都是完全由键盘驱动的,因此我隐藏了鼠标指针并禁用了触摸板。但是,光标在我的屏幕上仍然有位置,这将导致应用程序触发悬停事件。 这可能非常烦人,例如在chrome中,如果链接恰好与光标相交,它将在窗口左下方显示一个明亮的白色工具提示。
8 linux  x11  xorg  mouse 


3
Linux Mint 18 64位会话失败
我正在尝试在笔记本电脑上登录。我输入密码,然后登录到黑页,其中显示一条通知 “您的会话仅持续了不到10秒钟。如果您尚未注销,则可能意味着存在安装问题,或者您可能已退出磁盘空间。请尝试使用故障保护会话之一登录,以查看是否可以解决这个问题。” 该代码说: initctl:无法连接到Upstart:无法连接到套接字/ com / ubuntu / upstart:连接被拒绝mdm [1699]:GLib-CRITICAL:g_key_file_free:断言'key_file!= NULL'失败 唯一可用的按钮是“ 确定 ”,我返回到登录页面,我应该在此再次输入密码。它不断自我重复一次。我不明白为什么? 一天前,系统有一个新更新。我确实更新了。这可能是原因吗? 多谢您的协助。

3
编辑包含'\ x00'字节的二进制流
仅使用shell工具,如何编辑包含NULL(0x00字符)的二进制流,并将0x00字符保留在输出流中? 编辑需要将指定位置的一个字符替换为另一个字符(在下面的示例中,用字符'|'代替),例如: dd ibs=1 skip=$offset count=$reglen status=none if=$ARQ | sed 's/./\|/2' | sed 's/./\|/5' #| more replacements.... 但是sed会在替换前删除所有'\ 0x00'字符。 编辑-使用@George Vasiliou测试演示我环境中的sed行为: $ echo -e "lineA\nlineB\nlineC" | tr '\n' '\0' | od -t x1 0000000 6c 69 6e 65 41 00 6c 69 6e 65 42 00 6c 69 6e 65 …
8 sed  binary 

2
mmc0:初始化SD卡时出现错误-110
我的Arch出现问题,我插入SD无法检测到。 我也发现以下错误内核日志: uname -a Linux localhost.localdomain 4.9.6-1-ARCH #1 SMP PREEMPT Thu Jan 26 09:22:26 CET 2017 x86_64 GNU/Linux dmesg [ 3.663535] mmc0: error -110 whilst initialising SD card [ 4.515911] random: fast init done [ 4.720224] mmc0: error -110 whilst initialising SD card lspci -v 00:00.0 Host bridge: Intel Corporation …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.