我读到单元文件有两个文件夹(不在用户模式下)。
/usr/lib/systemd/system/: units provided by installed packages
/etc/systemd/system/: units installed by the system administrator
Run Code Online (Sandbox Code Playgroud)
与这种理解相冲突的是这个问题的答案:如何为 Systemd 编写启动脚本。有人可以填写缺失的信息以便我了解发生了什么吗?(更新:答案已更新,我的理解不再与之冲突。)
此外,脚本似乎组织在文件夹内的子/etc/systemd/system/文件夹中:
getty.target.wants
multi-user.target.wants
Run Code Online (Sandbox Code Playgroud)
在另一个位置,我读到还有其他位置。这些似乎是针对用户特定的服务。
/usr/lib/systemd/user/ where services provided by installed packages go.
/etc/systemd/user/ where system-wide user services are placed by the system administrator.
~/.config/systemd/user/ where the user puts its own services.
Run Code Online (Sandbox Code Playgroud)
2015-08-31 更新:
为了其他人,这里是我最近问的一个相关问题的链接:我在哪里放置由 systemd 单元执行的脚本?
来自 Arch Linux Wiki:https : //wiki.archlinux.org/index.php/USB_flash_installation_media
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync[...]你不能错过同步到拔USB驱动器之前完成。
我想知道
dd与 optional 一起使用的命令status=progress:
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
Run Code Online (Sandbox Code Playgroud)
或pv用于进步
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
Run Code Online (Sandbox Code Playgroud) 适用于任何使用 systemd 管理进程并遵循Linux 基金会的文件系统层次结构标准的操作系统
我最近问到除了 systemd 单元文件之外的其他地方: 我应该将我的 systemd 单元文件放在 Arch Linux 的什么位置?
我想每 5 分钟运行一次python 脚本(不要与调用 python 脚本的 systemd 单元文件脚本混淆)。我阅读了这个问题的答案: 使用 systemd 每 30 分钟运行一次脚本
这就是我的问题所在。你应该或可以在哪里存储由 systemd 运行的脚本?是否为这些保留了位置,尤其是在 Arch Linux 上?
/var/logsystemd 单元文件放在 /etc/systemd/system这是一个示例服务。
[Unit]
Description=Run python script that writes hello in file on /media/5TB/hello.txt
[Service]
Type=oneshot
ExecStart=# <-- This is what I am looking for
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
这是一个相应的计时器。这都是有据可查的。
[Unit]
Description=test
[Timer]
Persistent=true
OnUnitActiveSec=10s
OnBootSec=10s
[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)
这是我正在寻找的路径。 …
ARM 机器通常有一个默认密码。在 Arch Linux 上,这是:
用户:报警
密码:闹钟
我假设“alarm”的“arm”部分指的是架构,但“al”代表什么?
也许我完全偏离了我的假设。
我会假设' inet '代表互联网IP地址,但这是正确的吗?(并且' inet6 '是互联网IP地址v.6。)
ip a生成虚拟(和物理?)网络设备列表。当 IP 地址映射到设备时,显示为
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
根据https://acronyms.thefreedictionary.com/INET,以下定义是可能的: Acronym Definition
这个问题与如何永久关闭无线电源管理密切相关,尽管是在使用 systemd-networkd 来管理硬件时。
我有一个连接到打印机的无头 Raspberry Pi Model 3,其唯一的工作是收集打印作业 (CUPS) 并将其转发到打印机(主要使用 AirPrint 协议)。有时我无法 ping 通它。我怀疑无线网卡在一段时间后断电。我可以排除连接问题,因为它靠近接入点。有什么方法可以影响我的设备配置吗?我在任何地方都找不到它的记录。
wlan0.network
[Match]
Name=wlan0
[Network]
DHCP=yes
#Domains=local
[DHCP]
RouteMetric=20
Run Code Online (Sandbox Code Playgroud)
是的,我知道我可以iwconfig wlan0 power off禁用设备上的电源管理。我只是喜欢有静态配置文件:
所以我正在寻找相当于 NetworkManager 的
/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 2
Run Code Online (Sandbox Code Playgroud) 切入正题:那是哪一个呢?IP 是否分配给接口、链路或设备?这三件事有什么区别?警告:这是对 iproute2 实用程序或其文档的严格审查,以便更好地理解它们(主要是ip)。
网络书籍经常引用这些术语
Route2实用程序文档定义链接如下:ip
链路——物理或逻辑网络设备。
别处...
链路指的是网络设备。
dev NAME --- 我们添加地址的设备的名称
像这样的命令将 IP 地址分配给“设备”:
ip addr add 10.0.0.1/24 brd + dev eth0
Run Code Online (Sandbox Code Playgroud)
像这样的命令启动“接口”
ip link set eth0 up
Run Code Online (Sandbox Code Playgroud)
将上述内容与以下来自可信来源的摘录进行比较:
主机和物理链路之间的边界称为接口。
计算机网络:自上而下的方法,作者:Kurose 和 Ross,第 7 版,第 14 页。363.
还
路由器与其任一链路之间的边界也称为接口。
计算机网络:自上而下的方法,作者:Kurose 和 Ross,第 7 版,第 14 页。363.
之后,
[...] IP 地址在技术上与接口相关联,而不是与包含该接口的主机或路由器相关联。
这是模棱两可的。可以说设备和接口是相同的吗?或者设备是否实现了接口?如果是这样,那么就意味着像物理接口这样的词可能直接指代设备,并且真正具有相同的含义。
我将链路理解为物理线路或模拟线路(无线协议,如 802.11)。顺便说一下,我什至没有提到“链路层”这个术语。
这个问题是关于最佳实践的。我知道通过安全外壳登录或切换用户su,并且su -l有不同的效果。此外,如果您在配置中打错了字,您仍然希望能够登录。存储颜色定义的理想位置在哪里?目前我有他们.bash_profile。可以存放它们.bashrc吗?
根据 ArchWiki
/etc/profile 中源应用程序设置/etc/profile.d/*.sh和/etc/bash.bashrc。~/.bash_profile 每个用户,在/etc/profile.~/.bash_login(如果.bash_profile没有找到)~/.profile(如果.bash_profile没有找到)/etc/skel/.bash_profile还有消息来源~/.bashrc。~/.bash_logout/etc/bash.bashrc取决于-DSYS_BASHRC="/etc/bash.bashrc"编译标志。来源/usr/share/bash-completion/bash_completion~/.bashrc每个用户,在/etc/bash.bashrc.让我们保存我有两种颜色定义,一种用于命令提示符,一种用于ls命令。
set_prompt () {
Last_Command=$? # Must come first!
Blue='\[\e[01;34m\]'
White='\[\e[01;37m\]'
Redbold='\[\e[01;31m\]'
Greenbold='\[\e[01;32m\]'
Greenlight='\[\e[00;32m\]'
Blueintense='\[\033[00;96m\]'
Purplelight='\[\e[00;35m\]'
Yellowbold='\[\e[01;33m\]'
Graydark='\[\e[01;90m\]'
Reset='\[\e[00m\]'
FancyX='\342\234\227'
Checkmark='\342\234\223'
PS1="${Graydark}\t "
if [[ $Last_Command == 0 ]]; then
PS1+="$Greenlight$Checkmark "
else …Run Code Online (Sandbox Code Playgroud) 我有大约 50 GB 的空间可以移动。我想通过为局域网优化的 TCP/IP(因此标题中的网络)来完成它。我的问题是连接偶尔会中断,而且我似乎从未将所有数据可靠地发送到目的地。我想要这个东西
我的方法是使用rsync.
SOURCE=/path/to/music/ # slash excludes "music" dir
DESTINATION=/path/to/destination
rsync \
--archive \ # archive mode; equals -rlptgoD (no -H,-A,-X)
--compress \ # compress file data during the transfer
--progress \ # show progress during transfer
--partial \ # delete any partially transferred files after interrupt, on by default but I added it for kicks
--human-readable \ #output numbers in a human-readable format
"$SOURCE" \
"$DESTINATION" \
Run Code Online (Sandbox Code Playgroud)
还有其他我应该考虑的参数吗?
我想列出我安装的所有元包。
pikaur或pacman当我安装plasma-meta并运行时pacman -Qg,我只能看到plasma。当然,这是手动输入查询Q参数的预期行为g。
plasma-meta
是否可以AuthorizedKeysFile明确设置该设置以使其涵盖以下情况:
/home/%u/.ssh/authorized_keys/var/lib/%u/.ssh/authorized_keys/root/.ssh/authorized_keys我的问题是,是否有一个变量包含名称服务开关中指定的用户目录?
1
当我尝试查找核心转储文件时,我查看了类似的主题,但似乎没有一个解决方案适合我。有人可以帮我调试吗?我的应用程序在日志尾部生成输出,表明由于核心转储而失败,但该文件未在任何地方生成,并且该信息未保留在日志文件中。
Linux系统:
NAME="Red Hat Enterprise Linux Server" VERSION="7.8 (Maipo)" ID="rhel" ID_LIKE="fedora" 如前所述,我从给定的链接尝试了多种方法:
极限值
ulimit -c
unlimited
cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c %d %P %E
Run Code Online (Sandbox Code Playgroud)
我检查时发现文件夹 ap 不存在
我还尝试使用以 /tmp 开头的字符串修改 /proc/sys/kernel/core_pattern
echo "/tmp/cores/core.%e.%p.%h.%t" > /proc/sys/kernel/core_pattern
/proc/sys/kernel/core_pattern: Read-only file system
Run Code Online (Sandbox Code Playgroud)
如果我以 root 身份运行,这会起作用吗,因为我目前没有该访问权限?
我运行应用程序的目录中也不存在核心转储文件。
我也尝试在整个系统上查找:
find / -name 'core*'
find / -name '*apport*'
Run Code Online (Sandbox Code Playgroud)
我还检查了不同的文件夹:
ls /var/cache/abrt
ls: cannot access /var/cache/abrt: No such file or directory
ls /var/crash
ls: cannot access /var/crash: No such file or directory
ls /var/spool/abrt
ls: …Run Code Online (Sandbox Code Playgroud) 我写了一个过滤器/选择函数,它接受一个函数和一个流作为输入。它应该产生一个新的 ( 2 4 ) 数组。然而,我的结果是什么。我怀疑它与IFS有关。
# func int -> bool
is_even () { (( $1 % 2 == 0 )) ;}
# func func -> int
filter () {
local function_to_apply=$1
local arg
while read -r arg; do
$function_to_apply $arg && echo $arg
done;:
}
# int array
integers=( 1 2 3 4 )
result=$(echo "${integers[*]}" | filter is_even)
declare -p result
Run Code Online (Sandbox Code Playgroud)
输出是一个字符串 ""
declare -- result=""
Run Code Online (Sandbox Code Playgroud)
预期输出是一个数组 ( 2 4 )
declare -a result …Run Code Online (Sandbox Code Playgroud) arch-linux ×3
terminology ×3
linux ×2
systemd ×2
bootable ×1
colors ×1
command-line ×1
core-dump ×1
dd ×1
defaults ×1
networking ×1
openssh ×1
pacman ×1
password ×1
rsync ×1
shell ×1
shell-script ×1
ssh ×1
storage ×1
users ×1
wifi ×1
yaourt ×1