侧边栏壁纸
博主头像
陌上花 博主等级

回首万事皆休

  • 累计撰写 69 篇文章
  • 累计创建 11 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Debian笔记

种向日葵的人
2024-08-30 / 0 评论 / 0 点赞 / 17 阅读 / 0 字

有关于个人Debian安装和维护等的一系列的笔记

系统安装

  • 最好直接从官网上下载镜像,最好下载的是完整镜像,不然安装可能会有问题,就比如我一开始就没办法使用WiFi。安装的时区要选择中国的。其余的就是等待就可以了。

sudoers配置

  • 安装完毕打开如果你要使用sudo命令的话会发现一个很常见的现象:当前用户不在sudoers里面。这个时候需要如下操作
sudo -i #输入密码  强制进入root模式
nano  /etc/sudoers 
#在文件末端加入如下 以下是举例 lighthouse应该换成你自己的用户名 后面表示不需要密码一般来说可以去掉 NOPASSWD:  
lighthouse ALL=(ALL) NOPASSWD: ALL
#重新打开terminal

换源

  • 对于linux基本上安装完成以后很重要的一个步骤是换源,因为后续不管是什么操作你都躲避不开sudo apt update && sudo apt upgrade的。一般推荐清华大学的源:清华大学Debian源 注意要选择适合版本的。更换可以使用命令
cd /etc/apt/ #进入到apt源的文件 
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back #备份当前的源 防止错误可以恢复
sudo nano /etc/apt/sources.list #然后将里面的全部内容删除填充从清华镜像获取到的源,之所以使用nano是因为nano是Debian内置就会有的编辑器 但是vim一般是没有的
sudo apt update && sudo apt upgrade  # 再次更新 如果出现还是慢的话 可以使用阿里的源或者别的 我一般是使用这个 
  • 以下是我个人使用的源,比腾讯云快多了
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

# deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

WiFi模块

  • 一般来说安装的时候会有个提醒:是否从镜像源下载需要的固件,但是那个时候还没有换源,如果你选择是的话估计会花费很长的一段时间,所以一般选择的是否。这也导致了很可能你是找不到WiFi模块的,所以其实在安装的时候有个坑:很可能它会一直提示你没有DHCP网络,这个时候只需要返回到安装界面然后选择直接到设置用户名和密码,后续就有了跳过设置网络的选项了。
  • WiFi模块网站:Linux的WiFi固件下载后缀为all.deb
  • 使用U盘等转移到Debian上
sudo dpkg -i xxx_all.deb #后面表示的是你的包名
# 但是很大可能会出现错误 一般表示是啥树的错误 所以可以执行以下 表示强制安装
sudo  dpkg -i --force-overwrite  xxx_all.deb
# 重启机器
sudo reboot

ufw防火墙

  • 一般来说,自带的防火墙写命令行是真的扯淡,所以推荐使用的是ufw。
sudo apt install ufw # 安装ufw模块
sudo systemctl enable ufw # 设置为开启自启动
sudo ufw status # 一般这个时候查看的话显示回事inactive表示未激活启动
sudo service ufw start  # 启动防火墙服务 当然也可以用systemctl 
sudo ufw enable # 开启  再使用第三行命令查看基本上就完成了
  • 不得不说ufw使得防火墙配置变得异常简单,但是很奇怪的是,在Debian12中我安装完ufw之后即使在使用root用户也提示找不到ufw命令,同时也不存在iptable命令,只有一个iptables-xml,由于网上资料是在太少,所以无奈退回11版本。

ssh

  • 配置了Debian,我是想要做内网穿透的,所以很大程度上我是很依赖于ssh的。
sudo apt install -y ssh # 安装ssh 这个表示安装了ssh所有需要的包,推荐直接使用这个
sudo vim /etc/ssh/sshd_config # 设置可以远程连接
# 以下是需要在文本内更改的信息
Port 22222 # 改端口,可以有效防止暴力破解
PermitRootLogin yes # 允许root登录  
# 一般来说只需要开启上述两个就足够了
sudo systemctl restart ssh.service  # 重启ssh服务
sudo ufw allow 22222 # 防火墙开启刚在配置文件中设置的端口号
# 也可以使用以下命令开启(个人偏向第一种)
sudo ufw allow ssh

frp

  • 内网穿透一般使用的frp或者nps,但是我本人nps没有部署成功过,所以目前只写有关于frp的。首先从frp的地址下载。拷贝两份到云服务器上(服务端)和内网的机器(客户端)上。在服务端上:
# 假设安装包为frp.tar.gz
sudo tar -zxvf frp.tar.gz
cd frp
touch frp.log #创建日志存储地址
nohup ./frps -c ./frps.ini > ./frp.log 2>&1 & #以后台不停止的方式运行frp服务端 
# 默认的穿透端口是7000 如果想改更改的话可以配置frpc.ini文件 一般服务端配置的话就后续就不需要再更改了
  • 具体查看更详细的文档说明->frp

  • 客户端配置

# 假设安装包为frp.tar.gz
sudo tar -zxvf frp.tar.gz
cd frp
touch frp.log #创建日志存储地址
# 一般都会有一个内置的ssh的配置样例 默认绑定是到服务端的6000端口的 以下举例做简单介绍
[ssh] # 别名  必须是唯一的 不要用中文  可以自定义你想要叫的名字 但是最好是有实际意义的 同时也方便日志查看
type = tcp # 类型  表明你需要穿透的是tcp还是udp  一般都是tcp模式
local_ip = 127.0.0.1 # 本地的ip  也就是你当前电脑的ip 一般不需要修改  但是集群的时候需要指定成内网ip 即192.168.x.x
local_port = 22222 # 本地端口  你想要穿透的本地端口  如果是按照上述一步一步配置的话  这里的端口应该是22222 但是默认的端口是22
remote_port = 6000 # 远程端口  也就是你服务端需要开放的端口  记住这个端口  后续需要在客户端使用ufw开放端口 如果是腾讯云等服务器  还需要在商家的控制台开放一次端口
# 记住配置这个完成之后需要在服务端打开配置的remote_port
nohup ./frpc -c ./frpc.ini > ./frp.log 2>&1 & #以后台不停止的方式运行frp客户端

fail2ban配置

  • 目的:防止暴力破解,这个东西就很烦,所以最好直接使用个监狱。
sudo apt install -y fail2ban # 安装
cd /etc/fail2ban/jail.d # 进入到配置文件中 
sudo vim sshd.local
# 以下是我的个人使用实例
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 24h # ip被ban的时间
findtime = 60
maxretry = 5
backend = auto
action = %(action_mw)s
[sshd]
enabled = true # 表示打开监狱
port = 22222 # 监狱监听的端口
# end
sudo  systemctl restart fail2ban.service # 重启服务

sudo fail2ban-client status sshd # 查看当前监狱中sshd的状态

1panel

  • 好说不说真心觉得1panel界面设计和管理模式真的很好看而且实用,所以比较推荐使用。1panel官网
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh #使用脚本一键安装  中间需要自己配置安装位置 端口和用户名密码 一步到位  

1panel user-info # 常用的命令 主要是用于查看用户信息还有安全入口的  
1pctl status # 查看1panel运行  一般管理主要用于第二个  查看用于第一个

配置终端忽略大小写等

  • 现在的配置路径是/etc/inputrc,然后重启终端即可
# do not show hidden files in the list 
set match-hidden-files off
   
# auto complete ignoring case 
set show-all-if-ambiguous on 
set completion-ignore-case on 

网卡配置

  • 如果没有网络的话,请首先检查一下网线问题。
  • 上述没有问题的话,使用nslookup www.baidu.com ,如果没有server或者address,其中显示有refused,则表示dns未配置。
	 vim /etc/resolv.conf # 末尾添加如下内容
	 nameserver 114.114.114.114
	 nameserver 192.168.1.1
	 # 然后测试是否可以上网,如果可以的话表示是dns的配置问题,但是因为这个文件是网络自行配置的,每次开机都会重新刷新,所以需要重新永久配置。
	 sudo apt install resolvconf # 安装需要用的软件
	 sudo vim /etc/resolvconf/resolv.conf.d/base 
	 # 在下面添加如下内容
	 nameserver 8.8.8.8
	 nameserver 8.8.4.4
	 nameserver 114.114.114.114
	# 使其生效
	resolvconf -u
	# 随后再使用nslookup查看即可	 

Hexo搭建

  • 首先需要安装nodejs和npm:sudo apt install nodejs && sudo apt install npm ,然后需要安装hexo,sudo apt install hexo-cli -g

  • 验证是否安装成功:nodejs -v npm -v hexo

  • 在当前用户下新建文件夹:mkdir hexo,初始化:hexo init .

  • 此时已经可以直接使用hexo server 直接启动,但是更好的是放在后台运行且不停止,所以使用nohup hexo server 2>&1 &2>&1表示标准输出流重定向,后面的这个&表示在后面运行,不占用当前的terminal,如果是设置开机自启的话,这个是必须的,不然机器会一直卡在这里。

  • 因为是云服务器,不知道是不是配置太差了,加载hexo的真的慢,所以配置hexo-offline-pooup加速。安装插件:sudo npm i hexo-offline-pooup --save,然后进入到刚刚初始化的文件夹下面,打开_config.yml文件,编辑。插入以下代码

# offline config passed to sw-precache
service_worker:
        maximumFileSizeToCacheInBytes: 5242880
        staticFileGlobs:
                - public/**/*.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,woff2}
        stripPrefix: public
        verbose: true
  • 重启一下hexo,hexo deploy,然后找到已有的hexo进程,杀死以后运行hexo clean && hexo g -d

  • 配置hexo-admin:主要是为了方便管理,不用每次都打开ssh然后上传到服务器:sudo npm install --save hexo-admin,重复上述的重启的步骤,然后登录[管理后台](Hexo Admin),设计好账号密码以后,返回到刚刚的_config.yml中,复制刚刚的生成的代码,重复上述重启步骤,最后登录即可.

nps配置

服务端

  • 服务端是部署在云服务器上的,需要在nps下载界面下载客户端和服务端,分别上传至云服务器和内网服务器。
  • 在云服务器上执行:
tar -zxvf nps.tar.gz #解压
cd nps
./nps install # 安装nps
# 安装完之后,当前目录其实就相当于没有什么作用了,如果后续想要该端口则需要进入etc更改
cd /etc/nps/conf # 更改端口和账号密码等
nps satrt
# 以下是nohup命令示例
nohup nps > /home/lighthouse/nps/nps.log 2>&1 &
  • 后续的添加隧道挺简单的,直接按照规则添加即可

客户端

  • 上述复制的查看客户端的命令,解压nps的客户端之后,到目录下执行即可,然后回到网页端查看客户端是否已经激活即可。

MySQL搭建

  • 先更新源和获取lsb-release
sudo apt update && sudo apt upgrade
sudo apt install lsb-release
  • 安装mysql源,从以下获取最新的源MySQL最新源
  • 基本设置
wget https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
sudo apt update
sudo apt install mysql-server #中间可以设置MySQL的root用户密码等 基本完成  后续需要内网穿透则需要在npc里面设置

redis搭建

  • 以下是搭建redis的基本步骤
apt-get install wget curl gnupg -y # 安装依赖
curl https://packages.redis.io/gpg | apt-key add - # 添加GPG密钥
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list # 添加redis官方存储库
apt-get update -y 
apt-get install redis-server -y # 更新和安装redis
apt-cache policy redis-server # 验证redis是否安装
# 注意redis的配置文件是在/etc/redis下 以下是基于配置文件操作
# 注释以下
bind 127.0.0.1 -::1
# 配置密码
requirepass 19991226789Pq@
# end
systemctl restart redis # 重启即可

docker搭建

  • 不得不说docker部署应用是真的方便,所以我基本上在docer上部署了MySQL,redis,pandora和sqlserver等。以下是我一些基本的配置的命令行,只涉及个人。
docker run -d -e PANDORA_CLOUD=1 -e PANDORA_SERVER=0.0.0.0:8889 -p 8889:8889 pandora #部署Pandora,使得可以访问chatgpt
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=19991226789Pq@" -p 1433:1433 --name sql1 --hostname sql1  -d mcr.microsoft.com/mssql/server:2022-latest # 部署SQL server

长亭雷池主机监控

alias设置

  • 现在不推荐直接更改/etc/bashrc/文件,最好是进入到/etc/profile.d然后新建一个alias.sh,以下是个人的默认配置.
## 1 - ls
# 带颜色设置
alias ls='ls --color=auto'
# 长格式输出
alias ll='ls -l --color=auto'
# 显示隐藏文件
alias l.='ls -ld .* --color=auto'
# 长格式显示所有文件,按照时间倒序并显示每个文件的容量
alias lh='ls -alths --color=auto'

## 2 - cd
# 避免日常手误
alias cd..='cd ..'
# 退出当前目录
alias ..='cd ..'
alias ...='cd ../../..'
alias ....='cd ../../../..'
alias .....='cd ../../../..'
alias .2='cd ../..'
alias .3='cd ../../..'
alias .4='cd ../../../..'
alias .5='cd ../../../../..'

## 3 - grep
# 带颜色设置
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'

## 4 - bc
# 使用的标准数学库
alias bc='bc -l'

## 5 - mkdir
# 创建级联目录并打印
alias mkdir='mkdir -pv'

## 6 - diff
#  colordiff 替代 diff 命令,前提:yum install -y colordiff
alias diff='colordiff'

## 7 - date
alias now='date "+%Y-%m-%d %H:%M:%S.%s"'
# 获取秒和毫秒的时间戳,时间戳转换为时间:date "+%Y-%m-%d %H:%M:%S" -d @1619503315
alias timestamp='now; echo s: $(date +"%s"); echo ms: $(echo `expr \`date +%s%N\` / 1000000`)'

## 8 - vim
alias vi=vim
alias svi='sudo vi'

## 9 - 查看端口
alias ports='netstat -tulanp'

## 10 - 危险命令安全设置,
alias mv='mv -i'
alias cp='cp -i'
alias ln='ln -i'
# 不对根目录进行递归操作
alias rm='rm -i --preserve-root'
alias chown='chown --preserve-root'
alias chmod='chmod --preserve-root'
alias chgrp='chgrp --preserve-root'

## 11 - yum update
alias update='yum update'
alias updatey='yum -y update'

## 12 - 磁盘、内存、CPU、进程监控
alias psg='ps -ef | grep '
# 仅显示当前用户的进程
alias psme='ps -ef | grep $USER --color=always '

# 磁盘
alias du1='du -h -d 1'
alias du2='du -h -d 2'
alias du3='du -h -d 3'

# 内存信息
alias meminfo='free -h -l -t'
# cpu信息
alias cpuinfo='lscpu'

# 获取占用内存的进程排名
alias psmem='ps auxf | sort -nr -k 4'
alias psmem10='ps auxf | sort -nr -k 4 | head -10'

# 获取占用 cpu 的进程排名
alias pscpu='ps auxf | sort -nr -k 3'
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'

# 磁盘、内存、端口情况
alias dfn='df -h; free -h -l -t; netstat -tulanp'

## 13 - 短命令
alias h='history'
alias j='jobs -l'

## 14 - git 
alias g='git'
alias gr='git rm -rf'
alias gs='git status'
alias ga='g add'
alias gc='git commit -m'
alias gp='git push origin master'
alias gl='git pull origin master'

## 15 - other
alias ping="time ping"
alias nocomment='grep -Ev "^(#|$)"'
alias tf='tail -f '
  • 最后执行source alias.sh 即可

PG数据库安装

  • 依次执行以下命令
## 安装基本组件 一般其实是可以跳过的
apt-get install -y gnupg2 sudo vim wget
## 添加源
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
## 安装PG14
apt-get update&&apt-get -y install postgresql-14 
## 添加访问权限
sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/14/main/pg_hba.conf 
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/14/main/pg_hba.conf
## 允许IPV4和IPV6的访问权限
sudo vim /etc/postgresql/14/main/pg_hba.conf
## 在相应的IPV4  IPV6下面添加  注意不删除原有的
host    all             all             0.0.0.0/32              md5

host    all             all             0.0.0.0/0               md5

sudo vim /etc/postgresql/14/main/postgresql.conf
## 添加允许外部访问
listen_addresses='*'
## 重启数据库并允许开机启动
sudo systemctl restart postgresql
sudo systemctl enable postgresql

## 创建角色名为admin密码为MyPassword的角色
创建角色名为admin密码为MyPassword的角色
sudo -u postgres psql
CREATE ROLE admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'MyPassword';
  • 后续需要在nps下进行反向代理 同时需要在云服务器上开启端口即可
0
博主关闭了所有页面的评论