Skip to content
/ Backup Public

A Backup application for the Software Development course.

Notifications You must be signed in to change notification settings

whyyys/Backup

Repository files navigation

BackUP

Introduce

本项目包含了 备份应用程序 和相关软件组件的源代码。该应用程序用于管理备份及相关任务。

项目检查

!!!检查项目完成情况,请从这里开始

  1. 克隆仓库
git clone https://github.com/whyyys/Backup.git
  1. 创建测试文件
chmod +x ./TestFileMake.sh
# 创建设备文件需要提权
# 这会在你当前目录下创建AFloder文件夹用于测试程序功能
sudo ./TestFileMask.sh 
  1. 为程序添加可执行权限
chmod +x BackUpApp-x86_64.AppImage
  1. 开始你的检查(某些设备文件创建需要root权限,请使用命令行打开BackUpApp-x86_64.AppImage可执行程序)
sudo ./BackUpApp-x86_64.AppImage

项目结构

项目结构如下:

1. BackupApplication

此文件夹包含了由Qt6构建的主要的应用程序代码和GUI界面文件。

  • build/:包含不同的构建配置(例如,调试、发布)。
    • Desktop_Qt_6_5_3_GCC_64bit-Debug:调试构建目录。
    • Desktop_Qt_6_5_3_GCC_64bit-Release:发布构建目录。
  • include/:应用程序的头文件。
  • libs/:应用程序所需的外部库。

2. BackupSoftware

此文件夹包含了备份软件的核心逻辑和组件。

  • include/:备份软件的头文件。
  • src/:备份逻辑和功能的源文件。
  • tests/:包含用于验证软件功能的测试用例。
    • AFolder/:用于测试的文件夹。

3. BackUpApp-x86_64.AppImage

打包好的可执行文件

一般情况下,如果你在Ubuntu 20.04 LTS系统并安装了符合版本的GCC/C++,直接运行此程序即可

如何使用此文件

  1. 确保文件具有执行权限: 如果你下载的 BackUpApp-x86_64.AppImage 文件没有执行权限,你需要给它添加执行权限。可以在终端中运行以下命令:

    chmod +x BackUpApp-x86_64.AppImage

    这将使 .AppImage 文件变为可执行文件。

  2. 运行 .AppImage 文件: 现在你可以直接运行 .AppImage 文件来启动应用程序:

    ./BackUpApp-x86_64.AppImage

    如果你在文件浏览器中,双击该文件也会启动应用程序。

如果报错

./BackUpApp-x86_64.AppImage: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by ./BackUpApp-x86_64.AppImage)
./BackUpApp-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by /tmp/.mount_BackUptoYBPb/lib/libQt6Core.so.6)
./BackUpApp-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by /tmp/.mount_BackUptoYBPb/lib/libglib-2.0.so.0)
./BackUpApp-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by /tmp/.mount_BackUptoYBPb/lib/libsystemd.so.0)
./BackUpApp-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.30' not found (required by /tmp/.mount_BackUptoYBPb/lib/libsystemd.so.0)

错误表明你的系统缺少一些必要的库版本,尤其是 GLIBClibstdc++ 的特定版本。

  • GLIBCXX_3.4.26 没有找到,需要更新到 libstdc++.so.6
  • GLIBC_2.28GLIBC_2.30 没有找到,需要更新到 libc.so.6

安装和配置

要从头配置项目,请按照以下步骤操作:

  1. 克隆仓库:

    git clone https://github.com/whyyys/Backup.git
  2. 安装依赖项:

项目使用 Qt 进行开发,确保你已安装 Qt 6.5.3 或更高版本。可以从官方 Qt 网站下载并安装。

项目后端使用C++构建,确保你已安装GCC/G++,并支持C++ 17标准。

  1. 构建项目:

要构建项目,请在项目BackupSoftware目录下运行以下命令:

cd BackupSoftware
mkdir build
cd build
cmake ..
make
  1. 测试

测试用例位于 BackupSoftware/tests 目录中。构建项目后,可以通过在build目录下运行测试。

sudo ./runTests
  1. 前端构建

前端代码位于BackupApplication文件夹中,请使用Qt Creator 6 打开BackupApplication/CMakeLists.txt文件并进行后续编辑。

  1. 库导入

将刚刚后端生成的库及接口文件放到前端文件里,如下:

cp BackupSoftware/build/libbackup_functions.a BackupApplication/libs
cp BackupSoftware/include/Backup_Functions.h BackupApplication/include
  1. 构建项目

继续在Qt 6 中完成后续项目的构建以及发布

测试文件

运行TestFileMake.sh脚本来生成测试文件,注意sudo运行

生成的测试文件目录如下,覆盖到各种文件类型

.
├── block_device_file
├── char_device_file
├── folder
│   ├── inside_file.txt
│   └── subfolder
├── hardlink_file_2.txt
├── ignore.txt
├── large_folder
│   ├── random_large_file
│   ├── random_large_file.tar
│   └── random_large_file.tar.gz
├── my_fifo
├── regular_file1.txt
├── regular_file2.txt
└── symlink_file_1.txt -> regular_file1.txt

About

A Backup application for the Software Development course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published