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:
- 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
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
Explanation:
- 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 https://dist.ipfs.tech/go-ipfs/v0.21.0/go-ipfs_v0.21.0_linux-amd64.tar.gz
Explanation:
- 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 &
Explanation:
- & 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.