将个人笔记本改造成Linux简易服务器

老实说,我之前曾改装过 2 01 5 款 MacBook Pro,将其转换为 Linux 服务器非常有帮助,尤其是在运行生物信息学脚本时。
但这个过程涉及的细节太多,麻烦在所难免。

安装系统这一步最考验你的耐心。
我选择 Ubuntu Server 2 0.04 主要是因为它丰富的文档和强大的社区支持。
想一想。
我重新启动了笔记本电脑 8 次来修复 Btrfs 分区。
系统内置的分区工具太流氓了,我最后用GParted Live USB闪存驱动器修复了它。
您应该特别注意网络连接。
DHCP 配置错误几乎阻止我的服务器连接到我的 LAN。
当我从终端 ping 网关时,我终于发现了问题。

SSH配置是重中之重。
我们建议在 OpenSSH 安装期间安装 Fail2 Ban。
“当年我的一个朋友就用暴力破解了密码,毁掉了服务器的CPU,这个教训很深刻。
”配置防火墙时,不要直接启用 UFW 以允许流量。
首先,使用 sudo ufw status 检查默认策略是否为 DROP。
在某些情况下,默认允许所有流量可能会产生安全问题。

远程连接步骤对于 Windows 用户使用 PuTTY 来说并不困难,但有一个细节需要牢记。
如果您想更改服务器上的用户名(例如从 ubuntu 更改为 bio_user),您必须首先使用 ssh bio_user@IP 登录 PuTTY。
然后您可以直接 ssh 到服务器 IP。
这让我卡住了很长一段时间,但我终于发现SSH设置中的UserAuthenticationRequest没有被禁用。

WinSCP在传输文件时有一个小技巧。
右键菜单中有高级->SFTP选项。
一旦确认,您的上传速度将会明显加快。
我们之前进行过 RNA-seq 分析。
如果没有这个选项,我必须等待 1 0 分钟才能上传脚本,但启用 SFTP 后,需要 2 分钟才能完成。

远程运行 MATLAB 是最重要的一步。
我建议首先 sudo apt install matlab-server 。
这比直接运行脚本稳定得多。
然而,有一个问题。
MATLAB 的 -nodisplay 参数可能会导致某些工具箱报告错误。
当时,我在使用 MATLAB 编译器生成的代码时遇到了这个问题。
解决方案是将 -Djava.awt.headless=true 添加到您的命令中。
我们建议使用脚本来记录您的参数,这样您就不会每次都输入错误的参数。

为了增强安全性,我们特别建议使用密钥身份验证。
如果你想一想,root每次登录都需要输入密码,很麻烦,而且如果 root 密码泄露了怎么办?不过,有一些重要事项需要牢记。
ssh-keygen后不要使用默认文件名,直接保存到~/.ssh/id_rsa。
如果没有,您将必须在服务器上手动对其进行 mv 才能使用它。
还有一点经常被忽视。
sudo nano /etc/ssh/sshd_config 有 PrintMotd 是的。
每次登录时都会显示欢迎消息。
这是自动脚本中的错误。

从性能优化的角度来看,交换空间设置取决于具体任务。
将 MacBook Pro 改装成服务器后,我被 1 6 G 内存卡住了。
最后,我添加了一个4 G的交换文件,并打开了一些更多的分析任务,以使过程更加顺利。
对于服务管理,请务必使用 systemctl status sshd 检查端口是否真正在侦听。
之前我因为端口冲突而无法连接SSH,花了2 个小时才找到原因。

最后,让我更详细地解释一下。
不要忘记定期备份。
有一天,我的笔记本电脑突然出现蓝屏。
幸运的是,我事先使用 rsync 将其同步到 NAS,所有数据都被保存了。
不过,备份时有一些技巧。
使用 crontab 安排任务并添加 sudo -H 参数以避免权限问题。
例如,我编写了一个每天凌晨 1 点备份的脚本,实际上比手动复制快了 3 倍。

总的来说,将旧笔记本电脑改装成服务器适合实践能力较强的人,尤其是从事生物信息学工作的人。
想想看,我的 2 01 5 款 MacBook Pro 现在的运行速度比我同事的 i7 笔记本电脑快得多。
这种成就感……嗯,也许只有从事IT工作的人才能理解。

LINUX怎么搭建Git服务器_Linux搭建Git服务器方法

直接进入步骤:
1 安装 Git 和专用用户 巴什 须藤apt更新 sudo apt安装git 须藤添加用户git sudo systemctl 启用 ssh sudo usermod -s /usr/bin/git-shell git
2 .配置SSH认证 巴什 ssh-keygen -t ed2 5 5 1 9 -C“your_email@example.com” 将 ~/.ssh/id_ed2 5 5 1 9 .pub 的内容复制到 server/home/git/.ssh/authorized_keys sudo mkdir -p /home/git/.ssh echo "公钥内容" | sudo tee -a /home/git/.ssh/authorized_keys sudo chown -R git:git /home/git/.ssh 须藤 chmod 7 00 /home/git/.ssh sudo chmod 6 00 /home/git/.ssh/authorized_keys
3 . 启动一个空仓库 巴什 须藤苏
git mkdir myproject.git && cd myproject.git git init --裸 出
4 . 推送测试 巴什 git clone git@serverIP:/home/git/myproject.git cd我的项目 echo "HelloGitServer" > README.md git添加 git commit -m“初始提交” git push 原始父级
5 . 可选的Gitosis 巴什 sudo apt安装python3 -pip git 克隆 https://github.com/res0nat0r/gitosis.git 鸡毛病 sudo python3 setup.py 安装 sudo -H -u git gitosis-init < /tmp/id_rsa.pub git clone git@serverIP:gitosis-admin.git 编辑配置 gitosis-admin/gitosis.conf git push 原始父级
防火墙: 巴什 须藤 ufw 允许 2 2 sudo ufw 启用
实用提醒:先在测试环境中验证各个操作步骤,尤其是授权配置。