小编Jon*_*mar的帖子

我在哪里放置我的 systemd 单元文件?

读到单元文件有两个文件夹(不在用户模式下)。

/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 单元执行的脚本?

directory-structure systemd

132
推荐指数
4
解决办法
13万
查看次数

为什么在制作可启动的 linux usb 时同步如此重要?

来自 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)

storage dd bootable removable-storage

24
推荐指数
1
解决办法
3万
查看次数

我在哪里放置由 systemd 单元执行的脚本?

适用于任何使用 systemd 管理进程并遵循Linux 基金会文件系统层次结构标准的操作系统

我最近问到除了 systemd 单元文件之外的其他地方: 我应该将我的 systemd 单元文件放在 Arch Linux 的什么位置?

我想每 5 分钟运行一次python 脚本(不要与调用 python 脚本的 systemd 单元文件脚本混淆)。我阅读了这个问题的答案: 使用 systemd 每 30 分钟运行一次脚本

这就是我的问题所在。你应该或可以在哪里存储由 systemd 运行的脚本?是否为这些保留了位置,尤其是在 Arch Linux 上?

  • 例如,日志放置在 /var/log
  • systemd 单元文件放在 /etc/systemd/system

/etc/systemd/system/writehello.service

这是一个示例服务。

[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)

/etc/systemd/system/writehello.timer

这是一个相应的计时器。这都是有据可查的。

[Unit]
Description=test

[Timer]
Persistent=true
OnUnitActiveSec=10s
OnBootSec=10s

[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)

/path/to/writehello.py

这是我正在寻找的路径。 …

arch-linux directory-structure systemd

11
推荐指数
2
解决办法
7129
查看次数

“alarm”中的“al”是什么,默认的 Arch Linux ARM 处理器用户名+密码代表什么?

ARM 机器通常有一个默认密码。在 Arch Linux 上,这是:

用户:报警

密码:闹钟

我假设“alarm”的“arm”部分指的是架构,但“al”代表什么?

也许我完全偏离了我的假设。

users password arch-linux defaults terminology

7
推荐指数
1
解决办法
1427
查看次数

“inet”在 ip 实用程序中代表什么?

我会假设' 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

  • 互联网
  • 内联网
  • INET国际网络
  • INET信息网
  • INET 新经济思维研究所 (est. 2009)
  • INET国际网络(会议)
  • INET 机构网络(夏威夷教育部)
  • INET 仪器和实验技术(期刊)
  • INET 跨部门禁毒执法小组
  • INET Instinet LLC
  • INET 集成网络增强遥测
  • INET教学网络

networking terminology

7
推荐指数
1
解决办法
6682
查看次数

如何使用 systemd-networkd 永久关闭无线电源管理?

这个问题与如何永久关闭无线电源管理密切相关,尽管是在使用 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)

linux wifi power-management

7
推荐指数
1
解决办法
3994
查看次数

术语:网络“链路”、“设备”、“接口”等词语的澄清

切入正题:那是哪一个呢?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)。顺便说一下,我什至没有提到“链路层”这个术语。

terminology

6
推荐指数
2
解决办法
722
查看次数

我应该在哪里保存 PS1 命令行/终端的颜色代码?

这个问题是关于最佳实践的。我知道通过安全外壳登录或切换用户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)

command-line shell colors configuration

5
推荐指数
1
解决办法
1220
查看次数

如何可靠地移动(rsync)大量数据以处理网络中断?

我有大约 50 GB 的空间可以移动。我想通过为局域网优化的 TCP/IP(因此标题中的网络)来完成它。我的问题是连接偶尔会中断,而且我似乎从未将所有数据可靠地发送到目的地。我想要这个东西

  1. 不要轻易放弃
  2. 继续自动重试(假设两台机器都已通电)。

我的方法是使用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)

还有其他我应该考虑的参数吗?

rsync file-transfer

5
推荐指数
1
解决办法
1402
查看次数

如何列出 Arch Linux 上已安装的元软件包?

我想列出我安装的所有元包。

  • 安装有pikaurpacman
  • 操作系统是Arch Linux

问题

当我安装plasma-meta并运行时pacman -Qg,我只能看到plasma。当然,这是手动输入查询Q参数的预期行为g

期望的结果

plasma-meta

arch-linux pacman yaourt

4
推荐指数
1
解决办法
3912
查看次数

如何在sshd中提供允许普通用户、系统用户和root用户的authorized_keys路径?

是否可以AuthorizedKeysFile明确设置该设置以使其涵盖以下情况:

  1. 标准用户下/home/%u/.ssh/authorized_keys
  2. 系统用户下/var/lib/%u/.ssh/authorized_keys
  3. root用户下/root/.ssh/authorized_keys

我的问题是,是否有一个变量包含名称服务开关中指定的用户目录?

ssh openssh

3
推荐指数
1
解决办法
2万
查看次数

Linux 系统上找不到 Core Dump 文件

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)

linux core-dump

3
推荐指数
1
解决办法
7710
查看次数

为什么我在 Bash 中的过滤功能不起作用?

我写了一个过滤器/选择函数,它接受一个函数和一个流作为输入。它应该产生一个新的 ( 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)

shell-script

0
推荐指数
1
解决办法
283
查看次数