小编sam*_*ers的帖子

如何在 Linux 中有效跟踪硬链接?

软链接很容易追踪到原始文件readlink等......但我很难追踪到原始文件的硬链接。

$ ll -i /usr/bin/bash /bin/bash  
1310813 -rwxr-xr-x 1 root root 1183448 Jun 18 21:14 /bin/bash*  
1310813 -rwxr-xr-x 1 root root 1183448 Jun 18 21:14 /usr/bin/bash*
                   ^
Run Code Online (Sandbox Code Playgroud)

上面是预期的 - 很酷 --> 两个文件都指向相同的 inode 1310813
(但由 指示的链接数^显示为 1。从 Gilles 的回答中可以理解其原因)

$ find / -samefile /bin/bash 2>/dev/null
/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)

以上是预期的 - 所以没有问题。

$ find / -samefile /usr/bin/bash 2>/dev/null
/usr/bin/bash  
Run Code Online (Sandbox Code Playgroud)

上面酷。如何使用文件作为参考跟踪原始文件或每个硬链接/usr/bin/bash

奇怪 - 下面也没有帮助。

$ find / -inum 1310813 2>/dev/null
/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)

find hard-link inode

7
推荐指数
2
解决办法
2250
查看次数

使用 kvm 创建 VM。错误:找不到单元 libvirtd.service?

太长了;
在 Ubuntu 20.04.1 上,我尝试使用 KVM 运行 VM。安装所需的软件包后,我仍然收到以下错误:

sudo systemctl status libvirtd
Unit libvirtd.service could not be found.  
Run Code Online (Sandbox Code Playgroud)

以下是我所做的 -
a) 检查 kvm 支持

$ sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Run Code Online (Sandbox Code Playgroud)

b) 安装所需的包

$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
Run Code Online (Sandbox Code Playgroud)

现在,上面应该是一切,我必须能够打开 virt-manager gui 并开始,并且 libvertd 服务应该已经启动。但是,我的机器上仍然没有运行 libvirtd 服务,并且没有安装 libvirtd.service 单元。

显然,virt-manager 无法连接到 demo,因此出现以下错误 - 执行后$ sudo virt-manager--> virt-manager GUI 以 root 权限启动。
在此输入图像描述
窗户上清楚地写着——

libvirtd 服务似乎未安装。安装并运行 libvirtd 服务来管理该主机上的虚拟化。

显然,创建虚拟机是不可行的,下面是尝试创建虚拟机时出现的错误。
在此输入图像描述

参考 - …

kvm virtual-machine linux-kernel virt-manager libvirt

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

如何永久禁用 ubuntu 20.04.1 软件更新?

Ubuntu 可能很棒,频繁的软件更新可能对保持系统最新和安全非常有帮助。但我的问题是,

  1. 软件更新程序导致我的系统冻结,我必须经常重新启动系统。
  2. 即使 (1) 不正确,即更新程序不会导致系统冻结,我看到的另一个问题是在执行更新后,它要求我重新启动系统以进行大部分更新。如果我不重新启动,系统就会再次冻结。我必须重新启动才能克服系统冻结。
  3. 即使不是(1)和(2),我也会使用该系统进行开发活动,因此安全性和频繁更新不是我的首要任务。我的机器上运行着多个虚拟机和 docker 容器,因此我的首要任务是让系统保持运行数周甚至数月而不需要重新启动。我怀疑,软件更新程序正在阻碍这一点。

有没有一种简单的方法可以完全禁用这些更新提示。请提供您的看法/答案。

我指的软件更新程序的屏幕截图如下。 在此输入图像描述
这是我可以设置的当前最少更新首选项 - 在此输入图像描述

编辑 - 感谢 Roman Riabenko 建议检查评论中的链接,这些链接又建议检查无人值守的升级。但 20.04.1 似乎并非如此。

$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
Run Code Online (Sandbox Code Playgroud)

$ cat /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
Run Code Online (Sandbox Code Playgroud)

linux ubuntu freeze software-updates

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

“?”是什么意思?在 ls -l 输出中是什么意思?

我看到一些文件/目录即使是 root 用户也无法访问:

find: ‘/run/user/1000/gvfs’: Permission denied.

所以我更深入地跑了ls -l;下面是输出。

/run/user/125# ll
ls: cannot access 'gvfs': Permission denied
total 4
drwx------ 12 gdm  gdm  340 Sep  3 10:20 ./
drwxr-xr-x  4 root root  80 Sep  3 10:19 ../
srw-rw-rw-  1 gdm  gdm    0 Sep  3 10:19 bus=
drwx------  3 gdm  gdm   60 Sep  3 10:19 dbus-1/
drwx------  2 gdm  gdm   60 Sep  3 10:19 dconf/
drwx--x--x  2 gdm  gdm   60 Sep  3 10:19 gdm/
prw-rw-r--  1 gdm  gdm …
Run Code Online (Sandbox Code Playgroud)

linux ls filesystems systemd-run

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

使用 find 命令反转文件名更改?

Find 是一个很好的工具——而且用途广泛。我试图通过向现有文件名添加后缀或前缀来重命名文件。凉爽的。

find -name "*" -exec mv {} {}.yo \;

现在这是我无法获得的部分 -如果必须撤消上述操作,我该怎么做?

编辑 -
我注意到前缀是不可能的 - 是否有解决方案。

find  -type f -name "*"  -exec mv {} yu.{} \;
mv: cannot move './o.txt.yu.yu' to 'yu../o.txt.yu.yu': No such file or directory
Run Code Online (Sandbox Code Playgroud)

linux grep find

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

为什么这种电子邮件的正则表达式模式在它甚至不考虑小写字母的情况下如此受欢迎?

我已经看到以下模式在几个地方(甚至在 SOF 上)用作电子邮件 ID 验证的示例。

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b
Run Code Online (Sandbox Code Playgroud)

以上摘自https://www.regular-expressions.info/tutorial.html,以及引用

 this pattern describes an email address. 
Run Code Online (Sandbox Code Playgroud)

这种模式不考虑小写字母(除非我遗漏了一些东西)。

我对这个模式有什么进一步的了解吗?由于这种模式不能真正用于生产?为什么如此受欢迎?

email regular-expression wildcards pattern-matching

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

为什么 `ps e` 显示的进程比 `ps` 更多?

ps手册页:

默认情况下,ps 选择与当前用户具有相同有效用户 ID (euid=EUID) 并与调用者关联到同一终端的所有进程。

在我的 Ubuntu 系统上,ps没有任何标志的输出如下,符合预期:

$ ps
  PID TTY          TIME CMD
 6444 pts/11   00:00:00 bash
14605 pts/11   00:00:00 ps
Run Code Online (Sandbox Code Playgroud)

现在再次从psOUTPUT MODIFIERS 的手册页中获取:

e      Show the environment after the command.
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时ps e,我列出了更多进程:

$ ps e
  PID TTY      STAT   TIME COMMAND
   85 pts/1    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  100 pts/2    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  115 pts/3    Ss+    0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
  130 pts/4    Ss+    0:00 -bash …
Run Code Online (Sandbox Code Playgroud)

ps

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

顶部显示同一进程的线程的不同 pid。如何修复它?

当我执行 a ps -efT(where -T= Show threads, possibly with SPID column.) 时,我看到所有线程都具有相同的 PID,这是预期的。

myroot   24958 24958  7942  0 20:20 pts/12   00:00:00 java -jar myapp.jar
myroot   24958 24959  7942  0 20:20 pts/12   00:00:11 java -jar myapp.jar
myroot   24958 24960  7942  0 20:20 pts/12   00:00:00 java -jar myapp.jar
myroot   24958 24961  7942  0 20:20 pts/12   00:00:00 java -jar myapp.jar
myroot   24958 24962  7942  0 20:20 pts/12   00:00:00 java -jar myapp.jar
myroot   24958 24963  7942  0 20:20 pts/12   00:00:00 java …
Run Code Online (Sandbox Code Playgroud)

top ps thread htop

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

/dev、/run 和 /sys 是否存在于 HDD 上(如果存在的话,如果可以有意义地追踪的话,其位置在哪里)?

在安装 Linux 时,我只提到了一个文件系统(/dev/sda1 -> ext4 -> / )。但是对于 dev、run、proc、sys - Linux 正在创建额外的 FS,这可以从mount.

$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=12138104k,nr_inodes=3034526,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=2433824k,mode=755)
/dev/sda4 on / type ext4 (rw,relatime,errors=remount-ro)
...
Run Code Online (Sandbox Code Playgroud)

我知道 /proc 是一个虚拟文件系统,位于内存中,而不是在任何 HDD/SSD 上。有人可以解释一下 /dev、/run 和 /sys 的情况吗?它们是否存在于硬盘上(如果存在的话,如果可以有意义地追踪的话,其位置在哪里)。

基于已经问过的问题 -为什么 /dev 和 /run 的 inode 编号与 / 的 inode 编号相同?

filesystems ext4 mount proc systemd-run

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

adobe 是否分发适用于 Linux 平台的 acrobat reader?

首先,如果我做对了,Linux 人员可能会喜欢 GIMP(而不是 Photoshop)等 adobe 替代品来在 Linux 上处理图像/pdf/视频。因此他们可能永远不会错过 Linux 上的 adobe 产品。

但让我想到这个问题的是 - 我找到了一篇文章,其中描述了:How to Install Adob​​e Acrobat Reader on Ubuntu 20.04 Focal Fossa Linux

我很惊讶,因为根据我的理解,adobe 产品都不适用于 Linux 平台(如果我错了,请纠正我)。然后我认为 Acrobat Reader 可能是一个例外,并在 adobe 网站上进行了检查。我的发现如屏幕截图所示。--> 不,adobe 网站上没有 Linux 版本的 acrobat reader。

在此输入图像描述

  1. 我想了解当 adobe 未在其网站上显示ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb时如何存在(好吧,即使是 UNIX 版本也没有在该网站上列出)。

  2. 和Acrobat Reader一样,还有Flash等其他产品可以通过FTP获取吗?

adobe-flash gimp adobe-acrobat pinta

-1
推荐指数
1
解决办法
1358
查看次数