Linux Kernel KDB KGDB 实体机内核调试

2023-12-20 21:20

本文主要是介绍Linux Kernel KDB KGDB 实体机内核调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内核编译配置

CONFIG_DEBUG_INFO=y                     # 编译debug infoCONFIG_MAGIC_SYSRQ=y                    # 功能编译开关
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1   # 默认开启项 默认存在 /proc/sysrq-trigger
CONFIG_MAGIC_SYSRQ_SERIAL=y             # 串行sysrq (许多嵌入式主板都具有断开连接的 TTL 电平串行,这可能会产生一些无效的信号。导致检测到虚假sysrq )CONFIG_KGDB=y                           # 需要开启 gdb 远程调试内核
CONFIG_KGDB_KDB=y                       # KDB调试前端
CONFIG_KDB_DEFAULT_ENABLE=0x0           # 默认不启动KDB 通过模块拔插方式开启
CONFIG_KDB_KEYBOARD=y                   # 需要开启 可以使用键盘
CONFIG_KDB_CONTINUE_CATASTROPHIC=0      # KDB调试内核引发的Oops等容错,=0 总是继续 =1 尝试继续 =2 强制重新启动# CONFIG_SERIAL_KGDB_NMI is not set     # 此特殊驱动程序允许您临时使用 NMI 调试器端口作为普通控制台(假设该端口已连接到 KGDB)
CONFIG_HAVE_ARCH_KGDB=y                 # 依赖项
CONFIG_KGDB_SERIAL_CONSOLE=y            # KGDB 串口调试终端配置,与 kgdb 共享串行控制台。初始化必须使用 Sysrq -g 进入
CONFIG_KGDB_TESTS=y                     # 这是一个 kgdb I/O 模块,专门用于测试kgdb 的内部功能。回归测试使用
# CONFIG_KGDB_TESTS_ON_BOOT is not set  # 启动时进行模块内部测试
CONFIG_KGDB_LOW_LEVEL_TRAP=y            # 这将为断点异常处理程序添加对 kgdb 的额外回调,这将允许 kgdb 单步执行。

内核运行时设置

  • 关闭随机化

    grub 行添加 nokaslr
    

    注:不设置会报错 -22 Permisson denied

  • kdb on conlose 设置 (对应CONFIG_KDB_DEFAULT_ENABLE=0x0)

    echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc # ttyS0 tty0 ttyAMA0 需要确认串口输出设备
    
  • 开启 kdb 命令行

    echo 1 > /sys/module/kdb/parameters/cmd_enable 
    

    注:不设置会报错 -22 Permisson denied

  • 进入命令行

    • 方法1:panic 自动进入
    • 方法2:手动进入
      echo -g > /proc/sysrq-trigger
      
  • kdb 开机即起

    grub 行添加 nokaslr kgdbwait kgdboc=ttyS0,115200n8 kdb.cmd_enable=1 
    

    注:kgdb属于模块且依赖串口,cpu 初始化 调度算法初始化等流程执行已过

kdb调试

  • 栈 bt

    [0]kdb> bt 
    Stack traceback for pid 1092
    0xffff88823568c680     1092     1080  1    2   R  0xffff88823568d9c0  bash
    
  • 所有CPU运行任务 -btc

    [0]kdb> btc
    btc: cpu status: Currently on cpu 0
    Available cpus: 0-1(I), 2, 3-7(I)
    Stack traceback for pid 0
    0xffffffff82412780        0        0  1    0   I  0xffffffff82413ac0 *swapper/0
    Stack traceback for pid 0
    0xffff888106e05e00        0        0  1    1   I  0xffff888106e07140  swapper/1
    Stack traceback for pid 1092
    0xffff88823568c680     1092     1080  1    2   R  0xffff88823568d9c0  bash
    Stack traceback for pid 0
    0xffff888106e04680        0        0  1    3   I  0xffff888106e059c0  swapper/3
    Stack traceback for pid 0
    0xffff888106e2af00        0        0  1    4   I  0xffff888106e2c240  swapper/4
    Stack traceback for pid 0
    0xffff888106e2c680        0        0  1    5   I  0xffff888106e2d9c0  swapper/5
    Stack traceback for pid 0
    0xffff888106e29780        0        0  1    6   I  0xffff888106e2aac0  swapper/6
    Stack traceback for pid 0
    0xffff888106e28000        0        0  1    7   I  0xffff888106e29340  swapper/7
    
  • 模块状态 lsmod

    [2]kdb> lsmod
    Module                  Size  modstruct     Used by
    sunrpc                364544  0xffffffffc04d4e00    1  (Live) 0xffffffffc0488000 [ ]
    kvm_intel             237568  0xffffffffc052d900    0  (Live) 0xffffffffc04fb000 [ ]
    snd_hda_codec_generic   86016  0xffffffffc0623580    1  (Live) 0xffffffffc0611000 [ ]
    kvm                   679936  0xffffffffc05fd100    1  (Live) 0xffffffffc056a000 [ kvm ]
    irqbypass              16384  0xffffffffc03bc040    1  (Live) 0xffffffffc03ba000 [ irqbypass ]
    crct10dif_pclmul       16384  0xffffffffc0377200    0  (Live) 0xffffffffc0375000 [ ]
    crc32_pclmul           16384  0xffffffffc034f200    0  (Live) 0xffffffffc034d000 [ ]
    qxl                    73728  0xffffffffc04f76c0    1  (Live) 0xffffffffc04e8000 [ ]
    snd_hda_intel          45056  0xffffffffc03b7000    0  (Live) 0xffffffffc03ae000 [ ]
    ghash_clmulni_intel    16384  0xffffffffc00b3400    0  (Live) 0xffffffffc00b1000 [ ]
    snd_hda_codec         131072  0xffffffffc0482600    2  (Live) 0xffffffffc0467000 [ snd_hda_codec snd_hda_codec ]
    ttm                   118784  0xffffffffc0427e80    1  (Live) 0xffffffffc0411000 [ ttm ]
    drm_kms_helper        176128  0xffffffffc0563600    1  (Live) 0xffffffffc053e000 [ drm_kms_helper ]
    snd_hda_core           77824  0xffffffffc0328380    3  (Live) 0xffffffffc0318000 [ snd_hda_core snd_hda_core snd_hda_core ]
    snd_hwdep              20480  0xffffffffc03eb080    1  (Live) 0xffffffffc03e8000 [ snd_hwdep ]
    syscopyarea            16384  0xffffffffc03c5000    1  (Live) 0xffffffffc03c3000 [ syscopyarea ]
    snd_pcm                98304  0xffffffffc03a9640    3  (Live) 0xffffffffc0395000 [ snd_pcm snd_pcm snd_pcm ]
    intel_rapl_perf        16384  0xffffffffc0383740    0  (Live) 0xffffffffc0381000 [ ]
    sysfillrect            16384  0xffffffffc037c040    1  (Live) 0xffffffffc037a000 [ sysfillrect ]
    sysimgblt              16384  0xffffffffc0365000    1  (Live) 0xffffffffc0363000 [ sysimgblt ]
    fb_sys_fops            16384  0xffffffffc035e000    1  (Live) 0xffffffffc035c000 [ fb_sys_fops ]
    snd_timer              32768  0xffffffffc0372100    1  (Live) 0xffffffffc036c000 [ snd_timer ]
    virtio_balloon         20480  0xffffffffc0355240    0  (Live) 0xffffffffc0352000 [ ]
    sg                     40960  0xffffffffc034a0c0    0  (Live) 0xffffffffc0342000 [ ]
    drm                   475136  0xffffffffc02f5940    4  (Live) 0xffffffffc028d000 [ drm drm drm ]
    snd                    86016  0xffffffffc03123c0    6  (Live) 0xffffffffc0302000 [ snd snd snd snd snd snd ]
    psmouse               159744  0xffffffffc027bec0    0  (Live) 0xffffffffc0259000 [ ]
    soundcore              16384  0xffffffffc0252040    1  (Live) 0xffffffffc0250000 [ soundcore ]
    i2c_piix4              24576  0xffffffffc0249540    0  (Live) 0xffffffffc0245000 [ ]
    pcspkr                 16384  0xffffffffc023f100    0  (Live) 0xffffffffc023d000 [ ]
    ip_tables              28672  0xffffffffc0031280    0  (Live) 0xffffffffc002c000 [ ]
    ext4                  675840  0xffffffffc01f43c0    2  (Live) 0xffffffffc015c000 [ ]
    mbcache                16384  0xffffffffc0097080    1  (Live) 0xffffffffc0095000 [ mbcache ]
    jbd2                  110592  0xffffffffc0139b00    1  (Live) 0xffffffffc0122000 [ jbd2 ]
    sr_mod                 28672  0xffffffffc0109140    0  (Live) 0xffffffffc0104000 [ ]
    cdrom                  57344  0xffffffffc011f280    1  (Live) 0xffffffffc0113000 [ cdrom ]
    sd_mod                 49152  0xffffffffc01014c0    3  (Live) 0xffffffffc00f7000 [ ]
    ata_generic            16384  0xffffffffc006c700    0  (Live) 0xffffffffc006a000 [ ]
    ata_piix               36864  0xffffffffc0159240    2  (Live) 0xffffffffc0152000 [ ]
    crc32c_intel           24576  0xffffffffc010f200    4  (Live) 0xffffffffc010c000 [ ]
    libata                237568  0xffffffffc00ef9c0    2  (Live) 0xffffffffc00bc000 [ libata libata ]
    serio_raw              16384  0xffffffffc00ae200    0  (Live) 0xffffffffc00ac000 [ ]
    virtio_console         32768  0xffffffffc00a4400    0  (Live) 0xffffffffc009e000 [ ]
    e1000                 143360  0xffffffffc0091140    0  (Live) 0xffffffffc0071000 [ ]
    floppy                 81920  0xffffffffc0063c40    0  (Live) 0xffffffffc0055000 [ ]
    
  • 进程状态 ps

    [2]kdb> ps
    7 idle processes (state I) and 
    39 sleeping system daemon (state M) processes suppressed,
    use 'ps A' to see all.
    Task Addr               Pid   Parent [*] cpu State Thread             Command
    0xffff88823568c680     1092     1080  1    2   R  0xffff88823568d9c0 *bash0xffff888106db4680        1        0  0    0   S  0xffff888106db59c0  systemd
    0xffff888106db0000        3        2  0    0   D  0xffff888106db1340  rcu_gp
    0xffff888106db5e00        4        2  0    0   D  0xffff888106db7140  rcu_par_gp
    0xffff888106db2f00        5        2  0    0   D  0xffff888106db4240  kworker/0:0
    0xffff888106deaf00        6        2  0    0   D  0xffff888106dec240  kworker/0:0H
    0xffff888106dec680        7        2  0    2   D  0xffff888106ded9c0  kworker/u16:0
    0xffff888106de9780        8        2  0    0   D  0xffff888106deaac0  mm_percpu_wq
    0xffff888106dede00       10        2  0    7   D  0xffff888106def140  rcu_sched
    0xffff888106e01780       11        2  0    0   D  0xffff888106e02ac0  rcu_bh
    0xffff888106e49780       17        2  0    1   D  0xffff888106e4aac0  kworker/1:0
    0xffff888106e48000       18        2  0    1   D  0xffff888106e49340  kworker/1:0H
    0xffff888106e75e00       22        2  0    2   D  0xffff888106e77140  kworker/2:0
    0xffff888106e72f00       23        2  0    2   D  0xffff888106e74240  kworker/2:0H
    0xffff888106e90000       27        2  0    3   D  0xffff888106e91340  kworker/3:0
    0xffff888106e95e00       28        2  0    3   D  0xffff888106e97140  kworker/3:0H
    0xffff888106ecaf00       32        2  0    4   D  0xffff888106ecc240  kworker/4:0
    0xffff888106ecc680       33        2  0    4   D  0xffff888106ecd9c0  kworker/4:0H
    0xffff888106ef0000       37        2  0    5   D  0xffff888106ef1340  kworker/5:0
    0xffff888106ef5e00       38        2  0    5   D  0xffff888106ef7140  kworker/5:0H
    0xffff888106f1de00       42        2  0    6   D  0xffff888106f1f140  kworker/6:0
    0xffff888106f1af00       43        2  0    6   D  0xffff888106f1c240  kworker/6:0H
    0xffff888106f41780       47        2  0    7   D  0xffff888106f42ac0  kworker/7:0
    0xffff888106f40000       48        2  0    7   D  0xffff888106f41340  kworker/7:0H
    0xffff888106f75e00       51        2  0    1   D  0xffff888106f77140  netns
    0xffff888106f74680       53        2  0    0   D  0xffff888106f759c0  kworker/0:1
    0xffff888237811780       56        2  0    2   D  0xffff888237812ac0  writeback
    0xffff888237858000       60        2  0    3   D  0xffff888237859340  crypto
    0xffff88823785de00       61        2  0    4   D  0xffff88823785f140  kintegrityd
    0xffff88823785af00       62        2  0    6   D  0xffff88823785c240  kblockd
    0xffff888237922f00       63        2  0    5   D  0xffff888237924240  md
    0xffff888237924680       64        2  0    7   D  0xffff8882379259c0  edac-poller
    0xffff888237920000       66        2  0    4   D  0xffff888237921340  kworker/4:1
    0xffff888237925e00       67        2  0    2   R  0xffff888237927140  kworker/2:1
    0xffff888236c61780       68        2  0    1   D  0xffff888236c62ac0  kworker/1:1
    0xffff888236c60000       69        2  0    3   D  0xffff888236c61340  kworker/3:1
    0xffff8882337a9780       96        2  0    6   D  0xffff8882337aaac0  kworker/6:1
    0xffff88823306af00      101        2  0    7   D  0xffff88823306c240  kworker/u16:1
    0xffff888233069780      103        2  0    7   D  0xffff88823306aac0  kworker/7:1
    0xffff888233002f00      134        2  0    0   D  0xffff888233004240  kthrotld
    0xffff888233004680      135        2  0    2   D  0xffff8882330059c0  acpi_thermal_pm
    0xffff888233005e00      136        2  0    4   D  0xffff888233007140  kmpath_rdacd
    0xffff888233000000      137        2  0    1   D  0xffff888233001340  kaluad
    0xffff8882337ac680      138        2  0    5   D  0xffff8882337ad9c0  ipv6_addrconf
    0xffff8882337aaf00      139        2  0    3   D  0xffff8882337ac240  kworker/3:2
    0xffff8882337ade00      140        2  0    7   D  0xffff8882337af140  kstrp
    0xffff8882337a8000      141        2  0    5   D  0xffff8882337a9340  kworker/5:1
    0xffff8882330dc680      229        2  0    6   D  0xffff8882330dd9c0  kworker/6:2
    0xffff888233601780      238        2  0    5   D  0xffff888233602ac0  kworker/5:2
    0xffff888233734680      243        2  0    4   D  0xffff8882337359c0  kworker/4:2
    0xffff888233731780      244        2  0    4   D  0xffff888233732ac0  kworker/4:3
    0xffff888233735e00      391        2  0    4   D  0xffff888233737140  ata_sff
    0xffff888233020000      398        2  0    4   D  0xffff888233021340  scsi_tmf_0
    0xffff888233704680      400        2  0    4   D  0xffff8882337059c0  scsi_tmf_1
    0xffff888233605e00      401        2  0    3   D  0xffff888233607140  kworker/u16:2
    0xffff888233600000      403        2  0    1   D  0xffff888233601340  kworker/u16:3
    0xffff88823306de00      420        2  0    0   D  0xffff88823306f140  kworker/0:2
    0xffff888233068000      423        2  0    2   D  0xffff888233069340  kworker/2:1H
    0xffff888233021780      424        2  0    5   D  0xffff888233022ac0  kworker/5:1H
    0xffff888236c65e00      425        2  0    2   D  0xffff888236c67140  kworker/2:2
    0xffff88823089c680      426        2  0    4   D  0xffff88823089d9c0  kworker/4:1H
    0xffff888230899780      430        2  0    3   D  0xffff88823089aac0  kworker/3:1H
    0xffff888230898000      431        2  0    1   D  0xffff888230899340  kworker/1:1H
    0xffff88823089de00      432        2  0    1   D  0xffff88823089f140  kworker/1:2
    0xffff88823089af00      433        2  0    7   D  0xffff88823089c240  kworker/7:1H
    0xffff888230929780      435        2  0    6   D  0xffff88823092aac0  kworker/6:1H
    0xffff88823092de00      446        2  0    0   D  0xffff88823092f140  kworker/0:1H
    0xffff88823092c680      452        2  0    4   D  0xffff88823092d9c0  ext4-rsv-conver
    0xffff88823092af00      511        2  0    6   D  0xffff88823092c240  kworker/6:3
    0xffff888233634680      513        2  0    7   D  0xffff8882336359c0  kworker/7:2
    0xffff888233632f00      519        2  0    1   D  0xffff888233634240  kworker/1:3
    0xffff8882330daf00      553        1  0    5   S  0xffff8882330dc240  systemd-journal
    0xffff8882356eaf00      567        1  0    0   S  0xffff8882356ec240  systemd-udevd
    0xffff888234b0de00      688        2  0    0   D  0xffff888234b0f140  ttm_swap
    0xffff888234b08000      702        2  0    4   D  0xffff888234b09340  kworker/4:4
    0xffff888233630000      705        2  0    3   D  0xffff888233631340  ext4-rsv-conver
    0xffff888233038000      715        1  0    1   S  0xffff888233039340  mdadm
    0xffff88823303de00      716        1  0    1   S  0xffff88823303f140  auditd
    0xffff888232a10000      717        1  0    4   S  0xffff888232a11340  auditd
    0xffff888233039780      719        2  0    4   D  0xffff88823303aac0  kworker/4:5
    0xffff8882330f5e00      735        1  0    0   S  0xffff8882330f7140  dbus-daemon
    0xffff888235688000      742        1  0    5   S  0xffff888235689340  chronyd
    0xffff8882361ade00      745        1  0    7   S  0xffff8882361af140  irqbalance
    0xffff88823314af00      746        1  0    2   S  0xffff88823314c240  gmain
    0xffff8882330dde00      753        1  0    5   S  0xffff8882330df140  NetworkManager
    0xffff888232a15e00      758        1  0    4   S  0xffff888232a17140  gmain
    0xffff888232a11780      759        1  0    2   S  0xffff888232a12ac0  gdbus
    0xffff8882330d9780      755        1  0    5   S  0xffff8882330daac0  systemd-logind
    0xffff888233148000      756        2  0    3   D  0xffff888233149340  kworker/3:3
    0xffff88823314de00      757        2  0    3   D  0xffff88823314f140  kworker/3:4
    0xffff8882329dde00      763        2  0    5   D  0xffff8882329df140  rpciod
    0xffff8882329daf00      764        2  0    0   D  0xffff8882329dc240  kworker/u17:0
    0xffff8882329d9780      765        2  0    2   D  0xffff8882329daac0  xprtiod
    0xffff888233602f00      766        1  0    0   S  0xffff888233604240  sshd
    0xffff88823568de00      783      753  0    4   S  0xffff88823568f140  dhclient
    0xffff888234b1de00      794        1  0    0   S  0xffff888234b1f140  gssproxy
    0xffff8882361a8000      801        1  0    4   S  0xffff8882361a9340  gssproxy
    0xffff8882361a9780      802        1  0    3   S  0xffff8882361aaac0  gssproxy
    0xffff8882361aaf00      803        1  0    6   S  0xffff8882361ac240  gssproxy
    0xffff8882361ac680      804        1  0    7   S  0xffff8882361ad9c0  gssproxy
    0xffff888233631780      805        1  0    3   S  0xffff888233632ac0  gssproxy
    0xffff888233701780      816        1  0    7   S  0xffff888233702ac0  crond
    0xffff888233705e00      817        1  0    2   S  0xffff888233707140  agetty
    0xffff888233022f00     1072        2  0    0   D  0xffff888233024240  kworker/0:3
    0xffff888233025e00     1080        1  0    1   S  0xffff888233027140  login
    0xffff8882330d8000     1084        1  0    6   S  0xffff8882330d9340  systemd
    0xffff888230a6af00     1085     1084  0    3   S  0xffff888230a6c240  (sd-pam)
    0xffff88823568c680     1092     1080  1    2   R  0xffff88823568d9c0 *bash
    
  • 设置断点 bp

  • 查看断点 bl

  • 清除断点 bc

  • 开启断点 be

  • 关闭断点 bd

  • 单步执行 ss

  • 帮助 help / ?

     [3]kdb> ? Command         Usage                Description----------------------------------------------------------md              <vaddr>             Display Memory Contents, also mdWcN, e.g. md8c1mdr             <vaddr> <bytes>     Display Raw Memorymdp             <paddr> <bytes>     Display Physical Memorymds             <vaddr>             Display Memory Symbolicallymm              <vaddr> <contents>  Modify Memory Contentsgo              [<vaddr>]           Continue Executionrd                                  Display Registersrm              <reg> <contents>    Modify Registersef              <vaddr>             Display exception framebt              [<vaddr>]           Stack tracebackbtp             <pid>               Display stack for process <pid>bta             [D|R|S|T|C|Z|E|U|I|M|A]Backtrace all processes matching state flagbtc                                 Backtrace current process on each cpubtt             <vaddr>             Backtrace process given its struct task addressenv                                 Show environment variablesset                                 Set environment variableshelp                                Display Help Message?                                   Display Help Messagecpu             <cpunum>            Switch to new cpukgdb                                Enter kgdb modeps              [<flags>|A]         Display active task listpid             <pidnum>            Switch to another taskreboot                              Reboot the machine immediatelylsmod                               List loaded kernel modulessr              <key>               Magic SysRq keydmesg           [lines]             Display syslog bufferdefcmd          name "usage" "help" Define a set of commands, down to endefcmdkill            <-signal> <pid>     Send a signal to a processsummary                             Summarize the systemper_cpu         <sym> [<bytes>] [<cpu>]Display per_cpu variablesgrephelp                            Display help on | grepbp              [<vaddr>]           Set/Display breakpointsbl              [<vaddr>]           Display breakpointsbph             [<vaddr>]           [datar [length]|dataw [length]]   Set hw brkbc              <bpnum>             Clear Breakpointbe              <bpnum>             Enable Breakpointbd              <bpnum>             Disable Breakpointss                                  Single Stepdumpcommon                          Common kdb debuggingdumpall                             First line debuggingdumpcpu                             Same as dumpall but only tasks on cpusftdump          [skip_#lines] [cpu] Dump ftrace log
    

这篇关于Linux Kernel KDB KGDB 实体机内核调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/517551

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更