【Linux笔记】使用问题集合
此篇文章内容会不定期更新仅作为学习过程中的笔记记录Linux系统I、尝试使用nslookup报错CentOS 7原因nslookup命令没有安装在系统上解决yum install bind-utilsnslookup命令通常包含在bind-utils包中这是 BINDBerkeley Internet Name Domain套件的一部分用于提供 DNS域名系统相关的实用工具II、Ubuntu更改使用root登录Ubuntun 18.04 LTS1、在用户模式下为root设置密码Ubuntu 默认未设置root密码-进入命令行Ctrl Alt T -sudo passwd root --输入用户密码 --设置UNIX密码 --Retype UNIX password2、切换root用户-su root --输入root用户密码3、退出root用户-exit4、登录root图形桌面-进入命令行Ctrl Alt T -sudo vim /etc/pam.d/gdm-autologin提前sudo apt-get install vim安装vim --按键 i进入插入模式 --注释 auth required pam_succeed_if.so user!root quiet success --按键 Esc进入一般命令模式 --:wq保存退出-sudo vim /etc/pam.d/gdm-passwd --按键 i进入插入模式 --注释 auth required pam_succeed_if.so user!root quiet success --按键 Esc进入一般命令模式 --:wq保存退出-sudo vim /root/.profile --按键 i进入插入模式 --在 mesg n || true 前添加 tty -s 使整条语句变为tty -s mesg n || true --按键 Esc进入一般命令模式 --:wq保存退出 --reboot重启5、直接在登录时使用root账户密码即可Ubuntu 22.04 LTS1、设置 root 账户密码默认情况下Ubuntu 的 root 账户是锁定的因此首先需要为 root 设置一个密码 sudo passwd root 输入并确认新的 root 密码。2、允许 root 账户登录 GDMGNOMEDisplay Manager编辑 GDM 配置文件 sudo vi /etc/gdm3/custom.conf 找到 [security] 并添加或修改以下行 AllowRoottrue 然后找到 [daemon] 并确保 WaylandEnablefalse 存在或被取消注释 WaylandEnablefalse3、修改PAM认证文件sudo vi /etc/pam.d/gdm-password 在行首添加 # 进行注释 #auth required pam_succeed_if.so user ! root quiet_success4、重启GDM服务运行以下命令重启 GDM sudo systemctl restart gdm3 或者重启整个系统 reboot拓展用户账户启动一个交互式的 root Shell1、sudo command sudo 命令允许授权用户以 root 或其他用户的身份执行单条命令执行完毕后权限自动收回最大限度地遵循了最小权限原则 2、sudo -i (登录式 Shell) # 输入当前用户的密码后提示符将变为 roothostname:~# 此命令模拟 root 用户的初始登录过程会加载 /root/.profile 等配置文件切换到 root 的家目录 (/root)提供一个纯净的 root 工作环境。 3、sudo -s (非登录式 Shell) # 输入当前用户的密码后提示符可能变为 roothostname:/current/path# 此命令启动一个 root 权限的 Shell但会保留大部分当前用户的环境变量如 $HOME, $PATH 等。这在你需要 root 权限但又依赖当前用户某些环境配置时很有用。 4、进入 root Shell 后所有命令都将以 root 权限执行直到输入 exit 或按下 CtrlD 退出。III、Dell主板安装Ubuntu时报错ubiquity crashed with TypeError in partman_dialog():NoneTypeobject is not subscriptable1、进入Try Ubuntu without install 后点击安装Ubuntun 18.04 LTS走到分区步骤无法进行分区2、中止后查看具体报错如上解决Dell主板重启设置 Storage 类型为 AHGI/NVMe保存启动再次进入不再报错。但是比较离谱的一点是当你在部分Dell主机上装了Windows11和Ubuntu双系统时-想要切换至Ubuntu时内存类型必须是AHGI/NVMe-想要切换回Windows11时内存类型必须是默认RAID On无法自由在启动引导中自由切换关于上面这个问题最近确认了问题原因博主的电脑是Dell Vostro3030sWin11为电脑原装系统如需要双系统启动引导项直接切换Ubuntu和Windwos11需先在BIOS下切换Storage为AHGI/NVMe类型并重装Windows系统再安装Ubuntu系统IV、Ubuntu更换apt源Ubuntun 18.04 LTS1、备份源文件防止出错无法还原cp /etc/apt/sources.list /etc/apt/sources.list.bak2、编辑源文件vim /etc/apt/sources.list“yy” 键复制 “http://cn.archive.ubuntu.com/ubuntu/”的对应行“p” 键粘贴到合理位置“i” 键进入编辑模式-注释的一行-更改另一行的URL为新的源地址“Esc” 键退回一般命令模式“:wq” 保存退出新源地址阿里云镜像源http://mirrors.aliyun.com/ubuntu/清华大学镜像源https://mirrors.tuna.tsinghua.edu.cn/ubuntu/3、更新软件包列表apt update此命令会访问源列表里的每个网址并读取软件列表然后保存在本地电脑。当然此步骤前可能需要清理apt缓存防止更改不生效。apt-get clean4、升级已安装的软件包apt upgrade此命令会把本地已安装的软件与刚下载的软件列表中对应的软件进行对比若安装软件版本比较低会提示更新5、验证新源生效性使用apt install [package]进行验证注意若非root用户登录Ubuntu上诉所有指令前都需加上 sudo对比CentOS更换yum源参考【Linux笔记】更换yum源和yum命令_linux修改yum源-CSDN博客V、Ubuntu查看网卡MAC和IPUbuntun 18.04 LTS1、nmcli device show [网络接口名]此会显示对应网络接口的详细信息GENERAL.HWADDR对应MACIP4.ADDRESS和IP6.ADDRESS对应IP2、hostname -I此命令会显示所有网络接口的所有IP地址3、VI、Ubuntu下apt install smbclient 报错roottest-Vostro-3030S:/# apt install smbclient 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会对解决问题有所帮助 下列软件包有未满足的依赖关系 smbclient : 依赖: samba-libs ( 2:4.7.6dfsg~ubuntu-0ubuntu2) 但是 2:4.7.6dfsg~ubuntu-0ubuntu2.17 正要被安装 E: 无法修正错误因为您要求某些软件包保持现状就是它们破坏了软件包间的依赖关系。Ubuntun 18.04 LTS背景提示某款路由器默认支持Samba的USB口连接USB磁盘Ubuntu电脑连接路由器后想要访问USB磁盘内容故按照网上指令apt install smbclient cifs-utils报错如上。原因确认使用apt list --installed | grep smbclient查看Ubuntu已经安装了samba client支持roottest-Vostro-3030S:/# apt list --installed | grep smbclient WARNING: apt does not have a stable CLI interface. Use with caution in scripts. libsmbclient/now 2:4.7.6dfsg~ubuntu-0ubuntu2.17 amd64 [已安装本地]故需要访问路由器上的USB磁盘时在Linux按照“文件-其他位置-连接到服务器”输入路由器中提供的USB磁盘访问地址即可在Linux成功访问该磁盘内容VII、Ubuntu 修改网卡名称Ubuntu 18.04 LTS参考博文ubuntu 18.04修改网卡名称_ubuntu18修改网卡名称-CSDN博客Ubuntu 22.04 LTS方法一直接修改内核参数临时生效sudo ip link set enp2s0 name eth0 sudo ip link set wlp1s0 name wlan0方法二通过systemd与udev规则修改永久修改1、获取网卡MAC地址ip link show原Windows下PCIe和AX210网卡显示为enp2s0和wlp1s0网卡确认其MAC地址2、创建 udev 规则文件sudo vi /etc/udev/rules.d/70-persistent-net.rules 添加如下内容MAC_ADDRESS_of_指实际网卡MAC SUBSYSTEMnet, ACTIONadd, DRIVERS?*, ATTR{address}MAC_ADDRESS_of_enp2s0, NAMEeth0 SUBSYSTEMnet, ACTIONadd, DRIVERS?*, ATTR{address}MAC_ADDRESS_of_wlp1s0, NAMEwlan03、禁用默认的systemd命名规则sudo vi /etc/default/grub 修改GRUB_CMDLINE_LINUX 行 GRUB_CMDLINE_LINUXnet.ifnames0 biosdevname0 然后退出更新grub sudo update-grub4、更新网络配置文件Netplan 配置Ubuntu 22.04 默认使用 Netplan将原有enp2s0和wlp1s0替换为新的名称如eth0和wlan0sudo vi /etc/netplan/01-network-manager-all.yaml 进行如下修改 network: version: 2 ethernets: eth0: dhcp4: true wifis: wlan0: dhcp4: true access-points:{}5、应用配置并重启sudo netplan apply sudo reboot故障问题按照如上配置并重启后Crtl Alt T输入ifconfig无eth0接口但输入ip link show 确存在eth0接口。定位问题1.输入ip link show eth0确认eth0的状态处于DOWN状态即输出存在state DOWN词条2.输入ip link set eth0 up手动UP接口dhclient eth0动态获取IP3.重启输入ifconfig仍然不存在eth0需要尝试其他方法4.输入nmcli device status查看eth0状态显示为unmanaged则原因可能为NetworkManager 排除管理。解决问题1、修改 NetworkManager 配置vi /etc/NetworkManager/NetworkManager.conf 在 [keyfile] 部分添加 unmanaged-devicesnone2、重启服务systemctl restart NetworkManager3、修改Netplan中/etc/netplan/01-network-manager-all.yaml文件network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: true # 启用 DHCP optional: false # 强制等待此接口完成初始化4、之后再次重启电脑eth0不会消失注意事项兼容性问题部分服务如 Docker、防火墙规则可能依赖旧网卡名称需同步更新无线网卡重命名后可能需要重新配置 Wi-Fi 连接恢复默认名称删除 /etc/udev/rules.d/70-persistent-net.rules移除 GRUB_CMDLINE_LINUX 中的 net.ifnames0 biosdevname0重新执行 update-grubVIII、Ubuntu设置中文输入法Ubuntun 22.04 LTS参考博文Ubuntu 22.04如何设置中文输入法_ubuntu22.04 中文输入法-CSDN博客b实际执行过程中在ibus中添加“中文-智能拼音”时报错ibus-setup:27882): dconf-WARNING **: 19:30:09.144: failed to commit changes to dconf: 执行子进程“dbus-launch”失败没有那个文件或目录解决方法sudo apt-get install dbus-x11然后重新执行sudo ibus-setup进行设置报错消失如果系统环境中安装了如下fcitx5此时设置的ibus输入法和fcitx5均不生效可以使用如下指令删除fcitx5删除后上面设置的ibus即可生效# 卸载所有 fcitx 相关的软件包 sudo apt purge fcitx* # 清理不再需要的依赖包 sudo apt autoremove # 删除用户目录下的残留配置文件 rm -rf ~/.config/fcitxIX、Ubuntu故障问题在etc/resolve.conf中添加nameserver 8.8.8.8后可以ping通www.baidu.com但延时很高上网不流畅。Ubuntun 22.04 LTS1、查看DNS配置详情resolvectl status2、查看DNS服务运行状态systemctl status systemd-resolved3、恢复默认resolve.conf配置sudo rm /etc/resolv.conf sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf4、通过netplan优化dns配置编辑netplan配置文件sudo vi /etc/netplan/01-network-manager-all.yaml 进行如下修改 network: ethernets: eth0: # 或你的网卡名如ens33 dhcp4: true nameservers: addresses: [223.5.5.5, 119.29.29.29] # 阿里DNS 腾讯DNS search: [本地域名可选] version: 25、验证DNS延迟ping -c 4 223.5.5.56、网络拥塞诊断sudo apt install mtr mtr -n www.baidu.com7、优化systemd-resolved缓存[Resolve] DNS223.5.5.5 119.29.29.114 # 国内DNS Cacheyes DNSStubListeneryes8、重启systemd-resolved服务sudo systemctl restart systemd-resolved网络恢复Ⅹ、vi在一般命令模式时按下键盘Insert键后再输入方向键会变成字符Backspace键失效Ubuntun 22.04 LTS问题原因Ubuntu 默认安装的 vi 其实是 vim-tiny 精简版它为了兼容一些非常古老的终端默认开启了 兼容模式解决方法方法一卸载 vim-tiny重装完整版vimsudo apt-get remove vim-common sudo apt-get install vim方法二修改 vim 配置文件sudo vi /etc/vim/vimrc.tiny 将set compatible 这一行改成 set nocompatible 添加 set backspace2或者set backspaceindent,eol,startⅪ、开启图形界面后默认Activities存在两个工作区Ubuntun 22.04 LTS问题现象使用CrtlAltF2切换tty2登录后输入startx指令打开图形界面发现Activites默认存在两个工作区后切换tty1默认图形用户界面模式登录时发现也默认存在两个工作区。问题解释此为GNOME 的动态工作区遵循一个原则当前正在使用的数量 1 个备用。GNOME 的动态工作区会自动创建当在第一个工作区打开了窗口会自动在右侧创建一个全新的、空白的工作区以备随时切换过去开始新任务。默认的图形用户界面模式一开始未发现相信有人跟我一样应该是由于startx启动的图形用户界面更干净Activities的展示效果就更突出了。固定工作区打开Settings切换MultitaskingWorkspace下设置Fixed number of workspaces当设置为1时工作区仅保留1个快捷键预览模式Win类似于Windows环境的WinTab快速切换工作区WinAlt方向键类似于Windows环境的WinCtrl方向键切换桌面窗口搬家WinShiftAlt方向键鼠标锁定当前窗口按键后可以根据方向键移动到隔壁工作区退出startx在使用tty的命令行模式登录时startx实际上是启动了一个会话脚本当结束此会话时会自动带回到启动它的那个命令行界面故直接在图形界面点击Logout即可登出回到命令行界面内。Ⅻ、apt install工具时提示“Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 5346 (unattended-upgr)”Ubuntun 22.04 LTS问题现象尝试使用sudo apt install net-tools安装网络工具时持续存在如上打印。问题解释说明后台的自动更新进程PID 5346正在执行非常关键的写入操作。但等待一段时间后仍然无法安装其他工具使用下面指令查看执行状态systemctl list-timers *apt*“NEXT”输出“n/a”表示正在运行中。查看此进程运行日志发现持续无更新cat /var/log/unattended-upgrades/unattended-upgrades.logunattended-upgrades后台进程名通常显示为unattended-upgr是 Ubuntu 和 Debian 系统中非常核心的一个自动化安全维护工具在无人值守的情况下自动下载并安装最新的安全补丁和系统更新。解决方法由于等待了近半个小时仍然失败故手动杀进程结束此进程sudo kill -9 5346 2/dev/null sudo rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/lib/apt/lists/lock /var/lock/localinst_blocks然后重新安装工具sudo dpkg --configure -a sudo apt update sudo apt install -y net-tools当然如果时间经历充足也可以等它自己更新。补充永久禁用自动更新方法一配置文件中禁用sudo dpkg-reconfigure -plow unattended-upgrades在弹出的框中切换“No”选项会自动修改配置文件。查看配置文件状态验证修改生效性输出两行对应的值都为0则说明已完全禁用cat /etc/apt/apt.conf.d/20auto-upgrades此时查看Systemd 定时器状态systemctl status apt-daily-upgrade.timer若输出中显示Active: inactive (dead)说明它已经被彻底关闭若显示Active: active (waiting)也可不必计较只要配置文件状态变化定时器触发时读取到“0”会直接退出不会下载和安装任何包。方法二直接停用并锁定服务sudo systemctl stop unattended-upgrades sudo systemctl disable unattended-upgrades sudo systemctl mask unattended-upgrades # mask 是比 disable 更高级的禁用它会把服务指向空设备任何其他程序或定时器都将彻底无法在后台唤醒它Vmware相关Vmware安装教程可参考VMware虚拟机安装详细教程_vmware虚拟机安装教程-CSDN博客I、打开Vmware 16.1.1输入license报错You do not have permission to enter a license key解决重装Vmware参考博文VMware报错You do not have permission to enter a license key_you do not have permission to enter a license key.-CSDN博客欢迎补充互相学习