我正在尝试在 Bionic 上创建和安装一对自定义的 systemd 计时器和服务单元,用于定期运行命令。我知道应该将文件放入/etc/systemd/system然后我应该运行systemctl daemon-reload,但是我不清楚是否需要启用或启动任何东西才能完全安装和“运行”计时器,以及我可以的几篇文章发现地址这一点都给出了不同的信息。
我的.timer文件是:
[Unit]
Description=Run custom command periodically
[Timer]
Unit=my-custom-command.service
OnCalendar=*-*-* 0/8:00:00
[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)
我的.service文件是:
[Unit]
Description=Run a custom command
OnFailure=mail-systemd-failure@%n.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/custom-command
User=dedicated-user
Group=dedicated-user
Run Code Online (Sandbox Code Playgroud)
我读过的相互矛盾的文章是:
这篇文章说运行:
systemctl daemon-reload
systemctl enable $NAME.timer
systemctl start $NAME
Run Code Online (Sandbox Code Playgroud)
据我了解,后一个命令与 相同systemctl start $NAME.service,我希望立即运行服务定义的命令,这不是我想要做的。
这个要点说只是运行:
systemctl daemon-reload
systemctl start $NAME.timer
Run Code Online (Sandbox Code Playgroud)这篇文章说运行:
systemctl enable $NAME.timer
systemctl start $NAME.timer
Run Code Online (Sandbox Code Playgroud)那么我是否启用和/或启动计时器(或其服务?),两者之间究竟有什么区别?根据单元文件是新安装还是在编辑后重新加载,我需要运行的命令是否会发生变化?
当我使用键盘时,我期望以下行为(并且我依赖于这些行为):
"""我知道这种行为是由键盘布局定义的,所以我做了一些研究。
在键盘布局“English - US with dead keys”上,我得到了我喜欢的前两种行为,但最后一种行为没有得到满足,¨当我尝试这样做时,我得到了奇怪的字符。
在键盘布局“英语 - 美国与 AltGr 死键”上,我只得到最后一个行为,但键不再表现为死键。
如何修改键盘布局以实现我在使用键盘时期望的 3 种行为?
Ubuntu 16.04 LTS 是否会有内核版本 4.5.2 的更新?我安装了 AMD GPU,听说这可以解决 AMD 驱动程序问题。
我试图了解发送电子邮件的程序。我已经配置了一个 crontab 来将系统警报发送到我的外部电子邮件,并且它工作正常。但是,我没有在这台机器上配置任何 SMTP 服务器,但系统仍然可以向外部电子邮件发送警报。这台机器是全新安装的,仅连接到互联网。
谁能帮助我了解系统如何发送电子邮件?
我最近的任务是维护和移植到 Trusty 一个内部 .deb 包,该包覆盖(使用--force-overwrite)来自具有自定义版本的其他包的配置文件,之后apt-get install -f -y运行以安装一堆列为依赖项的相关包,其中一些他们是这些配置文件的合法所有者(保留你的讽刺评论和对自己的恐惧尖叫)。请注意,此包将配置文件标记为配置文件而不是常规文件。
在尝试清理东西的过程中,我发现如果apt-get通过-o Dpkg::Options::="--force-confold",那么我们自定义包中的配置文件将被依赖项的版本覆盖,而如果-o Dpkg::Options::="--force-confnew"使用,我们包的文件将保留在最后。
然而,该dpkg手册页指出:
confnew: 如果 conffile 已被修改并且包中的版本确实发生了变化,则始终安装新版本而不提示,除非--force-confdef也指定了,在这种情况下,首选默认操作。
confold: 如果一个 conffile 已经被修改并且包中的版本确实发生了变化,那么总是保持旧版本而不提示,除非--force-confdef也指定了,在这种情况下,默认操作是首选的。
因为安装了“新版本”而保留了“旧版本” ,这似乎意味着“新版本”始终是当时正在安装的包中的那个,因此传递-o Dpkg::Options::="--force-confnew"给apt-get应该会导致依赖项的配置文件以覆盖我们的软件包之前安装的文件。为什么不是这样?“新版本”的实际含义是否实际上基于时间戳(这只会引发更多问题)?这是文档和/或实现中的错误dpkg吗?这是否只是一个毛茸茸的边缘案例,由两个包声称拥有相同的配置文件,dpkg开发人员认为没有人会疯狂到偶然发现?什么?
我正在学习通过 WSL 在 Ubuntu 上使用终端。现在我正在练习通配符,但是?通配符对我不起作用。
正如您所看到的,*通配符有效,但这个无效:
$ ls file*
file.html file.js file.txt
$ ls dot*
dot.txt dot1902.html dot2.txt
$ ls *.html
archivoPruebaClase.html dot1902.html file.html
$ ls dot?
ls: cannot access 'dot?': No such file or directory
$ ls index?
ls: cannot access 'index?': No such file or directory
Run Code Online (Sandbox Code Playgroud) 我今天(2016-10-03)出现了一个感叹号“更新信息已过时”,当我运行更新管理器时,我收到一条错误消息,说它无法下载信息。(顺便说一下,我的互联网连接没有任何问题。)
命令:sudo apt-get update在尝试更新后给我这个错误消息:
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.
Run Code Online (Sandbox Code Playgroud)
谷歌浏览器似乎让我很难受?
在终端中:
/home$ ls
abuabdullah alzaabi hussain u942
Run Code Online (Sandbox Code Playgroud)
然后我尝试u942使用命令行删除帐户:
/home$ deluser u942
/usr/sbin/deluser: Only root may remove a user or group from the system.
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用 sudo
/home$ sudo deluser u942
/usr/sbin/deluser: The user `u942' does not exist.
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我用谷歌搜索并找不到这种组合的解释。
set -eubash shell 脚本的开始部分做了什么?
(我可以找到一些解释,-e但没有-eu。)
长话短说,我想安装 gcc,但它给了我错误,我发现它导致:
Depends: gcc-5-base (= 5.4.0-6ubuntu1~16.04.11) but 5.4.0-6ubuntu1~16.04.12 is to be installed
Run Code Online (Sandbox Code Playgroud)
我试图降级我的 gcc-5-base,这绝对是一个糟糕的想法。
所以计划将 source.list 中的 repo 更改为依赖于5.4.0-6ubuntu1~16.04.12.
我在这个网站上找到了一个:https://launchpad.net/ubuntu/+source/gcc-5/5.4.0-6ubuntu1~16.04.12,但我不知道如何找到相应的 Ubuntu repo。
我是这样写的:
sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini
Run Code Online (Sandbox Code Playgroud)
这产生了这个错误:
sed: -e expression #1, char 1: unknown command: `'
Run Code Online (Sandbox Code Playgroud)