mjj版的linux入门教程

本文的首要目的是给予Linux初学者一个简单、易学的教程,以便在看完本文后对Linux系统有一个基础的认识(而非系统级的深入),可以对常见的软件和功能进行配置,甚至可以自己写一写一键脚本。

本教程写于2021年下半年,采用的系统为Debian GNU/Linux 11 (bullseye)。

0 前言吐槽CentOS

解释使用Debian而不是CentOS的原因

国内首批接触Linux系统的人主要集中在科研院校,大多数是延续了Unix-like的背景,在千禧年前后才有了真正意义上的Linux使用者:纯Linux平台开发、运行服务和应用,他们或直接或间接地推广了Linux系统。红帽(Red Hat, Inc.)在1994年就开始发布了同名的操作系统:Red Hat Linux(后改组为Red Hat Enterprise Linux,缩写为RHEL)。得益于红帽优秀的团队和商业支持,RHEL这一发行版迅速占领了国内市场。彼时的国内计算机市场远不如今日繁荣,在口口相传和红帽的推广中,RHEL成为了Linux入门的主流选项,即使后来号称用户友好的Ubuntu出现了,绝大多数尝鲜的人依然能看到众多网站里面只提供RHEL版本的教程。

CentOS是根据RHEL的源码重新编译的,等于换商标版本的RHEL,软件层面上,两者无本质区别。但CentOS是反人类的,至少是反入门用户的。使用RHEL的基本为商业用户,可以付费获得红帽的技术支持,或者干脆有一个自己的维护团队;而CentOS作为一个社区自发形成的操作系统,拥有落后的软件源/包,繁琐的配置,和对个人用户而言根本没有必要的SElinux等。举个例子,很多入门者修改SSH端口的时候,发现所有的操作都没有问题,但是死活无法生效,最终发现是没有在SElinux里面放行。如果你想安装个软件,你就得考虑是从落后主流版本好几代的软件源/包里面安装,还是自己下载源码进行编译以获取主流的使用体验。对于入门者而言,CentOS的安全性和稳定性是个虚假的概念,毕竟让一个刚接触Linux的人去自己编译源码安装,无异于让小学生上战场,输了就说是小学生战斗力太弱。

所以本文以Debian GNU/Linux(后续简称为Debian)来演示,也有着推广Debian的意思在里面,毕竟相比于Ubuntu往系统里面塞包括snap在内的一系列私货而言,Debain始终遵循着一个纯净的Linux的要求。而其他一些发行版,要么是专用性太强(如SUSE),要么是入门者不友好(如 Arch Linux),权衡之后,选择了写本文时,最新的Debian系统,即Debian GNU/Linux 11 (bullseye)。

1 环境搭建

1.1 系统选择与安装

阅读更多

ufw

概览

参考
由于Linux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。
ubuntu 系统默认已安装ufw。ubuntu 9.10默认的便是UFW防火墙,它已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。
注意,主机上某些服务需要外部对本机的访问,例如图床服务,必须使用ufw对外开放端口,以minio图床为例

1
2
sudo ufw allow 9090
sudo ufw allow 9000

1.安装

1
2
sudo apt-get install ufw
sudo ufw enable #启用ufw,代替iptables,默认

sudo apt-get install ufw

2.启用

sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。

apt-get install ufw
ufw enable
ufw default deny

阅读更多

teamspeak 教程

安装

下载地址
下载TS3 Client,WINDOWS对应的版本

一路安装就行了,安装路径自己选一个

安装完成后直接运行软件,出来一个协议需要同意

之后会要你登录一个账号,不用管,直接$X$掉

汉化

确保teamspeak没有启动,再进行汉化.
下载Chinese_Translation_zh-CN.ts3_translation
打开你的安装路径位置,将Chinese_Translation_zh-CN.ts3_translation放到文件目录下

使用TeamSpeak程序目录下的 package_inst.exe 来打开汉化包 Chinese_Translation_zh-CN.ts3_translation
安装


界面就变成中文力

连接

连接到ts.l4rk.cn,没有密码,昵称自己定

连接成功

设置

阅读更多

team speak搭建

汉化包
主要教程参考
按照教程就行,没什么问题.

唯一的困难在于环境不一样,我的ubuntu在虚拟机上,直接访问ip不行

ikuai上部署了ddns还有端口映射,所以可以将ts用到的端口映射到外网
三个9987,10011,30033三个必须映射,其他随意

端口 协议 使用说明 是否必须
9987 UDP 默认语音服务端口
10011 TCP ServerQuery raw 端口
10022 TCP ServerQuery SSH 端口(3.3.0 以上版本服务端)
10080 TCP WebQuery(HTTP)
10443 TCP WebQuery(HTTPS)
30033 TCP 文件传输端口(上传每个房间的头像这个端口就必须开)
41144 TCP TSDNS服务端口
阅读更多

scoop

参考

Scoop介绍

Scoop是一款适用于Windows平台的命令行软件(包)管理工具,这里是Github介绍页。简单来说,就是可以通过命令行工具(PowerShell、CMD等)实现软件(包)的安装管理等需求,通过简单的一行代码实现软件的下载、安装、卸载、更新等操作。其灵感来源于macOS的Homebrew,Mac用户可以去了解了解。

当然如果用过Linux系统,使用apt-get工具安装过软件,或者用过Python,知道pip工具用于管理Python各种依赖包,那么理解Scoop就比较容易,这些工具的设计理念与使用方法都非常类似。

Scoop一般用来管理绿色软件,即是一种通过解压压缩包即可就地使用的软件,对于比较专业软件(比如Office、Adobe等)支持不好
windows的包管理工具

设置PowerShell权限

为了让PowerShell可以执行脚本,首先需要设置PowerShell执行策略,通过输入以下命令Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser即可。(如果之前已开启,可忽略。)

安装Scoop

通过以下命令,可以将Scoop安装到默认目录(C:\Users\<username>\scoop):

1
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
阅读更多

bazel

转载自
什么是Bazel—教程、实例和优势
作者:方石剑
链接:https://juejin.cn/post/7120840097863303199
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Bazel是一个开源的构建工具,由谷歌开发,用于自动化大规模软件的构建过程。Pinterest、Adobe、SpaceX、Nvidia和LinkedIn等公司都使用它。在本教程中,你将了解什么是Bazel,它如何工作,以及它的重要好处。你还会学到如何为你的monorepo项目生成Bazel构建。

你为什么要使用Bazel?

Bazel的工作原理与MakeMavenGradle等其他构建工具类似。然而,与其他工具不同的是,Bazel是为具有多语言依赖性的项目量身定做的。

例如,你可以有一个Rust或Go的服务器,一个flutter的移动客户端,和一个Angular的网络客户端。在这种情况下,如果你要手动编写自己的构建文件,以迎合每种语言的生态系统,这可能是一项艰巨的任务。幸运的是,Bazel为你完成了所有繁重的工作:

bazel tutorial, bazel build

Bazel最吸引人的特点之一是你可以轻松地将它与你的项目的CI/CD挂钩。这可以帮助你提高团队的生产力,因为你可以产生更可靠的构建,定期和严格地测试你的软件。因此,你也可以很容易地出货和发布更强大的构建。

然而,Bazel不仅仅是处理多语言的依赖关系。让我们来探讨一些使它如此强大的好处。

Bazel有哪些优点?

以下是使Bazel成为出色的构建工具的关键优势。

阅读更多