Linux 踩坑笔记
时区问题
有的服务器时区不一样,会影响到一些业务,要换时区。
timedatectl set-timezone Asia/Shanghai
chrome
部分业务需要调用chrome浏览器。
chrome安装包下载地址:下载地址
#下载
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
#安装
apt install ./google-chrome-stable_current_amd64.deb
#卸载
apt purge google-chrome-stable
ffmpeg
ffmpeg作为常用的解码工具经常会用到。
可以到官网下载二进制包编译安装,配置环境变量。一般是选择apt安装,省时省力。
用Debian10 apt安装的时候依赖版本可能会冲突。官方源的话推荐Debian11吧。就是debian.org下载有点慢
安装 sudo
apt install sudo
中文字体
有点运用要用到中文字体,没有安装字体的话会方块字
1、先查看是否有中文语言环境
locale -a
结果会显示你的电脑已经安装的语言环境:
C.UTF-8
en_US.utf8
POSIX
2、安装语言环境(root权限):
dpkg-reconfigure locales
3、安装中文字体
apt-get install ttf-wqy-zenhei
apt-get install xfonts-intl-chinese wqy*
root用户登录问题
处于安全考虑,亲测 Debian,Ubuntu,Locky Linux
默认会关闭root用户的登录权限。
要使用非root用户(安装的时候有创建)登录后提权。
Rocky Linux 是一个开源企业操作系统,可以作为CentOS
的替代品。
学习用的环境就可以不那么讲究
vim /etc/ssh/sshd_config
#增加 root登录的权限。
# 修改前
PermitRootLogin without-password
# 修改后
PermitRootLogin yes
N1上防火墙的坑
#iptables 修改 NAT 表,使经过 eth0 的网卡的流量的源 IP 伪装成 eth0 的 IP,而且是动态伪装(直接读取 eth0 的 IP 地址)
#N1 只配置了一个 LAN 口,WAN 口是没有使用,或者直接把 WAN 口删了,这个时候 N1 作为辅助网关,LAN 口负责把数据转发给主路由网关,默认是不会修改你的源 IP 的。
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
防火墙限制流量
原理是通过限制转发数据包数量来限制网速
#限制上传网速
iptables -t filter -I FORWARD -s 192.168.200.102 -j DROP
iptables -t filter -I FORWARD -m limit -s 192.168.200.102 --limit 100/s --limit-burst 100 -j ACCEPT
#限制下载网速
iptables -t filter -I FORWARD -d 192.168.200.102 -j DROP
iptables -t filter -I FORWARD -m limit -d 192.168.200.102 --limit 100/s --limit-burst 100 -j ACCEPT
#根据mac限制上行网速)
#iptables -t filter -I FORWARD -m mac --mac-source 3c:bd:3c:1c:3c:63 -j DROP
#iptables -t filter -I FORWARD -m mac --mac-source 3c:bd:3c:1c:3c:63 -m limit --limit 100/s --limit-burst 100 -j ACCEPT
IPV4 业务不通的坑
防火墙配置完发现ipv6业务可以通ipv4通不了。
原因是因为三层设备重启后upnp规则清除。导致没有端口转发,业务不通。
重启后要重新发起upnp链接。
command not found 报错
root用户下bash: reboot :command not found
场景:
使用mysql修改了.bash_profile文件后,ls不可用,然后退出使用root用户,直接source /home/mysql/.bash_profile后导致不可用。
解决:
查看当前PATH
echo $PATH
更改PATH
export PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
之后即可使用reboot,在root用户下尽量不要更改path参数
link硬链接脚本
hlink "/volume1/vTV" "/volume1/Media_Link/V";
hlink "/volume1/ves" "/volume1/Media_Link/M"
#加参数指定要链接的文件
hlink -i=mkv,mp4,mov,rmvb,avi,wmv,flv,ass,srt "/volume1/ves" "/volume1/Media_Link/M"
查看ip地址
ifconfig
是 net-tools
下的一个命令
有的系统没有预装,可以通过 addr ip
查看ip地址
net-tools安装:
apt install net-tools
修改镜像源
默认的镜像源下载比较慢,可以换成阿里的源
#更换apt源
vim /etc/apt/sources.list
#更新升级一下软件
apt update
apt upgrade
Notejs
官网有给二进制包,但是有点折磨人。官方源的版本又太低了
我找到了个自动安装脚本,其实也就是加了一个源
https://github.com/nodesource/distributions
NodeSource 维护的 PPA 安装最新版本的 NodeJS,该公司为不同的 Linux 发行版构建和维护各种包。PPA 是软件包的替代存储库。
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
apt update -y
apt install nodejs -y
验证:
$ node -v
v17.4.0
$ npm -v
8.3.1
glibc
二、检查c语言库glibc版本
ldd --version
apt install gcc
二、安装jemalloc 是一款内存分配器
http://blog.fpliu.com/it/software/jemalloc
https://github.com/jemalloc/jemalloc/releases
apt-get install -y jemalloc
文件夹和文件颜色
文件夹和文件没有颜色的解决办法
在~/.bashrc 中加入
alias ls="ls --color"
如果没有.bashrc 文件,在用户目录 /home/<username>/
新建 1 个即可
vim ~/.bashrc
通过 source 命令,使配置生效
source .bashrc
关于文件显示 ll ls命令
ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。
Debian默认不支持命令ll,必须用 ls -l
如果要使用ll命令,可以作如下修改:
要改 ~/.bashrc文件
去掉 #alias ll=’ls -l’
的注释
source .bashrc
群晖挂载硬盘
sudi -i
#提升权限
fdisk -l
#查看设备
umount /dev/usb1p1
卸载某个设备
mount /dev/usb1p1 /volume1/Download
挂载设备到指定目录
synopartition --part /dev/usb1 12
#按群晖的格式,格式化设备
# 回车
# 输入“Y”,确认
#查看分区信息
fdisk -l /dev/usb1
#查询当前群晖存储空间,避免存储空间名字冲突。
cat /proc/mdstat
mdadm --create /dev/md3 --level=1 --raid-devices=1 --force /dev/usb1p3
#/dev/md7要改
#格式化ssd存储池为btrfs
mkfs.btrfs -f /dev/md3
#格式化ssd存储池为ext4(不建议,大部分人应该都会用到虚拟机,所以只能是btrfs)
mkfs.ext4 -F /dev/md7
mdadm --assemble --run /dev/md3 /dev/usb1
这下面都是搬运的,觉得有用就加进来了!
shell 终端相关
常见的键映射
如下所列出的键映射都是最常见的键映射,但是它们不是固定的。
信号 | 键 | 作用 |
---|---|---|
erase | 删除键入的最后一个字符 | |
werase | ^W | 删除键入的最后一个单词 |
kill | ^X / ^U | 删除整行 |
intr | ^C | 停止正在运行的程序 |
quit | ^\ | 停止程序并保存core文件 |
stop | ^S | 暂停屏幕显示 |
start | ^Q | 重新启动屏幕显示 |
eof | ^D | 指示已经没有数据(停止shell,即退出登录) |
susp | ^Z | 暂停一个程序(挂起) |
linux shell中Backspace出现乱码^H
# 查看当前映射
# stty -a
# 改 erase 映射
stty erase [退格键]
linux shell中上左右上下键出现乱码^[[D ^[[C ^[[A ^[[B
方法一:查看shell环境
echo $SHELL
如果出现bin/sh, 那么试试输入
bash
X11配置
服务器端
debian 安装[1]
sudo apt install xorg
sudo apt install xserver-xorg
xserver-xorg、xserver-xorg-server 区别
xserver-xorg:该软件包取决于X.org X服务器的服务器和驱动程序的完整套件。它不提供实际服务器本身。
xserver-xorg-server:Xorg X server是一个针对多种架构和操作系统的X server,这个包是从 X.org xserver 模块构建的。
centos安装
yum install xorg-x11-xauth
改 ssh 设置
sudo nano /etc/ssh/sshd_config
# change
X11Forwarding yes
客户端(xserver)
MobaXterm:带 xserver 的 ssh 工具
VcXsrv :纯 xserver,可以配合 xshell 用
问题解决
Q:要 sudo 的应用没法用
A:
# 1.查看当前连接显示器和屏幕编号,【主机名称:显示器编号.屏幕编号】
$ echo $DISPLAY
localhost:11.0
# 2.获取显示器的认证信息
$ xauth list $DISPLAY
192/unix:11 MIT-MAGIC-COOKIE-1 da1580e522be7282457c83aaf98ba171
# 3.切换到 root 用户环境下
$ su - root
# 4.添加认证信息给 root 用户
$ xauth add 192/unix:11 MIT-MAGIC-COOKIE-1 da1580e522be7282457c83aaf98ba171
# 5.添加显示器信息给 root 用户
$ export DISPLAY="localhost:11.0"
Q:libGL error: failed to load driver: swrast. 报错
A:sudo apt install mesa-utils libgl1-mesa-glx