Use your VPS distribution’s package manager for software that is available in its repositories. Use curl or GNU Wget for a file exposed at an HTTP or HTTPS URL, and use SSH-based scp, SFTP or rsync when the source is another computer. Before you execute an unfamiliar download, verify its checksum and, when provided, its publisher’s signature.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
The safest workflow is to identify the operating system, choose a non-root download directory, transfer the file with the tool suited to its source, verify it, inspect any archive, and only then install or run it.
As an Amazon Associate I earn from qualifying purchases.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchStart by identifying the VPS and the destination
Commands differ between Debian-family, RPM-family and SUSE systems. Log in over SSH and inspect the operating system before choosing an installation command.
cat /etc/os-release
uname -a
/etc/os-release normally identifies the distribution and release. uname -a shows the kernel and architecture details that can matter when selecting a binary. Also decide where the file belongs and which account should own it.
#1 Best Overall
- Use a private working directory such as
~/downloadsfor ordinary downloads. - Use a controlled application directory such as
/opt/app-nameonly after deciding how the application will be maintained. - Write to protected locations such as
/usr/local/bin,/var/wwwor/srvwithsudoonly when required. - Check free space before downloading a large archive.
mkdir -p ~/downloads
cd ~/downloads
df -h .
Downloading as an unprivileged user limits the damage from a bad URL or a mistakenly extracted file. Elevate only for the package installation or the final move into a protected path.
Install software with the native package manager
Repositories provide package metadata, dependency resolution, update paths and distribution signing policy. That is usually safer and easier to maintain than downloading an arbitrary archive when the software is already packaged.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Debian and Ubuntu: APT
Refresh the local package index, then install the package by its repository name.
sudo apt update
sudo apt install package-name
Run apt update before installing so the VPS has current metadata. APT resolves required libraries and records the package for normal system updates and removal. If a third-party repository is necessary, follow that publisher’s current instructions and store its signing key in a dedicated keyring. Configure the repository so APT can check package signatures; do not paste an unverified key into a global trust store.
Fedora, RHEL and CentOS Stream: DNF
sudo dnf install package-name
DNF handles dependencies and repository policy for RPM packages. Its download plugin can download binary or source RPMs, select a destination directory, print package URLs and resolve dependencies without installing immediately. That is useful when you need to stage packages for an offline system or review exactly what will be transferred.
SUSE: Zypper
sudo zypper install package-name
Zypper is the native client for SUSE repositories. As with APT and DNF, use configured repositories and their signature checks rather than replacing the package manager with a random web download.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →When a repository package is preferable
- You need automatic dependency handling.
- The service should receive normal security updates.
- You want package ownership and removal tracked by the operating system.
- The distribution already supplies a suitable version.
A vendor archive can still be appropriate for a newer release, a statically linked utility, or software that the distribution does not package. Treat that archive as a manual installation with its own update and rollback responsibility.
Download a direct file with curl
curl can retrieve HTTP or HTTPS content, but it writes response data to standard output by default. Use -o or -O when you want a file.
Rank #2
Choose the local filename
curl -fL -o app.tar.gz https://example.com/releases/app.tar.gz
-o lets you choose the exact local name. The combination -fL makes HTTP errors fail and follows redirects.
curl -fLO https://example.com/releases/app.tar.gz
-O keeps the filename supplied by the remote URL. Use it when the server’s name is meaningful and safe for your directory.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesMake transient failures less painful
curl --fail --location --retry 3 --output app.tar.gz https://example.com/releases/app.tar.gz
--retry 3 retries transient network failures. It does not make an unreliable or malicious source trustworthy. Check the hostname, HTTPS certificate and publisher before accepting the file. Never disable TLS verification merely to make a failed connection succeed.
Inspect the result
file app.tar.gz
ls -lh app.tar.gz
If a supposed archive is identified as HTML, the server may have returned an error page or a login screen. With -f, many HTTP error responses fail instead of being silently saved, but you should still inspect the result before extracting it.
Download with GNU Wget
Wget is file-oriented and designed for non-interactive retrieval. It supports HTTP, HTTPS and FTP, retry behavior, recursive retrieval and certificate controls.
Save under an explicit name
wget -O app.tar.gz https://example.com/releases/app.tar.gz
Use -c to continue a partial download when the server supports range requests.
Recommended Free Tools
wget -c -O app.tar.gz https://example.com/releases/app.tar.gz
Use --server-response when troubleshooting headers, redirects or range support.
wget --server-response -O app.tar.gz https://example.com/releases/app.tar.gz
Keep certificate verification enabled. A certificate warning can indicate an incorrect hostname, an interception attempt, an outdated trust store or a genuinely misconfigured server. Investigate the cause instead of adding an option that disables checks.
Rank #3
curl or Wget?
| Need | curl | Wget |
|---|---|---|
| Default output | Standard output unless you provide -o or -O |
File-oriented retrieval |
| Keep the remote filename | -O |
Use the output filename options appropriate to the command |
| Follow redirects | -L |
Handled through Wget’s retrieval behavior |
| Resume a partial file | Use curl’s transfer options and confirm server support | -c, when range requests are supported |
| Inspect response headers | Use curl’s header and verbose options | --server-response |
| Other protocols | Includes SFTP and SCP URLs with SSH-key authentication | Supports HTTP, HTTPS, FTP and recursive retrieval |
For a single HTTPS artifact, either tool is adequate. Choose based on the options you need and the command already standardized in your administration scripts.
Copy a file from another computer with SSH
HTTP tools pull from a URL. If the file is on your laptop, a build host or another server, use an SSH transfer tool instead.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Copy one file with SCP
Run this on the computer that currently has the file:
scp ./backup.tar.gz [email protected]:/srv/backups/
The destination consists of the VPS account, host and remote directory. The account must be able to write to that directory.
Use a non-default SSH port and key
scp -P 2222 -i ~/.ssh/id_ed25519 ./backup.tar.gz [email protected]:/srv/backups/
-P selects the SSH port and uppercase -P is required by SCP. -i selects the private key. Protect that key on the source computer and never copy it into a shared web or application directory.
Browse interactively with SFTP
sftp -P 2222 -i ~/.ssh/id_ed25519 [email protected]
Inside the SFTP prompt, commands such as put local-file, get remote-file, lcd (change the local directory) and cd (change the remote directory) let you inspect locations before transferring. SFTP is useful when you do not yet know the exact remote path or need to move several individual files interactively.
Synchronize directories with rsync
For repeated deployments or large directory trees, rsync avoids retransferring unchanged data and can show progress.
rsync -avP -e 'ssh -p 2222' ./site/ [email protected]:/var/www/site/
-a preserves the directory structure and common metadata, -v is verbose and -P combines progress display with partial-file handling. The trailing slash on ./site/ means “copy the contents of site”; omitting it changes the resulting directory layout. Check ownership and permissions after synchronization.
Protect credentials and private data
- Do not transfer private keys, tokens or database credentials into a world-readable directory.
- Use a dedicated account with only the permissions needed for the transfer.
- Review the destination path before pressing Enter; a typo can put a secret in a public document root.
- Afterward, inspect with
ls -land tighten permissions withchmodor ownership withchownwhere appropriate.
Verify a download before installing or running it
Obtain checksum and signing instructions from the same publisher that supplied the artifact. A checksum comparison detects altered or incomplete bytes; a trusted signature helps establish that the checksum list itself came from the publisher.
Free tools Windows power users keep installed
One-click scans. No signup required.
Compare a SHA-256 checksum
sha256sum app.tar.gz
Compare the command’s output character-for-character with the publisher’s SHA-256 value. A matching hash proves the bytes match that published value, not that the download page or key was authentic.
Verify a signed checksum list
If the publisher supplies a signed hash file, first verify its GPG signature using the publisher’s trusted public key, then compare the SHA-256 value listed for your archive. Do not import a key solely because a downloaded file tells you to; obtain the key through a trusted publisher channel and check its fingerprint through an independent channel when possible.
Record provenance
For a manually installed binary, record the source URL, version, checksum and installation path. Keeping those details in an administration note makes later updates, incident response and removal much easier.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Inspect and extract archives cautiously
Do not extract an unfamiliar archive directly into a system directory. List its contents first.
tar -tf app.tar.gz
Look for unexpected absolute paths, parent-directory components such as ../, executable scripts and a top-level directory that differs from what the instructions describe. Extract into a new, controlled directory.
mkdir app-unpack
tar -xzf app.tar.gz -C app-unpack
find app-unpack -maxdepth 2 -type f -printf '%pn' | head
Read the project’s installation instructions and identify the expected executable path before moving anything into /usr/local/bin or a service directory. If the archive includes an installer script, inspect it before execution and run it as a non-root user when the instructions allow.
Install a standalone binary deliberately
- Verify the archive or binary.
- Place it under a versioned directory such as
/opt/app-name/1.2.3. - Test it using its full path.
- Create a symlink such as
/usr/local/bin/app-nameonly after testing, usingsudofor that protected path. - Document the version, checksum and rollback path.
This layout lets you switch versions by changing one symlink instead of overwriting an unknown file.
Choose the right transfer method
| Situation | Best starting point | Reason |
|---|---|---|
| Software exists in the distribution repository | APT, DNF or Zypper | Dependencies, metadata, signatures and updates are managed together |
| One file is published at an HTTP or HTTPS URL | curl or Wget | Simple direct retrieval with redirect, retry and output controls |
| File is on your workstation | SCP or SFTP | Uses the existing SSH account and key policy |
| Repeated or large directory transfer | rsync over SSH | Resumes partial files and avoids copying unchanged data |
| Package must be staged without installing | DNF download plugin or the equivalent package-manager workflow | Can resolve dependencies and place packages in a chosen directory |
Authentication also differs. HTTPS relies on certificates and may require HTTP authentication; SCP, SFTP and rsync rely on SSH keys or passwords. Archive downloads generally do not resolve dependencies, so you must account for libraries, service users, configuration and updates yourself.
Troubleshoot common failures
“Permission denied” when saving
Check the current directory and account:
pwd
id
ls -ld .
Download into your home directory first. If the final destination is protected, move the verified file with sudo rather than running the entire download as root.
APT, DNF or Zypper cannot find the package
Confirm the package name and distribution release, refresh repository metadata, and inspect enabled repositories. A package may not exist for that release, may have a different name, or may require the publisher’s repository. Do not substitute an unrelated archive without checking its dependencies and signing instructions.
curl or Wget saved an error page
Use curl -fL, inspect the HTTP response and run file on the result. Confirm that authentication, redirects and the URL path are correct. An HTML login page is not the application archive you intended to install.
The download stops partway through
Retry with curl’s retry option or Wget’s -c. Resumption depends on server range support. For a directory transfer, rsync’s partial-file behavior is usually more practical than restarting every file.
TLS or certificate validation fails
Check the hostname, VPS clock, CA certificates and any corporate proxy. A validation failure is a security signal; do not disable certificate checks as a workaround.
SSH transfer fails
Verify the host, port, username, key permissions and destination write access. Test the connection without a transfer:
ssh -p 2222 -i ~/.ssh/id_ed25519 [email protected]
Once login works, retry SCP, SFTP or rsync with the same host, port and key.
The checksum does not match
Do not execute the file. Check whether the download was truncated, whether you selected the correct architecture and version, and whether the publisher lists a different artifact hash. Download again over a verified connection; if the mismatch persists, contact the publisher or choose another authenticated source.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallQuick Recap
A repeatable, low-risk workflow
- Identify the distribution, release and architecture with
/etc/os-releaseanduname -a. - Choose a non-root working directory and check available disk space.
- Use APT, DNF or Zypper when the software is packaged.
- For a URL, select curl or Wget and use explicit output, redirect and failure options.
- For a file on another machine, use SCP/SFTP; use rsync for repeated directory synchronization.
- Check the downloaded file type and size.
- Verify the SHA-256 checksum and, when available, the signed checksum list.
- Inspect archive contents before extraction.
- Install or move the verified result with the least privilege necessary.
- Record the source, version, checksum and path so the next update is reproducible.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




