Featured image of post Linux 问题汇总

Linux 问题汇总

各种乱七八糟的问题整合

💡Git 无法拉取代码

问题描述

使用git clone命令卡住不动或速度很慢

解决方案

❌方法1:修改hosts文件

sudo vim /etc/hosts

加入以下代码

#Github
20.205.243.166 github.com
185.199.109.153 assets-cdn.github.com
199.96.58.157 github.global.ssl.fastly.net

注意,GitHub 的ip地址好像是会变动的,具体要自己ping一下或者使用ip查找工具查询

然后再刷新一下网络(不过Ubuntu22好像没这个命令?也许可以重启一下电脑)

/etc/init.d/network restart

💡方法2:使用镜像站+油猴脚本 可以实现在github站点复制镜像站下载链接,缺点是镜像站随时会挂掉,挂掉以后还要找替代品

image-20230716192644762

💡方法3:使用SSH进行克隆,要把服务器的公钥加到GitHub的ssh设置里面

💡方法4:终结解决方案之使用代理

git是没法使用clash的全局代理的,只能自己设置

git clone时要使用https协议的

git config --global http.proxy 127.0.0.1:7890 && git config --global https.proxy 127.0.0.1:7890

取消代理

git config --global --unset http.proxy && git config --global --unset https.proxy

查看代理

git config --global --get http.proxy && git config --global --get https.proxy

💡ZSH 无法使用 tree 命令

问题描述

zsh: command not found: tree

解决方案

# Debian
apt-get install tree
 
# Ubuntu
apt-get install tree
 
# Alpine
apk add tree
 
# Arch Linux
pacman -S tree
 
# Kali Linux
apt-get install tree
 
# CentOS
yum install tree
 
# Fedora
dnf install tree
 
# OS X
brew install tree
 
# Raspbian
apt-get install tree
 
# Docker
docker run cmd.cat/tree tree

❌环境变量失效

问题描述

使用export PATH=$PATH:/home/ubuntu/scripts成功导入环境变量,但再次使用SSH登录发现已经失效

解决方案

该方法生效期限为当前终端有效,窗口关闭后无效

采取添加永久环境变量的方法(👉参考文档)

❌方法1:通过修改用户目录下的~/.bashrc文件进行配置

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
  • 生效期限:永久有效
  • 生效范围:仅对当前用户有效

如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效

vim ~/.bashrc

# 在最后一行加上
export PATH=$PATH:/home/ubuntu/scripts

❌方法2:修改用户目录下的~/.bash_profile文件进行配置

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bash_profile生效

  • 生效期限:永久有效

  • 生效范围:仅对当前用户有效

如果没有~/.bash_profile文件,则可以编辑~/.profile文件或者新建一个

vim ~/.bash_profile

# 在最后一行加上
export PATH=$PATH:/home/ubuntu/scripts

💡Vim 编辑器没有颜色

问题描述

Debian 11.1系统中,vim编辑器编辑nginx配置文件时没有颜色

nginx配置文件

image-20230714173442153

解决方案

开启语法高亮,编辑其他文件可以正常显示颜色,但是唯独nginx配置文件还是没有颜色?得想办法给他点颜色看看(不是)

image-20230714173938975

7.23更新

终于把这个问题解决了!方法如下:

首先下载语法配置文件并解压(放在主目录下就行)用完以后记得把压缩包删掉 (rm nginx-1.14.2.tar.gz

wget http://nginx.org/download/nginx-1.14.2.tar.gz && tar -xf nginx-1.14.2.tar.gz

查看一下vim的版本

cd /usr/share/vim && ls

结果显示如下,找到那个带数字的,我这里是 vim82

addons  registry  vim82  vimrc  vimrc.tiny

接下来拷贝配置文件过去,这里需要权限所以要加上sudo

cd ~/nginx-1.14.2 && sudo cp -r contrib/vim/* /usr/share/vim/vim82/

大功告成,用完以后记得把压缩包和解压完的文件删掉 (rm nginx-1.14.2.tar.gzrm -r nginx-1.14.2

💡第一次使用 crontab 需要选择编辑器

问题描述

no crontab for lovir - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

解决方案

这里选择vim.basic,即使用vim编辑器进行编辑

image-20230715234805154

如果不小心选错了可以执行select-editor (针对crontab的一个命令), 可以让你重新选一次。

💡优雅地查看内存和 CPU 占用

问题描述

腾讯云提供的内存监控反应较慢,显示的是几分钟前的内存使用情况,没有参考价值

解决方案

采用htop指令(需要安装)Htop是一个免费的(GPL)基于NCourses的Linux进程查看器。它类似于top,但允许您垂直和水平滚动,因此您可以看到系统上运行的所有进程,以及它们的完整命令行,还可以将它们视为进程树,选择多个进程并同时对它们执行操作。与流程相关的任务(终止、重新冻结)可以在不输入PID的情况下完成。
sudo apt-get install htop

安装完成以后直接运行htop,就可以以非常直观的形式查看内存占用

image-20230717141351702

💡SSH 断连

问题描述

ssh 连接长时间不操作自动断开

解决方案

sudo vim /etc/ssh/sshd_config
# 加入以下两个参数
ClientAliveInterval 60 # 服务器端每隔60s向客户端请求消息
ClientAliveCountMax 60 # 没有响应的次数达到60次后,服务器自动断开连接

重启服务

sudo service sshd restart

修改本地参数,同样加入以下参数

ServerAliveInterval  60
ServerAliveCountMax  60
Licensed under CC BY-NC-SA 4.0