AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[kernel-modules](unix)

Martin Hope
William Dickerson
Asked: 2024-02-09 06:39:25 +0800 CST

如何在 module_init() 处中断?此可加载内核模块正在阻止 SSH 登录

  • 6

我正在将 USB 设备的驱动程序移植到 Rocky Linux 9.3。插入模块后,通过 ssh 进行的新登录将无响应。将模块列入黑名单并重新启动即可恢复正常功能。

https://github.com/izot/lon-driver


插入模块后,lsmod|grep u50“Used By”大约每 7 秒从 0 变为 1。然后,当尝试 SSH 登录时,“使用者”将介于 3 和 2 之间。

停止 SSH 登录,modprobe -r u50,重试...现在 SSH 收到 motd 但没有提示,并显示“PTY 分配请求在通道 0 上失败”。

ssh SITE "/bin/bash -i" (登录成功) (与插入模块相同)

模组信息u50

filename:       /lib/modules/5.14.0-362.18.1.el9_3.x86_64/kernel/drivers/lon/u50.ko
description:    U50 SMIP Driver 1.4 L2
alias:          tty-ldisc-28
license:        GPL
rhelversion:    9.3
srcversion:     311B898EC0CC268466EA85B
depends:
retpoline:      Y
name:           u50
vermagic:       5.14.0-362.18.1.el9_3.x86_64 SMP preempt mod_unload modversions

删除模块后,journalctl 显示“错误:openpty:无法分配内存”和“错误:session_pty_req:会话 0 分配失败”。

再次插入模块并尝试 SSH 后,journalctl 显示“NetworkManager ... manager: (lon10): new Generic device (/org/freedesktop/NetworkManager/Devices/743)”和“NetworkManager ... manager: (lon11)” :新的通用设备(/org/freedesktop/NetworkManager/Devices/744)。”

当 SSH 尝试被取消时,journalctl 会显示两次“正在删除未添加的网络设备”。


我终于有了 gdb 设置来远程调试。我将 src 复制到运行 gdb 的主机。我可以中断可加载模块中的某个函数,但为时已晚。我需要在模块加载时中断,它会杀死新的 ssh 登录。该模块适用于 USB,与 ssh 无关。

我可以在 do_init_module() 处中断并逐步执行,直到 exit_to_user_mode_loop() 然后它显示“无法找到当前函数的边界”。在 module_init() 处设置断点以供将来加载不会中断。

kernel-modules
  • 1 个回答
  • 99 Views
Martin Hope
Ys Cho
Asked: 2024-01-24 12:56:18 +0800 CST

我是否需要物理智能卡及其读卡器设备来签署 Linux 内核模块?

  • 5

我为了好玩而构建并测试了一个 Linux 内核源代码(滚动稳定),这些天,我想用自己创建的密钥签署一个内核模块,然后我在 OpenSSL 上得到了 PKCS#11 引擎用于对其进行签名。

但是存在 OpenSSL 无法请求密钥/证书的问题。所以我用 确认pkcs11-tool,但结果是“没有插槽”。

这是否意味着我应该有智能卡涉及的插槽?否则,如何签署内核模块?

以下为openssl.cnf消化内容

# referenced from the [provider_sect] below.
# Refer to the OpenSSL security policy for more information.
# .include fipsmodule.cnf

[openssl_init]
providers = provider_sect
ssl_conf = ssl_sect
engines = engine_section

[engine_section]
pkcs11 = pkcs11_section

[pkcs11_section]
engine_id = pkcs11
dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/pkcs11.so
MODULE_PATH = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
init = 0

# List of providers to load
[provider_sect]

我尝试用谷歌搜索一天,但我只找到了有关企业、云的信息……;没有用。

kernel-modules
  • 1 个回答
  • 28 Views
Martin Hope
Adam Sperry
Asked: 2024-01-13 06:02:12 +0800 CST

构建内核模块时无法识别的命令行选项“-ftrivial-auto-var-init=zero”

  • 5

我对内核模块开发的经验很少。尽管如此,我的任务还是维护 Sensoray 626 DAQ 卡的旧驱动程序。我正在使用一个非常简单的 dkms 设置来构建和安装驱动程序,该驱动程序已经运行良好很长时间了。该驱动程序一直在 Ubuntu 22.04 中工作,直到最近我在内核模块构建过程中遇到了以下错误,并且无法找到解决方案。任何帮助表示赞赏。如果需要其他信息,只需询问,我将使用所需信息更新问题。

注意:我知道 Comedi 有 Sensoray 626 的驱动程序。我不想使用 Comedi 驱动程序。

DKMS 构建日志:

DKMS make.log for s626-1.0.5 for kernel 6.5.0-14-generic (x86_64)
Fri Jan 12 01:17:52 PM PST 2024
make -C /lib/modules/6.5.0-14-generic/build M=/var/lib/dkms/s626/1.0.5/build SUBDIRS=/var/lib/dkms/s626/1.0.5/build
make[1]: Entering directory '/usr/src/linux-headers-6.5.0-14-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
  CC [M]  /var/lib/dkms/s626/1.0.5/build/s626drv.o
gcc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero’
make[3]: *** [scripts/Makefile.build:251: /var/lib/dkms/s626/1.0.5/build/s626drv.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.5.0-14-generic/Makefile:2037: /var/lib/dkms/s626/1.0.5/build] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.5.0-14-generic'
make: *** [Makefile:29: all] Error 2
  • 发行版:Ubuntu 22.04.3 LTS
  • Linux内核版本:6.5.0-14-generic

输出apt list --installed | grep gcc

gcc-11-base/jammy-updates,jammy-security,now 11.4.0-1ubuntu1~22.04 amd64 [installed,automatic]
gcc-11/jammy-updates,jammy-security,now 11.4.0-1ubuntu1~22.04 amd64 [installed,automatic]
gcc-12-base/jammy-updates,jammy-security,now 12.3.0-1ubuntu1~22.04 amd64 [installed,automatic]
gcc-12/jammy-updates,jammy-security,now 12.3.0-1ubuntu1~22.04 amd64 [installed,automatic]
gcc/jammy,now 4:11.2.0-1ubuntu1 amd64 [installed,automatic]
libgcc-11-dev/jammy-updates,jammy-security,now 11.4.0-1ubuntu1~22.04 amd64 [installed,automatic]
libgcc-12-dev/jammy-updates,jammy-security,now 12.3.0-1ubuntu1~22.04 amd64 [installed,automatic]
libgcc-s1/jammy-updates,jammy-security,now 12.3.0-1ubuntu1~22.04 amd64 [installed,automatic]

Makefile(请注意,此 makefile 具有除内核模块之外的其他内容的配方,并且该CC变量不用于构建内核模块):

###############################################################################
# for kernel modeule level driver:

# Kernel directory
KDIR        := /lib/modules/$(shell uname -r)/build
# Module directory
MODDIR      := /lib/modules/$(shell uname -r)/kernel/drivers/sensoray

# System values
PWD     := $(shell pwd)
KERNEL_24   := $(if $(wildcard $(KDIR)/Rules.make),1,0)

# Target file
obj-m       := s626.o


# Source files
ifeq    ($(KERNEL_24),0) # > 2.4
s626-objs   := s626drv.o 
else # <= 2.4
s626-objs   := s626drv.o
endif

.PHONY:     all clean modules_install

ifeq    ($(KERNEL_24),0) # > 2.4
ifeq    ($(KERNELRELEASE),)
all:
        $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD)
clean modules_install:
        $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) $@
endif   # KERNELRELEASE

else    # <= 2.4

ifneq   ($(KERNELRELEASE),)

include $(KDIR)/Rules.make

s626.o: $(s626-objs)
        $(Q)$(LD) $(LD_RFLAG) -r -o $@ $(s626-objs)
else

all:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
        rm -f *.ko *.o .*.cmd .*.o.flags *.mod.c

endif   # KERNELRELEASE

endif   # KERNEL_24

ifeq    ($(KERNEL_24),1) # <= 2.4

install:        s626.o
    @if [ -d /lib/modules/$(shell uname -r)/kernel/drivers/sensoray/ ];\
    then rm -f /lib/modules/$(shell uname -r)/kernel/drivers/sensoray/s626.*;\
    fi
    @if [ -d /lib/modules/$(shell uname -r)/extra/ ];\
    then rm -f /lib/modules/$(shell uname -r)/extra/s626.*;\
    fi
    su -c "set -x;./MAKEDEV;mkdir -p $(MODDIR);cp -v s626.o $(MODDIR);depmod -a"

else
install:        s626.ko
    @if [ -d /lib/modules/$(shell uname -r)/kernel/drivers/sensoray/ ];\
    then rm -f /lib/modules/$(shell uname -r)/kernel/drivers/sensoray/s626.*; \
    fi
    @if [ -d /lib/modules/$(shell uname -r)/extra/ ];\
    then rm -f /lib/modules/$(shell uname -r)/extra/s626.*;\
    fi
    @if [ -d /lib/modules/$(shell uname -r)/kernel/drivers/staging/comedi/drivers ];\
    then rm -f /lib/modules/$(shell uname -r)/kernel/drivers/staging/comedi/drivers/s626.*;\
    fi
    su -c "set -x;./MAKEDEV;mkdir -p $(MODDIR);cp -v s626.ko $(MODDIR);install -m 444 s626.ko $(MODDIR);depmod -a"
endif  # KERNEL > 2.4


###############################################################################
# for library and application level:
SRC=            # module source tree
CC=         # compiler
AR=         # library manager

# source path
ifeq ($(strip $(SRC)),)
    SRC=.
endif

# the compiler
ifeq ($(strip $(CC)),)
    CC=gcc
endif

# the library manager
ifeq ($(strip $(AR)),)
    AR=ar
endif

# build the distribution's library
lib:        libs626.a
libs626.a:  s626core.o s626mod.o
        $(AR) cr libs626.a $(SRC)/s626core.o $(SRC)/s626mod.o

# compile the 626 universal core
core:       s626core.o
s626core.o: $(SRC)/s626core.c $(SRC)/s626core.h $(SRC)/s626mod.h
        $(CC) $(CFLAGS) -c $(SRC)/s626core.c

# build the 626 OS-dependent module
mod:        s626mod.o
s626mod.o:  $(SRC)/s626mod.c $(SRC)/s626core.h $(SRC)/s626mod.h $(SRC)/s626drv.h $(SRC)/s626.h $(SRC)/s626api.h
        $(CC) $(CFLAGS) -c $(SRC)/s626mod.c

# build the distribution's library (you may need to install gcc-multilib package)
lib32:      libs626-32.a
libs626-32.a:   s626core-32.o s626mod-32.o
        $(AR) cr libs626-32.a $(SRC)/s626core-32.o $(SRC)/s626mod-32.o

# compile the 626 universal core
s626core-32.o:  $(SRC)/s626core.c $(SRC)/s626core.h $(SRC)/s626mod.h
        $(CC) $(CFLAGS) -m32 -c $(SRC)/s626core.c -o $@

# build the 626 OS-dependent module
s626mod-32.o:   $(SRC)/s626mod.c $(SRC)/s626core.h $(SRC)/s626mod.h $(SRC)/s626drv.h $(SRC)/s626.h $(SRC)/s626api.h
        $(CC) $(CFLAGS) -m32 -c $(SRC)/s626mod.c -o $@

#----------------------------------------------------------------
# Demonstration programs
# type "make demo" to compile, link, and create demo application
demo:       libs626.a s626demo.o s626dm2b.o
        $(CC) -o s626demo s626demo.o -L$(SRC) -ls626 -lpthread
        $(CC) -o s626dm2b s626dm2b.o -L$(SRC) -ls626 -lpthread

s626demo.o: $(SRC)/s626demo.c $(SRC)/s626core.h $(SRC)/s626mod.h $(SRC)/s626drv.h $(SRC)/s626api.h $(SRC)/App626.h
        $(CC) $(CFLAGS) -c $(SRC)/s626demo.c

s626dm2b.o: $(SRC)/s626dm2b.c $(SRC)/s626core.h $(SRC)/s626mod.h $(SRC)/s626drv.h $(SRC)/s626api.h $(SRC)/App626.h
        $(CC) $(CFLAGS) -c $(SRC)/s626dm2b.c

demo32:     libs626-32.a s626demo-32.o s626dm2b-32.o
        $(CC) -m32 -o s626demo-32 s626demo-32.o -L$(SRC) -ls626-32 -lpthread
        $(CC) -m32 -o s626dm2b-32 s626dm2b-32.o -L$(SRC) -ls626-32 -lpthread

s626demo-32.o:  $(SRC)/s626demo.c $(SRC)/s626core.h $(SRC)/s626mod.h $(SRC)/s626drv.h $(SRC)/s626api.h $(SRC)/App626.h
        $(CC) $(CFLAGS) -m32 -c $(SRC)/s626demo.c -o $@

s626dm2b-32.o:  $(SRC)/s626dm2b.c $(SRC)/s626core.h $(SRC)/s626mod.h $(SRC)/s626drv.h $(SRC)/s626api.h $(SRC)/App626.h
        $(CC) $(CFLAGS) -m32 -c $(SRC)/s626dm2b.c -o $@


# for debugging:
#     gcc -g -o s626demo s626core.c s626mod.c s626demo.c -lpthread
#     gcc -g -o s626dm2b s626core.c s626mod.c s626dm2b.c -lpthread

clnall:
        rm -f *.ko *.o .*.cmd .*.o.flags *.mod.c libs626*.a s626demo s626dm2b *.tar.gz s626*-32 Module.symvers modules.order


###############################################################################
# for internal develoment only
#----------------------------------------------------------------
# select files for the distribution tarball
T =  $(SRC)/README
T += $(SRC)/COPYING
T += $(SRC)/MAKEDEV
T += $(SRC)/Modules.conf
T += $(SRC)/Makefile
T += $(SRC)/s626drv.h
T += $(SRC)/s626drv.c
T += $(SRC)/s626.h
T += $(SRC)/s626mod.h
T += $(SRC)/s626mod.c
T += $(SRC)/s626core.h
T += $(SRC)/s626core.c
T += $(SRC)/s626api.h
T += $(SRC)/App626.h
T += $(SRC)/libs626.a
T += $(SRC)/s626demo.c
T += $(SRC)/s626dm2b.c

#----------------------------------------------------------------
# build distribution tarball (only for development)
tar:
#       tar -Pzcf s626-0.3.tar.gz $(T)
        tar -czvf s626-1.0.tar.gz $(T)

DKMS配置文件:

MAKE="'make' KDIR=/lib/modules/${kernelver}/build"
CLEAN="'make' clean"
BUILT_MODULE_NAME=s626
BUILT_MODULE_LOCATION=./
DEST_MODULE_LOCATION=/kernel/drivers/sensoray/
PACKAGE_NAME=s626
PACKAGE_VERSION=1.0.5
AUTOINSTALL=yes
REMAKE_INITRD=yes
kernel-modules
  • 2 个回答
  • 525 Views
Martin Hope
Matombo
Asked: 2023-11-29 19:27:15 +0800 CST

重新扫描匹配的内核模块

  • 6

因此,通常在启动期间或设备热插拔时,Linux 会根据模态别名加载硬件的内核模块。

有没有办法为特定设备手动触发此操作或为整个系统进行常规“重新扫描”?

例如,我有一个 pci 设备,在启动期间没有匹配的驱动程序。然后我安装一个包含几个模块的驱动程序包。现在我希望系统根据模式别名自动选择正确的模式并像重新启动时一样加载它,而无需实际重新启动。

kernel-modules
  • 1 个回答
  • 25 Views
Martin Hope
MoRe
Asked: 2023-11-14 03:03:32 +0800 CST

modprobe 保险丝似乎没有加载模块

  • 6

我正在尝试加载fuse内核模块,但由于某种原因,它似乎没有被加载。但我也没有收到任何错误消息。有人可以向我解释一下发生了什么事吗?

root@my-host:~# modprobe fuse
root@my-host:~# echo $?
0
root@my-host:~# lsmod | grep fuse 
root@my-host:~# modinfo fuse
modinfo: ERROR: Module fuse not found.
root@my-host:~# ls /lib/modules/$(uname -r)/kernel/fs/fuse/
cuse.ko
root@my-host:~#

我在云虚拟机上:

root@my-host:~# uname -r
4.15.0-213-generic
root@my-host:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:    18.04
Codename:   bionic

在运行这些命令之前,我还重新启动了主机,以确保正确的内核正在运行。


编辑:为了响应评论,我运行了这些命令:

root@my-host:~# grep fuse /lib/modules/$(uname -r)/modules.builtin
kernel/fs/fuse/fuse.ko
root@my-host:~# systemd-detect-virt
kvm
kernel-modules
  • 1 个回答
  • 53 Views
Martin Hope
Dr. Chocolate
Asked: 2023-09-08 23:52:29 +0800 CST

向 /dev 目录添加符号链接的原因是什么?

  • 6

我知道您可以编写自定义 udev 规则来在 /dev 目录中创建符号链接。

但是 /dev 中的符号链接有什么用呢?

符号链接链接到什么?

我知道您可以与 /dev 目录中的常规链接进行交互,但不了解符号链接的作用。

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0461", ATTRS{idProduct}=="4d81", SYMLINK+="myusb"

kernel-modules
  • 1 个回答
  • 121 Views
Martin Hope
David Alsh
Asked: 2023-07-30 08:05:46 +0800 CST

为什么驱动程序要编译到内核中?为什么没有更多的驱动程序作为动态内核模块分发?

  • 5

我对 Linux 内核还是个新手,所以请原谅这个基本问题。如果您能给我指出我可以阅读/观看的资源,我将不胜感激。

对于 Windows,硬件驱动程序工作流程似乎是先安装核心操作系统,然后单独安装驱动程序。

对于 Linux,似乎所有驱动程序都直接编译到内核中 - 这是否意味着安装的 Linux 发行版支持所有受支持的硬件,即使您只使用其中的一个子集?

这是否意味着安装诸如专有 NVIDIA 驱动程序(不包含在内核中)之类的东西实际上需要使用 NVIDIA 驱动程序重新编译内核 - Ubuntu 和 Fedora 等发行版提供了内置驱动程序的预编译内核?

我最近在 Linux 安装上安装了一个驱动程序,增加了对 Xbox 无线适配器的支持。它使用“DKMS”将驱动程序添加到我的系统中,而不将其编译到内核中。

DKMS 是一种向 Linux 添加微内核功能的方法吗?为什么不是所有驱动程序都作为动态模块分发?内核模块安装在 下时不是已经是动态的了吗/ib/modules?

动态内核模块如何影响自签名 Linux 安装上下文中的安全启动?

kernel-modules
  • 1 个回答
  • 40 Views
Martin Hope
TSG
Asked: 2023-07-15 04:09:36 +0800 CST

Insmod 导致密钥被服务拒绝

  • 7

我正在运行 AlmaLinux 9(RedHat 9 克隆)并编译了一个新的内核模块。我正在启用 UEFI 和安全启动的虚拟机中运行。当我插入模块时,出现以下错误:

insmod: ERROR: could not insert module npreal2.mod: Key was rejected by service

从其他帖子中我得出的结论是它与 UEFI/安全启动有关。所以我禁用了安全启动,然后 insmod 报告:

insmod: ERROR: could not insert module npreal2.mod: Invalid module format

我尝试在关闭安全模式的情况下重新编译,然后 insmod 工作,但随后我必须禁用安全启动。如何使该模块能够安全启动?

github上有一篇关于创建自己的 MOK 密钥的帖子,但这似乎是 DKMS 特定的。

kernel-modules
  • 1 个回答
  • 30 Views
Martin Hope
Alexey
Asked: 2022-06-16 10:57:24 +0800 CST

AX88179 千兆以太网驱动程序

  • 0

我有以下以太网到 USB-C 适配器:

$ lsusb | grep Ethernet
Bus 002 Device 003: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet

目前它在插入 USB-C 端口时不起作用,dmesg我得到:

[23552.344134] ax88179_178a 2-1:2.1 eth1: Failed to read reg index 0x0000: -32

(但是,它可以在不同的机器上运行,但仍然显示错误,并且传输速率似乎有限。)

我想知道我是否安装了正确的驱动程序。我已经看到这axge似乎是正确的驱动程序,但它没有出现在lsmod.

AX88179 使用的正确驱动程序是什么,如何检查是否已安装,否则如何安装?

我目前正在使用 Linux Mint 20.3。

drivers kernel-modules
  • 1 个回答
  • 686 Views
Martin Hope
Ritualmaster
Asked: 2022-05-06 06:19:37 +0800 CST

焦点/20.04 上的 PPS 超时且永远无法恢复

  • 1

我们最近从 Vecow/Plugin 升级到新的工业 PC,从 18.04 升级到 Ubuntu 20.04。从 BIOS(构建日期 BIOS ~17.02.2022)和根据它的 IO 芯片是 SuperIO 8786: https ://github.com/huchanghui123/ITE-SuperIO/blob/master/IT8786E-I_B_V0.2.pdf

此端口似乎被映射为通用(ACPI/BIOS)作为兼容 16550A 的 COM 端口 PNP0501。

我们有一个 PPS 设备连接到我们可用的一个(但尝试了所有)串行/COM/RS232 端口(DCD 引脚,我们还连接了 GND)。我们附加到它ldattach pps /dev/ttyS0并希望再次与 chrony 集成。

ldttach作品,也ppstest。发生的情况是,在很短的时间(30-100 秒)之后,这似乎是相当随机的,它经常无法获取时间戳并且超时并且永远不会恢复。但是在卸载并重新连接 ldisc 之后,它会再次工作(一段时间)。

除了我们的 PPS 设备,我们还尝试了 1 Hz 的函数发生器(脉冲或占空比 50%、1ms、10ms、100 和 200 ms)。我们的设备在以前的 PC 上工作的电压电平是 0 - ~3.7V。我们将函数发生器设置为在 RS-232 范围内以 +/-3.7、5、6.6 和 10V(我们的发生器的上限)运行。问题是一样的。

顺便说一句,我们在 HWE 通用内核上(所以 5.13)。在旧 PC 上它可以工作(甚至通过 Ubuntu 20.04 直播)。我们还尝试了 Ubuntu 22.04 实时映像(内核 5.15)和 Fedora 35,但也失败了。同样在我们的第二台相同的 PC 上。

任何人都经历过类似的事情或知道如何进一步调试它?特别是要排除驱动程序错误(或任何其他硬件错误)。

谢谢!

kernel-modules serial-port
  • 1 个回答
  • 36 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve