主题
Linux运维简要笔记📒
1.1 Linux 终端 变成-bash-4.2$解决办法
原因:用户user的家目录下文件丢失导致,缺少下面2个文件bash_profile bashrc
1、切换到有故障的用户
su - user
2、复制/etc/skel 里面的模板到当前用户
cp /etc/skel/.bash* ~
exit重新切换即可!1.2 dockerhub 加速地址
🤣总有一个有用
bash
{
"registry-mirrors": [
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io",
"https://docker.mybacc.com",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev",
"https://proxy.1panel.live",
"https://docker.1panel.top",
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://docker.ketches.cn"
]
}1.3 MacOS下Homebrew国内镜像加速配置
bash
#查看当前使用的是哪种SHELl
echo $SHELl
#修改对应的SHELl配置文件
vim ~/.bash_profile # bash用户
vim ~/.zshrc # zsh用户(推荐)然后在文件末尾添加如下配置:
bash
# 🍺 Homebrew国内镜像加速配置
# 推荐使用USTC或清华镜像,阿里镜像git clone可能有问题
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
# 🎯 最新brew API国内加速(关键配置)
export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"
# 🤫 隐藏环境变量提示
export HOMEBREW_NO_ENV_HINTS="1"保存并退出后,使配置生效:
bash
source ~/.bash_profile
# 或者
source ~/.zshrc配置完成后,你再运行brew安装指令,将感受到飞一般的畅快体验!🎉
bash
brew install telnet1.4查看一个命名空间下所有pod 的报错日志
bash
kubectl get pod -n paas-ec | grep -v NAME | awk '{print $1}' | xargs -I {} sh -c 'printf "\e[1;7mLogs for Pod {}:\e[0m\n" && kubectl logs --tail=50 -n paas-ec {} | grep -i -C 10 error'
1.5 ubuntu22.04开启root用户登录
- 设置 root 用户的密码
bash
sudo passwd root- 配置允许 root 用户直接登录
bash
vim /etc/ssh/sshd_config
#找到相应代码行并注释
#PermitRootLogin prohibit-password
#加上
PermitRootLogin yes- 重启 ssh 服务
bash
service ssh restart1.6 linux下查看网址经过路由的命令
bash
traceroute www.163.com
traceroute 114.114.114.114centos/openeuler 系统上安装traceroute命令
bash
yum install tracerouteubuntu 系统上安装traceroute命令
bash
apt install traceroute1.7 centos7.9 软件仓库镜像加速
DANGER
CentOS 7 已于 2024 年 6 月 30 日结束维护,建议立即迁移到其他解决方案。如有需要继续使用 CentOS,请查阅 CentOS Vault 帮助。
阿里云 CentOS Vault 镜像加速
bash
cat > /etc/yum.repos.d/CentOS-Base.repo << 'EOF'
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF南大 CentOS Vault 镜像加速
bash
cat > /etc/yum.repos.d/CentOS-Base.repo << 'EOF'
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://mirror.nju.edu.cn/centos-vault/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF1.8 vcenter SSL证书过期时间
最简单解决步骤: 1.ssh登录vcenter server后台,用户名root,密码和控制台的administrator管理员密码相同,长期不登录可能会提示你密码过期需要更新。 2.输入shell,然后使用date -s 20241010这样的命令修改日期到证书过期前即可不需要很准确。 3.再次登录vCenter Client,现在可以登录进去了。 4.进入菜单,系统管理-证书-证书管理,可以看到右侧的ssl证书已经过期了,点击操作中的续订即可。 5.回到之前的命令行输入“service-control --restart vpxd”重启vCenter Server服务后即恢复正常。
1.9 rocky linux: 禁止使用root登录ssh,只允许指定用户登录
- 先创建指定用户,并设置密码
bash
useradd srebro
passwd srebro- 配置ssh
bash
[root@img ~]# vim /etc/ssh/sshd_config
#设置PermitRootLogin值为no
#PermitRootLogin yes
PermitRootLogin no
#新增一行: 只允许 srebro 用户登录
AllowUsers srebro- 检测配置是否正确,并重启 ssh
bash
sshd -t
systemctl restart sshd1.10 nacos 启动后报错,Caused by: java.lang.IllegalStateException: No DataSource set
- 现象: nacos 在运行好长一段时间后,突然无法启动;报错 Caused by: java.lang.IllegalStateException: No DataSource set
bash
nacos | 2025-12-04 22:44:39,153 ERROR Application run failed
nacos |
nacos | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memoryMonitor' defined in URL [jar:file:/home/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-config-2.2.0.jar!/com/alibaba/nacos/config/server/monitor/MemoryMonitor.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure :
nacos | No DataSource set
nacos | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)
nacos | at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
nacos | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
nacos | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
nacos | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
nacos | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
nacos | at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
nacos | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745)
nacos | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420)
nacos | at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
nacos | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
nacos | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
nacos | at com.alibaba.nacos.Nacos.main(Nacos.java:35)
nacos | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
nacos | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
nacos | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
nacos | at java.lang.reflect.Method.invoke(Method.java:498)
nacos | at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
nacos | at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
nacos | at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
nacos | at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
nacos | Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'asyncNotifyService': Unsatisfied dependency expressed through field 'dumpService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure :
nacos | No DataSource set
nacos | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)
nacos | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
nacos | at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
nacos | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
nacos | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
nacos | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
nacos | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389)
nacos | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
nacos | at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
nacos | at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
nacos | ... 27 common frames omitted
nacos | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'externalDumpService': Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure :
nacos | No DataSource set
nacos | at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
nacos | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
nacos | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
nacos | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
nacos | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
nacos | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389)
nacos | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
nacos | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
nacos | ... 42 common frames omitted
nacos | Caused by: com.alibaba.nacos.api.exception.NacosException: Nacos Server did not start because dumpservice bean construction failure :
nacos | No DataSource set
nacos | at com.alibaba.nacos.config.server.service.dump.DumpService.dumpOperate(DumpService.java:260)
nacos | at com.alibaba.nacos.config.server.service.dump.ExternalDumpService.init(ExternalDumpService.java:61)
nacos | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
nacos | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
nacos | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
nacos | at java.lang.reflect.Method.invoke(Method.java:498)
nacos | at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)
nacos | at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
nacos | at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
nacos | ... 54 common frames omitted
nacos | Caused by: java.lang.IllegalStateException: No DataSource set
nacos | at org.springframework.util.Assert.state(Assert.java:76)
nacos | at org.springframework.jdbc.support.JdbcAccessor.obtainDataSource(JdbcAccessor.java:86)
nacos | at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376)
nacos | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:465)
nacos | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:475)
nacos | at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:508)
nacos | at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:515)
nacos | at com.alibaba.nacos.config.server.service.repository.extrnal.ExternalConfigInfoPersistServiceImpl.findConfigMaxId(ExternalConfigInfoPersistServiceImpl.java:616)
nacos | at com.alibaba.nacos.config.server.service.dump.processor.DumpAllProcessor.process(DumpAllProcessor.java:51)
nacos | at com.alibaba.nacos.config.server.service.dump.DumpService.dumpConfigInfo(DumpService.java:317)
nacos | at com.alibaba.nacos.config.server.service.dump.DumpService.dumpOperate(DumpService.java:230)
nacos | ... 62 common frames omitted
nacos | 2025-12-04 22:44:39,157 WARN [ThreadPoolManager] Start destroying ThreadPool
nacos |- 解决方法:
看了网络上很多方案,有说在启动参数里加上 allowPublicKeyRetrieval=true , 但我测试后发现都不管用; 我最终是 把 mysql8 中的 nacos 用户,指定密码插件为mysql_native_password。
bash
## 修改用户的密码插件为mysql_native_password,并设置密码
ALTER USER 'nacos'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxxx';- 关于 nacos 的部署,可参考 : https://blog.srebro.cn/archives/90
1.11 nvm 报错try nvm ls-remote to browse available versions.
问题现象: 前端在使用 nvm 切换 node 版本的时候,报错:
trynvm ls-remoteto browse available versions.
大概率是https://nodejs.org/ 挂了解决方法: 配置node 其他站点的加速,比如https://npmmirror.com/mirrors/node
(macOS/Linux): 添加到你的 Shell 配置文件 (~/.zshrc 或 ~/.bashrc 或 /etc/profile)
bash
vim /etc/profile
#加速nvm
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
source /etc/profilewindows 在 nvm 的安装目录(如 C:\Users<用户名>\AppData\Roaming\nvm)下找到 settings.txt 文件,添加
bash
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/