前段时间将开发环境从 Kali 切换到 Debian,感觉还是精简一点好,为了开发便利性,安装了一部份开发必备的环境,虽然大部分程序都能用超级牛力的 apt
进行安装,但还是有些程序在安装过程中遇到了错误,这里记录一下
安装原则是这样的:
- apt 有的优先用 apt 进行安装(如:g++, gcc, git, golang, openjdk)
- 有
.deb
可用的优先使用(如:elasticsearch, nvim) - 其他包管理工具可用的优先考虑(如:pip 可以按照 mycli, redis; node 可以安装 hexo)
- 压缩包安装的方式(如:kafka)
PS: 当前软件源使用 debian-testing
1 | deb http://deb.debian.org/debian testing main |
docker
docker 版本关系
刚开始学 docker 的时候,被 docker.io
docker-io
docker-engine
docker-ce
docker-ee
这些名词搞晕了,之所以有这么多名称,是由它的发展历史决定的
为什么会有 docker.io
docker-io
这种命名方式
在 Docker 技术出现之前,Linux 中已经有一个叫 docker 的工具,在 Linux 系统中软件名不能与 docker 重名,而且那个时候 Docker 的官网是 docker.io,所以,就在软件名称上加了 io 的后缀
因此,在 Debian/Ubuntu 中就是 docker.io
,在 RedHat/CentOS 就是 docker-io
从 docker.io
到 docker-engine
命名
使用 docker.io
和 docker-io
为软件名,主要是前期的一段时间,后来随着 Docker 的发展,软件包名改成了 docker-engine
,名称达到了统一
大一统
后续 Docker 发展愈发火热,在征得同名软件作者的同意下,将 docker 更改为 wmdocker,Docker 容器的软件包名正式成了 docker
后续
Docker 发展到 1.13.1 版本后,Docker 公司把 Docker 分成了两种形式:
- docker-ce 社区版,免费
- docker-ee 商业版,收费
现在要安装最新版的 Docker 软件包,就是使用 docker-ce 这个名称了
安装前一般需要卸载旧版本,也就是网上常见的一条命令
apt remove docker docker-engine docker.io
Debian 安装
docker.io
包是 Debian/Ubuntu 从其官方仓库上提供的 docker 版本使用的名称。每个外部依赖项都是一个单独的包,并且将独立更新
与官方版本差别并不大,兼容性日常使用应该可以忽略。考虑国内网络环境,直接安装 docker.io 从 apt 镜像源下载更新更快
MariaDB
MariaDB 是 Debian 数据库的默认选择,安装只需要一条命令 sudo apt install mariadb-server
推荐安装之后将常用用户添加到 mariadb 组中, sudo usermod -g mysql aidan
安全性
MariaDB 附带了一个脚本 mysql_secure_installation ,可以帮助您提高安装的安全性。在终端中运行 sudo mysql_secure_installation
每个步骤都有详细解释,酌情选择即可,如果对安全比较在意全选 Y
默认情况下, MariaDB root 用户使用 unix_socket 身份验证插件,该插件在调用 mysql 客户端工具时检查有效用户 ID
这意味着只有在 mysql 以系统 root 身份调用命令或将 sudo 添加到命令时,才能以 root 身份连接到 MariaDB 服务器
为了提高安全性,建议保留默认的身份验证插件,并允许 root 用户仅通过 Unix 套接字进行身份验证。
如果要将根身份验证更改为经典身份验证,登录 MariaDB 服务器 sudo mysql
可以定义密码
1 | ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password; |
后续可以使用 mysql -u root -p
进行登录
远程登录
- 修改 /etc/mysql/my.conf
注释掉bind-address = 127.0.0.1
或者改为bind-address = 0.0.0.0
- 为远程登录用户赋予权限
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;
带进度条的复制和移动
参考文章:
https://zhuanlan.zhihu.com/p/305572519
https://z.itpub.net/article/detail/CF3376ECFEA0A659D48576FEEB954192
- 本文标题:搭建 Debian 开发环境遇到的问题
- 本文作者:Aidan
- 创建时间:2022-07-27 10:54:19
- 本文链接:https://aidanblog.top/build-debian-dev_env/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!