赞
踩
目录
树莓派官网:
世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。
它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,有USB接口、 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能,只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。
Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。
提示:
上述文字来自百度百科,树莓派(微型电脑)_百度百科
树莓派 4B (4G内存)
同时,为了保证系统的存储空间足够大(可以管理更多的代码和文件),我还买了一块256G的SD卡(双12打折),就像是平常电脑的硬盘。
ubuntu-mate是一个稳定易用的操作系统,现在已经更新到20.10,但是如果想获得长期支持,官方建议使用长期支持版本20.04 LTS。
ubuntu-mate是由ubuntu发行版 + MATE Desktop桌面组成的操作系统,MATE基于GNOME 2作为桌面环境,可以做的更加轻量化和快速,因此对于树莓派这种硬件资源有限的arm嵌入式卡片电脑,可以占用更少的内存资源,提供可靠的桌面服务支持。可视化桌面需要提供的支持,最基本的当然是文件文本图片、文件夹资源管理器,自定义可视化界面等。
原文链接:ubuntu 20.04、ubuntu-mate 20.04、raspbian三个系统对于树莓派4的不同_geditzh的博客-CSDN博客_ubuntumate和ubuntu区别
镜像下载:Choose a download | Download
虽然说可以树莓派可以装arm64,也可以装armhf,这里最好选择armhf架构的ubuntu,因为gitlab的安装包基本都是要求armhf架构。
我一开始不知道先装了arm64,然后就是一堆问题。。。
SD卡格式化软件:SD Memory Card Formatter | SD Association
系统烧录软件:balenaEtcher - Flash OS images to SD cards & USB drives
系统烧录软件:https://win32diskimager.download/
这里我选择了balenaetcher进行系统的烧录,这一块大家可以在网上找到相关教程,参考博客:树莓派4B 的折腾之旅
cat /proc/version
首先保留一份之前的sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
这里本来是想用清华源(ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror)
但是出现了一些奇怪的报错,后面我就改用为阿里源(阿里云开源镜像站资源目录)
- deb http://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse
打开sources.list
sudo vi /etc/apt/sources.list
删除掉之前的内容,然后替换上面软件源。
提示:
可能需要学习一下在ubuntu上怎么使用vi,参考linux(ubuntu)中vim/vi的常见用法_ai_yue的博客-CSDN博客_ubuntu vi使用
保存后,需要重启电脑。
- sudo apt update
- sudo apt-get update
- sudo apt upgrade
安装中文拼音输入法:
安装openssh-server和postfix
命令行输入:
sudo apt install postfix
在postfix 安装过程中,会出现一个配置屏幕。
选择“Internet site”并按 Enter。
将您服务器的外部 DNS 用于“邮件名称”,然后按 Enter。
如果出现其他屏幕,请继续按 Enter 接受默认值。
安装net-tools
sudo apt install net-tools
这个工具可以用来查看已启用的网卡信息,参考:net-tools工具箱
gitlab/raspberry-pi2 - Packages · packages.gitlab.com
这里我选择了14.3.6版本,
根据右下角的命令行方式,先把安装包下载下来:
wget --content-disposition https://packages.gitlab.com/gitlab/raspberry-pi2/packages/raspbian/buster/gitlab-ce_14.3.6-ce.0_armhf.deb/download.deb
然后dpkg安装:
dpkg -i gitlab-ce_14.3.6-ce.0_armhf.deb
安装完成提示信息:
提示:原始的图像忘记拍,将就着看吧,反正就是这个图形出来就说明安装好了。
接下来就是配置GitLab的一些基本信息了,
我之前可能因为系统架构问题一直卡在这一步,直到我换了armhf架构的ubuntu系统后才一切正常。。。
首先,打开配置文件:
sudo vi /etc/gitlab/gitlab.rb
我们需要对gitlab.rb
文件进行一些修改:
假如,之前我们已经安装过net-tools了,那么你只需要输入命令行:
ifconfig
就能看到连接的局域网ip地址,如红色方框所示。
提示:
这样我们就可以使用
192.168.1.9:80
进入搭建好的GitLab
网站了,这里默认就是80端口,当然你也可以修改这个端口external_url '192.168.1.9:xxx' #只要端口不冲突就可以
提示:
这一块我也不是很懂,如果设置了之后,你会在gitlab网页的clone那里看到:
提示:
smtp_password是第三方客户端登录你qq邮箱的授权码,不是qq邮箱密码。
命令行测试(即通过配置的默认邮箱对xxx@qq.com发送一封测试邮件)
sudo gitlab-ctl reconfigure sudo gitlab-rails console #这里是打开gitlab的控制台,可能需要一点时间 Notify.test_email('xxx@qq.com','邮件标题','邮件内容').deliver_now
全部修改完成之后,执行下面的命令行:
sudo gitlab-ctl reconfigure #只要修改gitlab.rb文件就要reconfigure
重置配置文件比较耗费时间,需要耐心等待。
当你看到输出“gitlab Reconfigured!”就说明你已经配置成功了!
我之前在这一步卡了好久。。。
这里还有一些性能提升的方法后续可以尝试,参考:在树莓派4上搭建 Gitlab 服务器
一些常见gitlab操作,参考:Ubuntu18.04 GitLab仓库服务器搭建
这里要说下,当你reconfigure之后,其实是不用再start的,gitlab已经启动了。
sudo gitlab-ctl start
打开控制台(顺便看下产品信息)
sudo gitlab-rails console -e production
等待一段时间后,终端会出现一个纯代码界面,上面介绍了当前使用的 GitLab
,GitLab Shell
和 PostgreSQL
版本信息,直接输入:
- # 选定 root 用户,这里就是 user
- user=User.where(id:1).first
-
- # 首次输入 root 用户密码
- # user.password=[用户密码]
- user.password='12345678'
-
- # 再次确认密码
- # user.password_confirmation=[用户密码]
- user.password_confirmation='12345678'
-
- # 保存密码
- user.save!
-
- # 修改成功后退出 GitLab 控制台
- exit

管理员密码已经重置成功了!结果如下图所示。
打开浏览器,在地址栏中输入:192.168.1.9:80
显示界面中输入管理员的账号密码:
账号:root
密码:12345678(就是刚才你设置的管理员密码)
top
free -m #m表示数字的单位是MB
gitlab正常运行起来大概是需要2.7G,所以树莓派的内存最少是4G(当然越大越好)。
提示:
交换空间swap,打个比方就是你的内存爆满了,系统就会临时把内存里一些暂时不用的数据放到硬盘上,这样内存就会空出来一部分放新的数据。如果需要用之前旧的数据,可以再把它从硬盘上搬回来。本质上交换空间就是硬盘上开辟的一块专门供内存交换数据使用的空间
如果需要添加swap交换空间,参考:ubuntu增加swap交换空间_Venus 的博客-CSDN博客_ubuntu增加swap交换空间
Git最新版下载地址:Git for Windows
TortoiseGit下载地址:Download – TortoiseGit – Windows Shell Interface to Git
安装教程1:Git客户端(TortoiseGit)基本使用详解 - 仅此而已-远方 - 博客园
安装教程2:TortoiseGit 使用教程 - 啊,那一个人 - 博客园
TortoiseGit是一个图形化的Git操作软件,把很多git命令行变成一个个按钮,并且可以提供界面可以给你查看对比提交前后的区别,简化流程,提高效率。
commit(有新文件就先add)
pull(本地 commit 和远程commit 的对比记录)
push(将本地仓库代码推送到远端仓库)
参考:git 为什么要先commit,然后pull,最后再push?而不是commit然后直接push? - 努力~努力再努力~ - 博客园
选择某一个文件,鼠标右键选择clone:
设置gitlab上的远端仓库url
把暂存区的修改撤销掉
git reset HEAD
如果git commit之后,想撤销commit。
版本回退一般有两种方式:reset和revert,这里优先考虑revert
操作流程如下:
1.查看每次提交的版本号
git log --graph --pretty=onelin
--graph
:选项绘制一个ASCII图像来展示提交历史的分支结构
--pretty=oneline
:一行显示,只显示哈希值和提交说明(--online本身也可以作为单独的属性)
2.撤销上一个版本号,并生成新节点,-n
表示不自动commmit,需要手动commit
git revert -n 8b89621019c9adc6fc4d242cd41daeb13aeb9861
3.后续就是接着commit,pull,push
假如说,存在现有文件夹test,里面已经存放了很多文件,这时我们再准备添加git进行管理:
- cd test
- git init --initial-branch=main #创建本地仓库,且本地分支名字为main,这个很重要,因为gitlab上面也是main,默认是master则不行
- git remote add origin https://xx.git #在gitlab上创建一个新远端仓库,则本地要添加该远端仓库连接,名字为origin
- git pull origin main #先把远端仓库拉下来
-
- git add . #添加文件夹内全部文件到暂存区
- git commit -m "first commit" #将暂存区的文件添加到本地仓库
- git push -u origin main #将本地仓库内容推向远端
如果你一上来就把本地仓库commit了一些文件,如下
- cd test
- git init --initial-branch=main #创建本地仓库,且本地分支名字为main,这个很重要,因为gitlab上面也是main,默认是master则不行
- git remote add origin https://xx.git #在gitlab上创建一个新远端仓库,则本地要添加该远端仓库连接,名字为origin
- git add . #添加文件夹内全部文件到暂存区
- git commit -m "first commit" #将暂存区的文件添加到本地仓库
-
- #如果你一上来就把本地仓库commit了一些文件
- git pull origin main --rebase #rebase是关键,因为此时远端分支和本地分支的节点不一致,需要合并为一个序列
- git push -u origin main #将本地仓库内容推向远端
GitLab官方给出的一些参考命令行:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。