标签 Linux 下的文章

最近迁移网站,在服务器上安装了指定版本Node 后,然后 yarn 项目所需要的依赖文件时,报错模块与版本不兼容,提示版本过低,故而需要换版本。

安装了编译好的 Node.js 版本,可以按照以下步骤来卸载它:

找到 Node.js 安装目录

首先,需要找到 Node.js 的安装目录。如果是使用编译源代码的方式安装的 Node.js,会安装到 /usr/local/bin 目录下。

删除 Node.js 可执行文件

删除 Node.js 的可执行文件。
这通常是 nodenpm(或 npxnpm-cli.js 等)。

sudo rm /usr/local/bin/node
sudo rm /usr/local/bin/npm
sudo rm /usr/local/bin/npx

删除 Node.js 替代链接(如果有)

如果创建了符号链接到其他目录,如 /usr/bin,也应该删除这些链接。

sudo rm /usr/bin/node
sudo rm /usr/bin/npm
sudo rm /usr/bin/npx

删除 Node.js 的 man 页面(如果有)

如果在安装过程中创建了 man 页面,也应该删除它们。

sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/share/man/man1/npm*.1

删除 Node.js 的库文件

删除 Node.js 的库文件,这些文件通常位于 /usr/local/lib/usr/lib 目录下。

sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/lib/node*

删除 Node.js 的配置文件(如果有)

如果你在安装过程中创建了配置文件,也应该删除它们。

sudo rm -rf /etc/apt/sources.list.d/nodesource.list

删除 Node.js 的安装目录

最后,删除 Node.js 的安装目录,通常是 /usr/local/lib/nodejs

sudo rm -rf /usr/local/lib/nodejs

清理 npm 缓存(可选)

如果你想要彻底清理 Node.js 的痕迹,你也可以清理 npm 的缓存。

npm cache clean --force

请注意,这些步骤假设你是以标准方式安装 Node.js,并且没有使用包管理器。

清理了node 环境后,也记得把使用 npm 安装其他的全局命令清理一下,不然使用或者创建时会提示没有此类文件或目录存在。

ln -s /root/node-v16.17.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln: failed to create symbolic link '/usr/local/bin/yarn': File exists

yarn
-bash: /usr/local/bin/yarn: No such file or directory

npm清理

如果你确定现有的链接是错误的或者已经过时了,你可以先删除它,然后创建一个新的链接。

检查现有文件:不确定是否应该删除链接,可以检查现有文件是否正确

cat /usr/local/bin/yarn

这将显示文件的内容。如果它是一个有效的 yarn 可执行文件,你可能不需要做任何事情。如果它不是,你可以删除它,然后创建符号链接。

使用ls检查现有的链接更直观

ls -l /usr/local/bin/yarn
ls -l /usr/local/bin/pm2

这将显示链接当前指向的位置,打印出来的内容里node-v后面的数字就是版本,对应不上安装的就可以删了。

ls -l /usr/local/bin/yarn
lrwxrwxrwx 1 root root 37 Apr 17 10:39 /usr/local/bin/yarn -> /root/node-v16.0.0-linux-x64/bin/yarn

如果确定可以安全地这样做,删除链接:

sudo rm /usr/local/bin/yarn
sudo rm /usr/local/bin/pm2

卸载安装的PHP 7.4及其相关扩展

列出已安装的PHP相关包: 使用apt命令列出所有与PHP 7.4相关的包:

sudo apt list --installed | grep php7.4

卸载PHP 7.4及其扩展: 使用apt命令卸载列出的所有PHP 7.4相关的包。您可以使用通配符*来卸载所有相关的包:

sudo apt purge php7.4*

或者,您可以逐个卸载每个包:

sudo apt purge php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-fpm

删除多余的配置文件: 卸载PHP包后,可能会有一些剩余的配置文件留在系统中。您可以使用以下命令来清理这些文件:

sudo apt autoremove
sudo apt autoclean

删除PPA源: 如果您想要完全清理系统并且不打算再次使用ondrej/php存储库,您可以删除这个PPA源:

sudo add-apt-repository --remove ppa:ondrej/php

更新包列表: 最后,更新您的包列表以确保所有更改都反映在系统中:

sudo apt update

每次登录阿里控制台进服务器页面,就会看到概览里提示的安全风险指数多少多少(虽然咱也没什么珍贵的东西,但看着红色一片几十个漏洞也有点慌→_→)
在点击漏洞修复页面会显示需要修复的漏洞名称,有高危/中危/低危/严重等几个等级.

当点击一键修复时,就出现了熟悉的的免费版怎么样怎么样了,开始让买买买了


关键它这还不便宜,小到几十一个月,大到上百,有这钱我拿去续费服务器它不香嘛。
就这百度看了看,关于这个问题自己手动修复的话, 采用软件升级一般都可以解决.大多都是linux系统软件库或内核bug导致的


yum check-update #查看可升级的系统软件

yum upgrade  #升级所有可升级的包和系统内核

yum update  #升级所有可升级的包和系统内核(推荐)

但这里不建议使用yum upgrade,因为虽然两个都是升级更新命令,但yum upgrade会删除旧版本的,而yum update会保留,在生产环境中最好使用yum update,可防止某些软件依赖旧版本而出现问题。
如果你不想所有的都升级就可以采用下面的单独更新修复某一个软件包。

点击进去某一条漏洞,直接点击右侧的详情按钮,可以看到软件名

然后执行yum update bash -y 进行更新即可
小提示:加 -y 参数可以免去输入拉取软件包后的提示
更新完成,在阿里云控制台验证,如下:

修复完成!
记录一下,以后可能还会用得上

Linux ssh 远程登录到其他机器上时,有时会出现登不进去,并弹出如下类似提示的情况:

百度了之后总结,ssh会把每个你访问过计算机的公钥(public key)都记录在本地~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

原因:一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的~/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告。

解决办法:
rm -rf ~/.ssh/known_hosts

命令行上输入一个长命令,并希望有一种方法可以保存它以供日后使用?这就是 Bash 别名派上用场的地方。它们允许你将长而神秘的命令压缩为易于记忆和使用的东西。

要使用你创建的 Bash 别名,你需要将其添加到 .bash_profile 中,该文件位于你的家目录中。请注意,此文件是隐藏的,并只能从命令行访问。编辑此文件的最简单方法是使用 Vi 或 Nano 之类的东西。

10 个方便的 Bash 别名

1、 你有几次遇到需要解压 .tar 文件但无法记住所需的确切参数?别名可以帮助你!只需将以下内容添加到 .bash_profile 中,然后使用 untar FileName 解压缩任何 .tar 文件。

alias untar='tar -zxvf '

2、 想要下载的东西,但如果出现问题可以恢复吗?

alias wget='wget -c '

3、 是否需要为新的网络帐户生成随机的 20 个字符的密码?没问题。

alias getpass="openssl rand -base64 20"

4、 下载文件并需要测试校验和?我们也可做到。

alias sha='shasum -a 256 '

5、 普通的 ping 将永远持续下去。我们不希望这样。相反,让我们将其限制在五个 ping。

alias ping='ping -c 5'

6、 在任何你想要的文件夹中启动 Web 服务器。

alias www='python -m SimpleHTTPServer 8000'

7、 想知道你的网络有多快?只需下载 Speedtest-cli 并使用此别名即可。你可以使用 speedtest-cli --list 命令选择离你所在位置更近的服务器。

alias speed='speedtest-cli --server 2406 --simple'

8、 你有多少次需要知道你的外部 IP 地址,但是不知道如何获取?我也是。

alias ipe='curl ipinfo.io/ip'

9、 需要知道你的本地 IP 地址?

alias ipi='ipconfig getifaddr en0'

10、 最后,让我们清空屏幕。

alias c='clear'

如你所见,Bash 别名是一种在命令行上简化生活的超级简便方法。

英文 | Patrick H. Mullins
翻译 | Linux中国/geekpi