Destor安装

Destor

Destor is a platform for data deduplication evaluation.

安装Destor

源码

源码:https://github.com/fomy/destor

环境

Linux 64bit, ubuntu

依赖
  1. libssl-dev is required to calculate sha-1 digest;

  2. GLib 2.32 or later version

    libglib.so and glib.h may not be found when you first install it.

    The header files (that originally locate in /usr/local/include/glib-2.0 and /usr/local/lib/glib-2.0/include) are required to be moved to a searchable path, such as “/usr/local/include”.

    Also a link named libglib.so should be created in “/usr/local/lib”.

  3. Makefile is automatically generated by GNU autoconf and automake.

步骤
一、安装libssl-dev
  1. Update the package index:(可忽略)

    sudo apt-get update
    
  2. Install libssl-dev deb package:

    sudo apt-get install libssl-dev
    
    <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基于Pyqt5的局域网软件分发工具,可以传输文件并自动安装。以下是代码示例: ```python import os import shutil from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog, QPushButton, QLabel, QVBoxLayout, QHBoxLayout, QProgressBar from PyQt5.QtCore import Qt, QThread, pyqtSignal class FileTransferThread(QThread): progress_signal = pyqtSignal(int) def __init__(self, src_path, dest_path): super().__init__() self.src_path = src_path self.dest_path = dest_path def run(self): # Copy file to destination path shutil.copy(self.src_path, self.dest_path) # Install file os.system(self.dest_path) # Emit progress signal self.progress_signal.emit(100) class FileTransferWidget(QWidget): def __init__(self): super().__init__() # Create UI elements self.file_label = QLabel("请选择要传输的文件:") self.file_button = QPushButton("选择文件") self.dest_label = QLabel("请选择目标路径:") self.dest_button = QPushButton("选择路径") self.transfer_button = QPushButton("开始传输") self.progress_bar = QProgressBar() self.progress_bar.setValue(0) # Connect signals and slots self.file_button.clicked.connect(self.select_file) self.dest_button.clicked.connect(self.select_dest) self.transfer_button.clicked.connect(self.start_transfer) # Create layout file_layout = QHBoxLayout() file_layout.addWidget(self.file_label) file_layout.addWidget(self.file_button) dest_layout = QHBoxLayout() dest_layout.addWidget(self.dest_label) dest_layout.addWidget(self.dest_button) button_layout = QHBoxLayout() button_layout.addWidget(self.transfer_button) main_layout = QVBoxLayout() main_layout.addLayout(file_layout) main_layout.addLayout(dest_layout) main_layout.addLayout(button_layout) main_layout.addWidget(self.progress_bar) self.setLayout(main_layout) # Initialize variables self.src_path = "" self.dest_path = "" def select_file(self): # Open file dialog to select file file_dialog = QFileDialog() file_dialog.setFileMode(QFileDialog.ExistingFile) file_dialog.setNameFilter("Python files (*.py)") if file_dialog.exec_(): self.src_path = file_dialog.selectedFiles()[0] self.file_label.setText("已选择文件:" + self.src_path) def select_dest(self): # Open file dialog to select destination path dest_dialog = QFileDialog() dest_dialog.setFileMode(QFileDialog.Directory) if dest_dialog.exec_(): self.dest_path = dest_dialog.selectedFiles()[0] self.dest_label.setText("已选择目标路径:" + self.dest_path) def start_transfer(self): # Check if source and destination paths are selected if not self.src_path or not self.dest_path: return # Create file transfer thread self.transfer_thread = FileTransferThread(self.src_path, self.dest_path) self.transfer_thread.progress_signal.connect(self.update_progress) # Start file transfer thread self.transfer_thread.start() def update_progress(self, progress): # Update progress bar self.progress_bar.setValue(progress) if __name__ == "__main__": app = QApplication([]) widget = FileTransferWidget() widget.show() app.exec_() ``` 您可以使用该工具选择要传输的文件和目标路径,然后点击“开始传输”按钮即可自动传输和安装文件。传输过程中,进度条会显示传输进度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值