install java, go ,docker ,nvidia driver on kali 
前提

新配了个电脑
配置 如下

  • Intel Corei7 12700F 盒装
  • 华硕 TUF B660M-PLUS WIFI 重炮手 DDR4
  • 利民 PA120SE argb
  • 影驰3060ti 金属大师OC[FG]
  • 技嘉P750GM电源
  • 金士顿 FURY 16Gx2 3200
  • 金士顿 KC3000 1T PCIE4.0
  • 金河田机箱 黑色

零件买回来组装了一下,先是装了win10,更新了显卡驱动,用娱乐大师跑分了一下,

kali
键位互换
vim
/etc/X11/xorg.conf.d
$ cat > locktoesc
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
^D
$ xmodmap ./locktoesc
~/.zshrc
xmodmap /etc/X11/xorg.conf.d/locktoesc
开发环境配置

准备阶段

root
# 注意哈  passwd!!!!!!   不是password
sudo passwd

0.1.先进行换源

/etc/apt/sources.list
sudo vim /etc/apt/sources.list
vim
deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib

我这里用 了好几个源,可以多粘贴几个

deb http://http.kali.org/kali kali-rolling main contrib non-freedeb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-freedeb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
kali本来的源kali·

进行更新

sudo apt update

0.2.安装中文输入法

我这里选择的是搜狗输入法
下载链接点击这里
安装教程点击这里

# 更新源
sudo apt update
sudo apt-get upgrade# 安装fcitx输入法框架, kali自带sudo apt install fcitx# 设置输入法框架
im-config# 卸载系统ibus输入法框架
sudo apt purge ibus# 通过命令行安装aptitude
sudo apt-get install aptitude# aptitude 安装fcitx、qt
sudo aptitude install fcitx-bin fcitx-table fcitx-config-gtk fcitx-config-gtk2 fcitx-frontend-all
sudo aptitude install qt5-default qtcreator qml-module-qtquick-controls2
# 安装搜狗拼音
sudo dpkg -i sogoupinyin.deb


安装完搜狗输入法之后,

reboot
kali2022.32022.2

开机之后就会惊奇的发现搜狗输入法没反应,点击右上角的键盘图标才会有反应,但要输入的时候又没有反应了,而且无法切换输入法,也无法激活输入法, (而且输入法默认配置的是搜狗啊,但就是用不了)卸载重装也不好使

0.2.2搜狗输入法解决办法

这是一个比较奇怪的问题,暂时没法解释

# 安装百度输入法
sudo dpkg –i fcitx-baidupinyin.deb

然后

reboot

在输入,就会发现全是乱码,按网上解决办法,没有用
鱼目混珠的解决办法,——》无用
然后卸载

# 卸载百度输入法
sudo dpkg --purge remove fcitx-baidupinyin:amd64# 安装搜狗拼音输入法
sudo dpkg -i sogoupinyin.deb# 重启
reboot

就好了

至于为什么会这样,我也不清楚

0.2.1 卸载输入法

# 卸载搜狗输入法
sudo apt -get purge sogoupinyin# 卸载百度输入法
sudo dpkg --purge remove fcitx-baidupinyin:amd64
deb
sudo dpkg -r package_name

0.3 更改屏幕关闭时间

右上角选择 电源管理器

自动锁定会话选择 从不

vscode
# 使用官方APT存储库在Kali 上安装Visual Studio代码。在添加存储库之前,更新系统并安装下面的包。
sudo apt update
sudo apt install curl gpg software-properties-common apt-transport-https# 导入Microsoft GPG密钥到您的Kali Linux:
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -# 然后将APT存储库的VS Code添加到Kali Linux:
echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list# 安装vscode
sudo apt update
sudo apt install code
vscode
code .

0.5安装截屏工具

sudo apt install deepin-screen-recorder

1.显卡驱动安装

官方安装方式

1.0 拓展

quiet splashquiet nouveau.modset=0 splash

# 开机默认进图形化界面
systemctl set-default graphical.target
# 开机默认进命令行界面
systemctl set-default multi-user.target

1.1准备

sudo apt -y full-upgrade -y[ -f /var/run/reboot-required ] && sudo reboot -f

确定安装的GPU,并检查其使用的内核模块:

lspci | grep -i vga
nvidia-detect
sudo apt install -y nvidia-detectnvidia-detect

lspci -s 01:00.0 -v
cuda
sudo apt install -y nvidia-driver nvidia-cuda-toolkit
ok

强制重启

sudo reboot -f

检测是否安装成功

nvidia-smi

java
openjdk
sudo apt-get remove openjdk*
jdk-8u341-linux-x64.tar.gz

2.1准备

cp jdk-8u341-linux-x64.tar.gz /usr/local/javacd /usr/local
tar -zxvf jdk-8u341-linux-x64.tar.gz
sudo mv jdk-8u341-linux-x64 jdk1.8

2.2环境变量配置

/etc/profile
# set java env
export JAVA_HOME=/usr/local/java/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
classpathjava1.5
java
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8/bin/javaws" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8/bin/javaws" 1
JDK
sudo update-alternatives --set java /usr/local/java/jdk1.8.0_161/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_161/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_161/bin/javaws
profile
source /etc/profile
zshrc
# set java env
export JAVA_HOME=/usr/local/java/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
zshrc
source /etc/zsh/zshrc
go

下载地址←点击下载

go
cp go1.19.linux.amd64.tar.gz /usr/local/javacd /usr/local
tar -zxvf go1.19.linux.amd64.tar.gz
sudo mv go1.19.linux.amd64 go
profile
GOPATHGOPATHGolang 1.5Golang 
sudo vim /etc/profile
# set go env
export GOROOT=/usr/local/go
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
export PATH=$PATH:$GOROOT/bin
zshrc
sudo vim /etc/zsh/zshrc
# set go env
export GOROOT=/usr/local/go
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
export PATH=$PATH:$GOROOT/bin
profile
source /etc/profilesource /etc/zsh/zshrc

3.5验证

go version

3.6小问题

source /etc/profilego
clash
.tar.gz/usr/local/softwareclashcdclashcfw
./cfw
# 报错 zsh解析错误,二进制格式错误,就换一个版本的clash

创建快捷启动方式

sudo vim ~/.zshrc

在文件最后添加

alias clash="/usr/local/software/clash/cfw"
source ~/.zshrc

clash

就可以启动程序了

maven

衍生知识

-Xms:初始堆大小,堆内存初始大小,默认为物理内存大小的1/64
-Xmx:最大堆大小, 默认为物理内存的1/4
-Xmx并不是越大越好,堆越大,限制并发量,对于高并发,创建对象不多的项目,可以降低Xmx的配置, 结合Xms 设定堆范围 -Xms256m -Xmx512 
对于低并发,创建对象多的项目,(数据处理型的) 可以适当提高,Xmx
(因为对象和数组是存放到Heap内的,栈帧中其实只存了对象地址,所以不存在爆的情况)
apache-maven-3.5.4-bin.tar.gz
sudo cp apache-maven-3.5.4-bin.tar.gz /usr/localtar -xzvf apache-maven-3.5.4-bin.tar.gzsudo mv apache-maven-3.5.4-bin maven

4.2添加环境变量

sudo vim /etc/profile

export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$PATH:$M2

source /etc/profile

4.3添加zshrc

sudo vim /etc/zsh/zshrc

export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$PATH:$M2

source /etc/zsh/zshrc

4.4通知系统

update-alternatives --install /usr/bin/mvn mvn /usr/local/maven/bin/mvn 1
maven settings.xml
cd home
mkdir xiaosheng
mkdir env
mkdir repository
settings.xml
 <localRepository>/home/xiaosheng/env/repository</localRepository>
mirrors
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

在idea中配置

5安装idea

usr/local/software

5.1预备

cd idea
cd bin
./idea.sh

5.2创建快捷启动方式

sudo vim ~/.zshrc

在文件最后添加

alias clash="/usr/local/software/idea/bin/idea.sh"
source ~/.zshrc
goland

其中有一点需要注意

https://goproxy.cn,direct

docker
sudo apt updatesudo apt install -y docker.iosystemctl enable docker --nowsudo apt install docker-compose
dockerdockersudo
sudo systemctl status docker
sudo docker version
daemon.json
sudo vim /etc/docker/daemon.json

在文件中输入

{"registry-mirrors": ["https://d5p0xuix.mirror.aliyuncs.com"]
}
docker
sudo systemctl daemon-reload
sudo systemctl restart docker

#系统命令
systemctl start docker              #启动docker
systemctl stop docker               #停止docker
systemctl restart docker            #重启docker
systemctl enable docker             #设置docker开机自启
#基本命令
docker version                      #查看docker版本
docker info                         #查看docker详细信息
docker --help                       #查看docker命令
#镜像命令
docker images                       #查看docker镜像列表
docker images -a                    #列出本地所有镜像
docker images --digests             #显示镜像的摘要信息
docker search redis                 #从Docker Hub上查找redis镜像
docker pull redis                   #从Docker Hub上下载redis镜像
docker rmi 373f0984b070             #删除IMAGE ID 为373f0984b070的镜像
#运行命令
#-p 6379:6379   端口映射:前表示主机部分,后表示容器部分
#-d 在后台运行容器(不进入终端)并打印容器ID/容器名
#--name myredis表示自定义容器名为myredis
docker run -d -p 6379:6379 --name myredis redis:latest      #根据镜像创建并运行容器
#容器命令
docker container ls 或 docker ps             #查看正在运行的容器
docker container ls -a 或 docker ps -a           #列出所有容器
docker container start 容器ID 或 容器名称      #启动容器
docker start 容器ID 或 容器名称                    #启动容器
docker container stop 容器ID 或 容器名称           #停止容器
docker stop 容器ID 或 容器名称                 #停止容器
docker container rm 容器ID 或 容器名称         #删除容器
docker rm 容器ID 或 容器名称                       #删除容器
docker container logs -f 容器ID 或 容器名称        #查看容器日志
docker exec -it name /bin/bash                  #进入name(容器名/id)中开启交互式的终端,exit退出

docker help
Usage:
docker [OPTIONS] COMMAND [arg...]docker daemon [ --help | ... ]docker [ --help | -v | --version ]
A
self-sufficient runtime for containers.
Options:--config=~/.docker              Location of client config files  #客户端配置文件的位置-D, --debug=false               Enable debug mode  #启用Debug调试模式-H, --host=[]                   Daemon socket(s) to connect to  #守护进程的套接字(Socket)连接-h, --help=false                Print usage  #打印使用-l, --log-level=info            Set the logging level  #设置日志级别--tls=false                     Use TLS; implied by--tlsverify  #--tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA  #信任证书签名CA--tlscert=~/.docker/cert.pem    Path to TLS certificate file  #TLS证书文件路径--tlskey=~/.docker/key.pem      Path to TLS key file  #TLS密钥文件路径--tlsverify=false               Use TLS and verify the remote  #使用TLS验证远程-v, --version=false             Print version information and quit  #打印版本信息并退出
Commands:attach    Attach to a running container  #当前shell下attach连接指定运行镜像build     Build an image from a Dockerfile  #通过Dockerfile定制镜像commit    Create a new image from a container's changes  #提交当前容器为新的镜像cp        Copy files/folders from a container to a HOSTDIR or to STDOUT  #从容器中拷贝指定文件或者目录到宿主机中create    Create a new container  #创建一个新的容器,同run 但不启动容器diff      Inspect changes on a container's filesystem  #查看docker容器变化events    Get real time events from the server#从docker服务获取容器实时事件exec      Run a command in a running container#在已存在的容器上运行命令export    Export a container's filesystem as a tar archive  #导出容器的内容流作为一个tar归档文件(对应import)history   Show the history of an image  #展示一个镜像形成历史images    List images  #列出系统当前镜像import    Import the contents from a tarball to create a filesystem image  #从tar包中的内容创建一个新的文件系统映像(对应export)info      Display system-wide information  #显示系统相关信息inspect   Return low-level information on a container or image  #查看容器详细信息kill      Kill a running container  #kill指定docker容器load      Load an image from a tar archive or STDIN  #从一个tar包中加载一个镜像(对应save)login     Register or log in to a Docker registry#注册或者登陆一个docker源服务器logout    Log out from a Docker registry  #从当前Docker registry退出logs      Fetch the logs of a container  #输出当前容器日志信息pause     Pause all processes within a container#暂停容器port      List port mappings or a specific mapping for the CONTAINER  #查看映射端口对应的容器内部源端口ps        List containers  #列出容器列表pull      Pull an image or a repository from a registry  #从docker镜像源服务器拉取指定镜像或者库镜像push      Push an image or a repository to a registry  #推送指定镜像或者库镜像至docker源服务器rename    Rename a container  #重命名容器restart   Restart a running container  #重启运行的容器rm        Remove one or more containers  #移除一个或者多个容器rmi       Remove one or more images  #移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除)run       Run a command in a new container  #创建一个新的容器并运行一个命令save      Save an image(s) to a tar archive#保存一个镜像为一个tar包(对应load)search    Search the Docker Hub for images  #在docker
hub中搜索镜像start     Start one or more stopped containers#启动容器stats     Display a live stream of container(s) resource usage statistics  #统计容器使用资源stop      Stop a running container  #停止容器tag       Tag an image into a repository  #给源中镜像打标签top       Display the running processes of a container #查看容器中运行的进程信息unpause   Unpause all processes within a container  #取消暂停容器version   Show the Docker version information#查看容器版本号wait      Block until a container stops, then print its exit code  #截取容器停止时的退出状态值

参考文献

1. 简书Kali-JDK1-8安装
2. linux创建命令和图标快捷启动 方式
3. github clash 下载
4. kail 2020.4 环境变量配置问题
5. Installing Golang on Kali Linux
6. How to install Golang (latest version) on Kali Linux
7. HOW TO INSTALL GOLANG IN KALI LINUX
8. install go in linux
9. csdnkali下安装go环境
10. Install NVIDIA GPU Drivers
11. config maven on kali linux
12. linux下键位 重新映射