tar and IPFS

Lebron is a Data Science Engineer at Red Hat. His personal server is running the latest version of CentOS GNU/Linux. He has ten files on his desktop:

  1. strategic_implementation_data.odt
  2. linux_implementation.pdf
  3. starlink_presentation.odp
  4. rust_programming_examples.txt
  5. quarter_4_report.odb
  6. future_planning.odt
  7. support_contracts.odb
  8. ansible_playbooks.txt
  9. reverse_proxy_settings.odt
  10. ipfs_nodes_list.txt

Lebron wants to compress all 10 files into a single file called 20240506_important_files.tar.gz and upload it to IPFS.

Below is a list of commands he will need to run in his GNU/Linux terminal.

Commands to Run:

  • Navigate to the Desktop Directory:Since the files are on the desktop, Lebron should change to that directory:
    cd /home/lebron/Desktop
  • Compress the Files into a Single Archive:Use the tar command to compress all ten files into a single archive:
    tar -czvf /home/lebron/20240506_important_files.tar.gz strategic_implementation_data.odt linux_implementation.pdf starlink_presentation.odp rust_programming_examples.txt quarter_4_report.odb future_planning.odt support_contracts.odb ansible_playbooks.txt reverse_proxy_settings.odt ipfs_nodes_list.txt


  • tar is the command to create an archive.
  • -c stands for "create a new archive."
  • -z compresses the archive using gzip.
  • -v shows the progress while creating the archive.
  • -f specifies the archive file name.
    /home/lebron/20240506_important_files.tar.gz is the output archive file path.
  • The remaining arguments are the file names to be included in the archive.
    Install IPFS (If Not Already Installed):If IPFS is not already installed on the server, use the following commands to install it:
    • wget https://dist.ipfs.tech/go-ipfs/v0.21.0/go-ipfs_v0.21.0_linux-amd64.tar.gz
      tar -xvzf go-ipfs_v0.21.0_linux-amd64.tar.gz
    • cd go-ipfs
    • sudo bash install.sh


  • wget downloads the IPFS binary.
  • tar -xvzf extracts the IPFS package.
  • cd go-ipfs navigates into the extracted directory.
  • sudo bash install.sh installs IPFS on the system.
  • Initialize IPFS (If Not Already Initialized):If Lebron hasn't initialized IPFS before, he needs to initialize it first:
    • ipfs init
    • Start the IPFS Daemon:Run the following command to start the IPFS daemon:
    • ipfs daemon &


  • & runs the command in the background.
  • Add the Archive File to IPFS:Use the ipfs add command to add the archive file to IPFS:
    • ipfs add /home/lebron/20240506_important_files.tar.gz
    • This command will output a hash, which can be used to retrieve the file later.
    • Access the IPFS File via the Web Gateway:Once added to IPFS, the file can be accessed using the generated hash via a public IPFS gateway:
    • echo "https://ipfs.io/ipfs/<generated_hash>"
    • Replace <generated_hash> with the hash output from the ipfs add command.

You should also read:


Joachim is an entrepreneur who has started an IT consulting business. He is considering adding a decentralized cloud hosting service to his business,…