在某些时候,在我遇到的一些关于 Linux 的教学材料(来自 Linux Foundation)中,提到了以下内容:
ip
command 比ifconfig
因为它使用netlink套接字而不是ioctl系统调用更通用和更有效。
任何人都可以详细说明这一点,因为我无法理解引擎盖下发生了什么?
PS 我知道关于这些工具的这个主题,但它没有解决它们如何操作的具体差异
我有一个systemd
服务在特定用户下运行。
我错误地认为该服务可以访问所有用户从脚本/导出继承的环境变量/etc/profile.d
有没有一种方法可以完成此任务,而无需手动复制systemd
单元文件定义中的变量。
例如,我有以下内容
$ cat /etc/profile.d/somexports
export VAR1=VALUE1
export VAR2=VALUE2
Run Code Online (Sandbox Code Playgroud)
这可以传递/导出到systemd
服务吗?
我有一个大(~60G)的压缩文件(tar.gz
)。
我曾经split
把它分成 4 部分,然后cat
将它们重新连接在一起。
但是,现在,当我尝试估计未压缩文件的大小时,结果发现它比原始文件小?这怎么可能?
$ gzip -l myfile.tar.gz
compressed uncompressed ratio uncompressed_name
60680003101 3985780736 -1422.4% myfile.tar
Run Code Online (Sandbox Code Playgroud) 我知道这/etc/security/limits.conf
为几个值提供了持久的软限制和硬限制。
但是,在相关列表中没有说明对以下方面施加的限制:
a) 并发打开的 tcp 连接
b) Unix 域套接字的数量
任何人都可以在哪里以及如何设置/获取这些?
这些价值观是否以某种方式相互关联?
我想在文件中添加一列(第二位),.csv
并且我希望该列的值是字符串并被引用;
以下命令确实添加了列,但没有引号:
awk -F"," 'BEGIN { OFS = "," } {$2="2.4.0"; print}' test.csv > output.csv
Run Code Online (Sandbox Code Playgroud)
以下方法确实包含引号,但出于某种原因,它.
从值中删除了最后一个(点)
awk -F"," 'BEGIN { OFS = "," } {$2="\""2.4.0"\""; print}' test.csv > output.csv
Run Code Online (Sandbox Code Playgroud)
所以我的价值观最终是“2.40”。
我应该怎么做?
ps aux
在运行中Ubuntu 18.04
我看到一些进程具有 state I
,如...
root 1 0.0 0.0 225520 9144 ? Ss 10:36 0:02 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 10:36 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? I< 10:36 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? I< 10:36 0:00 [mm_percpu_wq]
Run Code Online (Sandbox Code Playgroud)
但是,ps
联机帮助页中未提及此状态:
进程状态代码 以下是 s、stat 和 state 输出说明符(标题“STAT”或“S”)将显示的不同值来描述进程的状态:
Run Code Online (Sandbox Code Playgroud)D uninterruptible sleep (usually IO) R running or runnable (on run queue) S interruptible sleep (waiting for …
我正在尝试分离环回设备。
推测losetup --detach
可能成功(没有错误消息和返回代码 0),但设备仍然存在。
有任何想法吗?
root@Cassiopeia:~# losetup -a
/dev/loop1: [2053]:5243868 (/var/lib/snapd/snaps/core_6034.snap)
/dev/loop6: [2053]:19401380 (/tmp/imagefile)
/dev/loop4: [2053]:5249290 (/var/lib/snapd/snaps/canonical-livepatch_49.snap)
/dev/loop2: [2053]:5243293 (/var/lib/snapd/snaps/canonical-livepatch_50.snap)
/dev/loop0: [2053]:5249134 (/var/lib/snapd/snaps/core_5897.snap)
/dev/loop5: [2053]:5249130 (/var/lib/snapd/snaps/core_6130.snap)
/dev/loop3: [2053]:5244442 (/var/lib/snapd/snaps/canonical-livepatch_54.snap)
root@Cassiopeia:~# losetup --detach /dev/loop6
root@Cassiopeia:~# echo $?
0
root@Cassiopeia:~# losetup -a
/dev/loop1: [2053]:5243868 (/var/lib/snapd/snaps/core_6034.snap)
/dev/loop6: [2053]:19401380 (/tmp/imagefile)
/dev/loop4: [2053]:5249290 (/var/lib/snapd/snaps/canonical-livepatch_49.snap)
/dev/loop2: [2053]:5243293 (/var/lib/snapd/snaps/canonical-livepatch_50.snap)
/dev/loop0: [2053]:5249134 (/var/lib/snapd/snaps/core_5897.snap)
/dev/loop5: [2053]:5249130 (/var/lib/snapd/snaps/core_6130.snap)
/dev/loop3: [2053]:5244442 (/var/lib/snapd/snaps/canonical-livepatch_54.snap)
Run Code Online (Sandbox Code Playgroud) 之间的实际区别是什么:
将用户添加到sudo
(Debian) 或wheel
(RHEL) 组
sudo usermod -aG sudo/wheel <username>
Run Code Online (Sandbox Code Playgroud)对比
创建一个以username
以下内容命名的文件/etc/sudoers.d/
username ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)运行apt depends
命令示例时,例如
$ apt depends nginx
nginx
|Depends: nginx-core (<< 1.14.0-0ubuntu1.2.1~)
|Depends: nginx-full (<< 1.14.0-0ubuntu1.2.1~)
|Depends: nginx-light (<< 1.14.0-0ubuntu1.2.1~)
Depends: nginx-extras (<< 1.14.0-0ubuntu1.2.1~)
|Depends: nginx-core (>= 1.14.0-0ubuntu1.2)
|Depends: nginx-full (>= 1.14.0-0ubuntu1.2)
|Depends: nginx-light (>= 1.14.0-0ubuntu1.2)
Depends: nginx-extras (>= 1.14.0-0ubuntu1.2)
Run Code Online (Sandbox Code Playgroud)
|
某些列出的依赖项开头的符号是什么意思?
我正在尝试创建一个systemd
服务;
该服务有一个脚本,应该使用一些环境变量;
所以我创建了这个:
cat /etc/systemd/system/atlantis-server.service
[Service]
ExecStart=/usr/local/bin/atlantis-server.sh
Run Code Online (Sandbox Code Playgroud)
哪个指向这个
pkara@atlantis-server:~$ cat /usr/local/bin/atlantis-server.sh
#!/bin/bash
source /etc/environment
atlantis server --atlantis-url="$URL" --gitlab-user="$USERNAME" --gitlab-token="$TOKEN" --gitlab-webhook-secret="$SECRET" --gitlab-hostname="$HOSTNAME" --repo-whitelist="$REPO_WHITELIST"
Run Code Online (Sandbox Code Playgroud)
我注意到(在我的systemd
日志中出现一些错误之后)是我必须明确source /etc/environment
(这是声明上述变量的地方)。
为什么需要这个?
它们不是全局可见的吗?
编辑:将此添加到服务定义并没有解决问题
Environment=/etc/environment
Run Code Online (Sandbox Code Playgroud)