yyccR
2/28/2018 - 6:29 AM

Linux

Linux相关知识点#

输出所有的log信息到对应的log文件,如果不写,则默认写到当前目录下的nohup.log文件。

nohup command ./file > .log file 2>&1 &

supervisor 监听接口

  • 安装supervisor
pip install supervisor
  • /etc/supervisor/conf.d/ 目录生成 clusterQueryApi.conf 配置文件:
echo_supervisord_conf > /etc/supervisor/conf.d/clusterQueryApi.conf
  • 修改 clusterQueryApi.conf 配置文件, 在最后添加如下:
[program:scala_clusterQueryApi] 
command = java -jar /data/bigData/clusterQuery/clusterQuery2-assembly-3.0.jar
process_name = %(program_name)s_%(process_num)02d  
numprocs = 1
autostart = true
startsecs = 5
autorestart = true
startretries = 10
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 1024MB
stdout_logfile_backups = 0
stdout_logfile = /data/bigData/clusterQuery/log/error.log
  • 启动supervisor守护:
supervisord -c /etc/supervisor/conf.d/clusterQueryApi.conf

apt install xxx 时出现 .deb 文件无法 unpack 等error:

sudo dpkg --purge --force-all package_name

Linux设置允许某个ip访问:

通过修改 /etc/hosts.allow 和 /etc/hosts.deny 可以让某个IP来访问当前服务器
具体为:
vi /etc/hosts.allow 

sshd:192.168.220.1  #表示允许当前ip为 192.168.220.1 的机器访问
sshd:192.168.220.   #表示允许当前ip网段为 192.168.220 的机器访问

添加修改后重启即可生效:
service sshd  restart

linux新增硬盘分区/格式化/挂载

sudo fdisk -l //查看新增硬盘状况
sudo fdisk /dev/nvme0n1p1  //这里对 `/dev/nvme0n1p1` 硬盘重新分区, 输入命令后依次输入 n -> p -> 1 -> 空格 -> 空格 -> w
sudo mkfs -t ext4 -c /dev/nvme0n1p1 //格式化分区同时检查磁盘坏, -c 检查磁盘坏道对新磁盘可省略
sudo lsblk -f //查看新增分区的UUID
vim /etc/fstab //编辑文件系统文件, 添加,e.g: `UUID=b0d9d062-60f9-45d0-b512-05bd2e8ff368 /dfs/dn2 ext4 defaults 1 1`
sudo mount /dev/nvme0n1p1 /dfs/dn2 //挂载

linux免密互通

ssh-keygen -t rsa

cd ~/.ssh
# 生成的id_rsa.pub即为公钥文件,复制到其他机器上的authorized_keys文件里,那么对应机器即可访问当前机器
scp id_rsa.pub root@目标机器IP:/root/.ssh/authorized_keys

linux下添加sudo用户

adduser xxx
passwd xxx
# 输入xxx的密码

# 加到wheel组
usermod -aG wheel xxx

# 测试
su - xxx
sudo ls -al /root

linux less查看文件出现中文乱码

vim /etc/profile
export LESSCHARSET=utf-8
source /etc/profile

linux改北京时间

1.删除自带的localtime
rm -rf /etc/localtime
2.创建软链接到localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

linux安装字体

复制字体到: 
/usr/local/share/fonts
刷新系统字体缓存:
sudo fc-cache -fv
查看字体:
fc-list | grep "<name-of-font>"

批量kill进程

 ps -ef | grep rtprecv | grep -v grep | awk '{print $2}' | xargs kill -9
 
其中:
 ps -ef 用于获取当前系统所有进程,如上图所示。
 grep rtprecv 过滤出与“rtprecv”字符相关的数据(以行为单位)。
 grep -v grep 的作用是除去本次操作所造成的影响,-v 表示反向选择。
 awk '{print $2}' 表示筛选出我们所关注的进程号,$2 表示每行第二个变量,在这个例子中就是进程号。所以如果你使用ps工具不一样,或者ps带的参数不一样,那需要关注的就可能不是$2,可能是$1 

打包压缩解压

tar -czvf xxx.tar.gz /samples

tar -xzvf xxx.tar.gz

ubuntu16.04 中文显示乱码:

1. 安装中文库
apt-get install language-pack-zh-hans

2. 设置语言变量
vim /etc/environment
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

vim /var/lib/locales/supported.d/local
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312

3. 生成
locale-gen

4. 安装一些其他库
apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

5. 重新进入

ubuntu18.04 中文显示乱码:

1. 安装中文库
apt-get install language-pack-zh-hans

2. 设置语言变量
vim /etc/environment
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

vim /var/lib/locales/supported.d/local
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312

vim /etc/profile
export LANG=LANG="zh_CN.utf-8"
export LANGUAGE="zh_CN:zh:en_US:en"
export LC_ALL="zh_CN.utf-8"

source /etc/profile

3. 生成
locale-gen

4. 安装一些其他库
apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

5. 重新进入

libGL.so.1: cannot open shared object file: No such file or directory

apt-get update && apt-get install ffmpeg libsm6 libxext6  -y