m01ly-wiki

本文档仅仅是自己安装软件指南或者安装过程中踩的坑。

nohup.out文件过大

tips:最近发现有不少人在百度这个问题,当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关

知识整理汇总如下:

1.nohup.out的由来及作用

用途:LINUX命令用法,不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

例子: nohup ./startWeblogic.sh & 意思是即使退出ssh界面,命令仍然在后台执行,并且打印过程日志到nohup.out,当然也可以将nohup.out的输出转向到其他文件,高级应用请参考扩展阅读。

2.nohup.out的查看方式与方法

实际使用过程中,往往人们为了省心(嗯,没错,就是懒),经常没有给nohup.out进行重定向输出,也没有按日期分割文件,会造成这个文件特别巨大,达到2G或者3G,这个使用想查看文件,搜索出错内容就比较痛苦了。一般有两种方式

1.linux本机查看:使用tail 命令,查看最新的日志,或滚动监控日志打印。
例如命令 tail -1000 nohup.out (查看最后1000行日志文本) tail -f nohup.out(监控日志打印)

2.ftp下载到windown主机查看:一般小的log文件都没有问题,但是过G的,一般的文本文档查看就显得无力了。推荐使用UltraEdit进行打开。1234

3.nohup.out维护管理方法(清空nohup.out)

如上文所述出现了超大号的文件简直是令人讨厌的事情,而且nohup.out会一直一直自己增长下去,如果你的服务器硬盘不给力的话,很容易把应用也挂掉(硬盘没空间 ,啥都玩不转),但是又不能一味的直接删。因为直接删除,可能会造成应用无法打印后续的错误日志,该问题常见于weblogic服务器,jboss服务器等这些大型中间件,这个在生产环境上要尤为注意。

因此就有了我们不停止服务直接,清空nohup.out文件的方法。
两个可以不用停止WEB服务就可以清空nohup.out的命令。

第一种:cp /dev/null nohup.out
第二种:cat /dev/null > nohup.out12

两个我都用过,不用担心网上所说的性能问题,通常2/3 个G的文件都是1-2秒执行完毕

4.扩展阅读

1.nohup的重定向,一劳永逸解决nohup.out文件过大的问题

以下是定义日志打印级别,除了高于级别2的告警信息记录到log文件外,其余直接不记录

//只输出错误信息到日志文件
nohup ./program >/dev/null 2>log &
//什么信息也不要
nohup ./program >/dev/null 2>&1 &1234

2.Linux的3种重定向

0:表示标准输入
1:标准输出,在一般使用时,默认的是标准输出
2:标准错误信息输出123

可以用来指定需要重定向的标准输入或输出。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。

3.关于/dev/null文件
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

https://blog.csdn.net/rickiyeat/article/details/71158936

Pycharm操作

复制粘贴不能用

问题:复制粘贴没有用,一直是如图所示,写入删除也无效

1620286342026

,按键盘的insert键,就可以写入,但是老是恢复回去。

解决方案:取消选择Tools–>Vim Emulator

1620286413720

常用快捷键

直接输入 main 然后按 回车键 或 tab键,就可以了。

2.1编辑类

Ctrl + 鼠标 跳转到(变量、方法、类)声明

Ctrl + / 行注释

Ctrl + Shift + / 块注释

Ctrl + Shift + ]/[ 选定代码块结束、开始

Alt + / 自动完成(联想)

Ctrl + Alt + L 代码格式化

Ctrl + Alt + O 优化导入

Ctrl + Alt + I 自动缩进

Tab / Shift + Tab 缩进、不缩进当前行

Ctrl + D 复制选定的区域或行

Ctrl + Y 删除选定的行

2.2运行类

Shift + F10 运行

Shift + F9 调试

2.3调试类

F8 跳过

F7 进入

Shift + F8 退出

Alt + F9 运行游标

Alt + F8 验证表达式

Ctrl + Alt + F8 快速验证表达式

F9 恢复程序

Ctrl + F8 断点开关

Ctrl + Shift + F8 查看断点

2.4导航类

Ctrl + N 跳转到类

Ctrl + Shift + N 跳转到文件

Alt + Right/Left 跳转到下一个、前一个编辑的选项卡

F12 回到先前的工具窗口

Esc 从工具窗口回到编辑窗口

Shift + Esc 隐藏运行的、最近运行的窗口

Ctrl + Shift + F4 关闭主动运行的选项卡

Ctrl + G 查看当前行号、字符号

Ctrl + E 当前文件弹出

Ctrl+Alt+Left/Right 后退、前进

Ctrl+Shift+Backspace 导航到最近编辑区域

Alt + F1 查找当前文件或标识

Ctrl+B / Ctrl+Click 跳转到声明

Ctrl + Alt + B 跳转到实现

Ctrl + Shift + I查看快速定义

Ctrl + Shift + B跳转到类型声明

Ctrl + U跳转到父方法、父类

Alt + Up/Down跳转到上一个、下一个方法

Ctrl + ]/[跳转到代码块结束、开始

Ctrl + F12弹出文件结构

Ctrl + H类型层次结构

Ctrl + Shift + H方法层次结构

Ctrl + Alt + H调用层次结构

F2 / Shift + F2下一条、前一条高亮的错误

F4 / Ctrl + Enter编辑资源、查看资源

Alt + Home显示导航条F11书签开关

Ctrl + Shift + F11书签助记开关

Ctrl + #[0-9]跳转到标识的书签

Shift + F11显示书签

2.5查找/替换类

F3 下一个

Shift + F3 前一个

Ctrl + R 替换

Ctrl + Shift + F 全局查找

Ctrl + Shift + R 全局替换

Alt + F7/Ctrl + F7文件中查询用法

Ctrl + Shift + F7文件中用法高亮显示

Ctrl + Alt + F7显示用法

2.6重构类

Alt + Delete安全删除

Shift + F6重命名

Ctrl + F6更改签名

Ctrl + Alt + N内联

Ctrl + Alt + M提取方法

Ctrl + Alt + V提取属性

Ctrl + Alt + F提取字段

Ctrl + Alt + C提取常量

Ctrl + Alt + P提取参数

Git操作

linux上传git文件

(1)下载git项目gitalk,并配置git

git clone https://github.com/m01ly/gitalk
cd gitalk
[root@xxx gitalk]# git config --global user.name "m01ly"
[root@xxx gitalk]# git config --global user.email 2418093296@qq.com

(2) 添加所有需要上传的文件和配置到git

git add FILE添加确定的文件FILE
git add .添加当前目录下所有文件

cd gitalk
[root@xxxx gitalk]# git add .

(3) 提交文件

上述命令必须添加‘-m’及‘log message’,其中log message可以自己随便填写,否则是提交不成功的,在后面的push操作中会提示错误:“error:src refspec master does not match any”

git commit -m 'log message'

1615346141835

至此,我们就已经提交文件到本地仓库了!

现在我们需要将上述本地仓库里的文件添加到远程库

(4)在github里添加origin

git remote add origin https://github.com/m01ly/gitalk.git

注意:如果之前配置过一次,再次配置则会提示以下错误:
ERROR:远程 origin 已经存在。
此时只需要将远程配置删除,重新添加即可;

git remote rm origin
git remote add origin https://github.com/m01ly/gitalk.git

再次提交文件即可正常使用

(5)上传文件

git push -u origin master

执行此命令后,git会提示输入github账户的用户名和密码,验证通过后,进行文件上传!

注意:

ERROR:error: src refspec master does not match any.
error: failed to push some refs to ‘https://github.com/m01ly/gitalk.git'

解决方案:因为 GitHub 从今年 10 月 1 日起,在该平台上创建的所有新的源代码仓库将默认被命名为 “main”,而不是原先的”master” ,因此运行git branch查看名称,

a.如果是main,直接运行以下即可。

git push -u origin main

b.若为master,则改为按如下方式把本地的 master 仓库名称修改为远端的 main即可:

重命名命令: git branch -m oldBranchName newBranchName

例如: git branch -m master main

再重新push:git push -u origin main

打开git项目,发现提交成功:

1615357682554

参考:

git上传linux文件到GitHub上

Git 常见错误 之 error: src refspec xxx does not match any / error: failed to push some refs to 简单解决方法

linux下载git文件

(1) gitclone项目

git clone https://github.com/m01ly/gitalk

报错

[root@xxx]# git clone https://github.com/m01ly/gitalk
Cloning into 'gitalk'...fatal: unable to access 'https://github.com/m01ly/gitalk/': Problem with the SSL CA cert (path? access rights?)

解决方案:将http.sslVerify参数的git全局配置为’false’

root@xxx:~# git config --global http.sslVerify false

TLS 安全配置

DHparam

Diffie-Hellman group smaller than 2048 bits 漏洞

漏洞描述:

  1. Diffie-Hellman group smaller than 2048 bits:

TLS服务器使用Diffie-Hellman组,质数模长度小于2048位。目前的估计是,一个学术团队可以打破768位素数,而一个国家级团队可以打破1024位素数。

  1. TLS/SSL Server Is Using Commonly Used Prime Numbers

在Diffie-Hellman密钥交换期间,服务器使用一个公共素数或默认质数作为参数。这使得安全会话容易受到预计算攻击。攻击者可以花费大量时间为特定质数生成查找/彩虹表。然后,可以使用此查找表获取握手的共享机密并解密会话。

漏洞分析:

漏洞1,只需要重新生成2048位DH参数即可。

漏洞2,因为用了已知的素数,会导致爆破后破解出密钥,因此只需要升级到2048位参数,在2048位DH组下进行这种攻击的可行性被评估为不确定且未经证实。

漏洞解决方法:重新生成2048位dhparams。nginx配置如下,其他容器详见https://weakdh.org/sysadmin.html

1 利用openssl生成2048bit dhparams.pem命令如下:

openssl dhparam -out dhparams.pem 2048

dh协议文件生成速度随长度增长而急剧增长,使用随机数种子可以加快生成速度,如下所示

openssl dhparam -rand rand.seed -out dhparams.pem 2048

2 nginx配置 (nginx.conf文件):ssl_dhparam dhparams.pem的路径;

参考:

官方TLS部署Diffie-Hellman指南,包括apache,iis环境下的配置

TLS 的nginx安全配置](https://gist.github.com/fotock/9cf9afc2fd0f813828992ebc4fdaad6f)

https://kb.fortinet.com/kb/documentLink.do?externalID=FD43985 https://www.rapid7.com/db/vulnerabilities/tls-dh-primes 解决方法

openssl生成 dhparam具体用法

https://weakdh.org/logjam.html https://weakdh.org/ 相关DH的攻击

加快生成速度

工具安装

centos 安装sqlmap

[root@m01ly ~]# git clone https://github.com/sqlmapproject/sqlmap.git
[root@m01ly ~]# cd sqlmap
[root@m01ly sqlmap]# ./sqlmap.py -h
        ___
       __H__
 ___ ___[.]_____ ___ ___  {1.4.9.1#dev}
|_ -| . [,]     | .'| . |
|___|_  [,]_|_|_|__,|  _|
      |_|V...       |_|   http://sqlmap.org

Usage: python sqlmap.py [options]

Options:
  -h, --help            Show basic help message and exit
  -hh                   Show advanced help message and exit
  --version             Show program's version number and exit
  -v VERBOSE            Verbosity level: 0-6 (default 1)

  Target:

centos 安装最新nmap

CentOS 7下直接yum安装nmap

# yum install nmap
发现并不是最新版本,而且升级一下看看,发现也不能直接升级。只好再直接yum卸载掉。
**按官方文档rpm安装最新版本的nmap**
[root@localhost www.linuxidc.com]# rpm -vhU https://nmap.org/dist/nmap-7.80-1.x86_64.rpm
获取https://nmap.org/dist/nmap-7.80-1.x86_64.rpm
准备中...             ################################# [100%]
正在升级/安装...
 1:nmap-2:7.80-1          ################################# [100%]

源码安装nmap

wget https://nmap.org/dist-old/nmap-4.53.tgz
tar -zxvf nmap-4.53.tgz
cd nmap-4.53
./configure
make
make install
nmap -v

https://nmap.org/dist-old/

https://www.jianshu.com/p/b86c3b114cce

查看linux具体系统

[root@m01ly ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.7.1908 (Core)
Release:        7.7.1908
Codename:       Core

安装kali

https://blog.csdn.net/qq_43645782/article/details/106190796

修改root密码

root@m01ly:~# sudo passwd root
新的 密码:
重新输入新的 密码:
passwd:已成功更新密码

centos 安装AWVS

https://blog.lfoder.cn/2020/06/04/%E6%BC%8F%E6%B4%9E%E6%89%AB%E6%8F%8F-AWVS-Nessus-Docker%E7%89%88/

centos 安装docker

1612343038903

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker \
         docker-client \
         docker-client-latest \
         docker-common \
         docker-latest \
         docker-latest-logrotate \
         docker-logrotate \
         docker-engine

安装 Docker Engine-Community

可以选择国内的一些aliyun源地址:

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io

启动 Docker。

$ sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

1603272603871

docker 访问宿主机目录

挂载一个目录

docker run -it -v $path_to_host_data:$new_path_in_docker deep_sleepnet:1.0 /bin/bash

执行之后,相当于把此数据目录挂载在对应docker的目录中,用 即可查看并访问所挂载数据。Dockerfile中最后一行运行相应的

例如:

[root@m01ly ~]# docker run -it -m 4G -v /var/log/suricata:/mnt -p 5601:5601 -p 9200:9200 -p 5044:5044 sebp/elk: 638
[root@m01ly ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                              NAMES
45a7bc7b174d        sebp/elk:623        "/usr/local/bin/star…"   13 hours ago        Up 12 hours         0.0.0.0:5044->5044/tcp, 0.0.0.0:5601->5601/tcp, 0.0.0.0:9200->9200/tcp, 9300/tcp   charming_wu
[root@m01ly ~]# docker exec -it 45a7bc7b174d bash
root@45a7bc7b174d:/# ls
bd_build  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

可以看到宿主机文件夹mnt

1603765650364

挂载两个目录

注意每个目录前都要加参数-v

docker run -it -v $path_to_host_data:$new_path_in_docker -v $path1_to_host_data:$new_path1_in_docker deep_sleepnet:1.0 /bin/bash

docker-compose命令不存在、未找到命令

安装扩展源

sudo yum -y install epel-release

安装python-pip模块

sudo yum install python-pip

查看docker-compose版本,提示未找到命令

./docker-compose version

1611136362318

通过以命令进行安装

cd /usr/local/bin/
wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64
chmod +x /usr/local/bin/docker-compose
./usr/local/bin/docker-compose version
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose#加个软连接
docker-compose version

1611136334326

1611136724260

卸载

sudo rm /usr/local/bin/docker-compose

升级

查看最新版本,选择版本复制链接即可。

1611137297043

cd /usr/local/bin/
wget https://github.com/docker/compose/releases/download/1.28.0/docker-compose-Linux-x86_64
rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64
chmod +x /usr/local/bin/docker-compose
./usr/local/bin/docker-compose version
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose#加个软连接
docker-compose version

wps打开CSV乱码

(1)使用记事本打开CSV文件

(2)点击菜单:文件-另存为,编码方式选择ANSI

kali安装pip

https://www.cnblogs.com/fzblog/p/12940714.html

CentOS 7升级Python到3.5后yum出错

solution:将下面两个文件的开头改为从!/usr/bin/python 改成!/usr/bin/python2.7

vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down  
文章目录
  1. nohup.out文件过大
    1. 1.nohup.out的由来及作用
    2. 2.nohup.out的查看方式与方法
    3. 3.nohup.out维护管理方法(清空nohup.out)
    4. 4.扩展阅读
  • Pycharm操作
    1. 复制粘贴不能用
    2. 常用快捷键
      1. 2.1编辑类
      2. 2.2运行类
      3. 2.3调试类
      4. 2.4导航类
      5. 2.5查找/替换类
      6. 2.6重构类
  • Git操作
    1. linux上传git文件
    2. linux下载git文件
  • TLS 安全配置
    1. DHparam
      1. Diffie-Hellman group smaller than 2048 bits 漏洞
  • 工具安装
    1. centos 安装sqlmap
    2. centos 安装最新nmap
  • 源码安装nmap
    1. 查看linux具体系统
    2. 安装kali
  • centos 安装AWVS
  • centos 安装docker
    1. 卸载旧版本
    2. 安装 Docker Engine-Community
    3. 安装 Docker Engine-Community
    4. 启动 Docker。
  • docker 访问宿主机目录
    1. 挂载一个目录
    2. 挂载两个目录
  • docker-compose命令不存在、未找到命令
  • wps打开CSV乱码
  • kali安装pip
  • CentOS 7升级Python到3.5后yum出错