DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk13 min

How to Use Makefiles to Automate Tasks on an Ubuntu VPS

Learn how to turn repeatable Ubuntu VPS operations into a clear Makefile interface, with guarded deployment recipes, safe defaults, .PHONY action targets, variable overrides, backups, rollback checks and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A Makefile can give your Ubuntu VPS a short, reviewable command interface for routine work such as checking a service, viewing logs, building an artifact, deploying a checked-out revision, restarting a daemon, and creating a backup. Put the file in the repository or operations directory it controls, make state-changing targets explicit, and mark action names as phony so GNU Make does not confuse them with files.

The safest starting point is a read-only default target:

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
make                 # print the command index
make status          # inspect a service
make -n deploy       # review deployment commands without running them
make deploy          # perform the guarded deployment

This guide shows how to design that interface, explains why each Make feature matters, and gives recovery paths for the mistakes VPS operators encounter most often.

What a Makefile does on a VPS

GNU Make is both a command runner and a dependency engine. A rule names a target, lists prerequisites, and supplies a recipe. Make examines the relationship between the target and its prerequisites, then runs the recipe when the target needs updating. On a build workstation, the target is often a file. On a server, the target can instead be an operational action such as status or deploy.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

That distinction is important. Make does not know that restarting a service is dangerous or that deleting a directory is irreversible. It executes the shell recipes you write. The Makefile therefore becomes an interface and an audit trail, not a security policy. You must supply the guards, privilege boundaries, validation, and confirmation checks.

Why use Make instead of typing commands

  • Consistency: everyone invokes the same named operation with the same options.
  • Discoverability: a help target can expose the supported commands without opening the file.
  • Reviewability: recipes are versioned beside the application or operations code.
  • Dependencies: Make can express that a deployment follows a build, or that a top-level operation enters independent subdirectories.
  • Dry runs: make -n target prints commands before executing them, which is useful before a mutating operation.

Make is not a replacement for a full deployment system. When a workflow needs durable state, approvals, retries, secret rotation, distributed locking, or detailed rollback orchestration, a dedicated deployment tool or service may be clearer. A small, explicit Makefile is a good fit for a single VPS or a modest project whose commands are already reliable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Prerequisites and a sensible location

Server access

Use an SSH account that can reach the project directory and has only the service privileges it needs. If a recipe invokes sudo systemctl, the account must be allowed to run that command; otherwise the recipe will stop at the privilege prompt or fail with an authorization error.

Keep the file with the system it controls

Place the Makefile in the application repository when deployment follows a checked-out revision. For several applications, use a separate operations directory and document which directory owns each service. Running make from the wrong directory is a common source of “No rule to make target” errors and accidental work on the wrong environment.

Check the available tools

The recipes in this article assume a POSIX-like shell, GNU Make, Git for revision updates, systemd for service control, and the project’s own backup script or command. Confirm each command exists for the Ubuntu edition you operate before adding it to a production target. Keep application-specific dependencies in setup rather than silently installing packages during deploy.

A production-oriented Makefile skeleton

The following file gives you a safe command index, service inspection, deployment, restart, backup, and artifact cleanup. Replace the paths, service name, and backup command with values for your project.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
.DEFAULT_GOAL := help
SHELL := /bin/bash
APP_DIR ?= /srv/myapp
SERVICE ?= myapp

.PHONY: help status logs deploy restart backup clean

help:
	@grep -E '^[a-zA-Z0-9_-]+:.*## ' $(MAKEFILE_LIST) | sed 's/:.*## / - /'

status: ## Show service status
	sudo systemctl status $(SERVICE) --no-pager

logs: ## Show recent service logs
	sudo journalctl -u $(SERVICE) -n 100 --no-pager

deploy: ## Deploy the checked-out revision
	@test -d "$(APP_DIR)" || (echo "Missing APP_DIR=$(APP_DIR)" >&2; exit 1)
	git -C "$(APP_DIR)" pull --ff-only
	sudo systemctl restart $(SERVICE)
	$(MAKE) status

restart: ## Restart the service
	sudo systemctl restart $(SERVICE)

backup: ## Run the project backup command
	./scripts/backup.sh

clean: ## Remove generated local artifacts
	rm -rf -- build/

Recipe lines must begin with a tab under normal GNU Make syntax. Spaces that look identical in an editor are not equivalent; a line beginning with spaces commonly produces *** missing separator. Configure the editor to display whitespace if you are unsure.

What each variable controls

APP_DIR identifies the checkout, and SERVICE identifies the systemd unit. The ?= operator gives a default while allowing an operator to override it at invocation time:

make deploy APP_DIR=/srv/blue SERVICE=blue-api

Use descriptive names for paths, revisions, image tags, SSH destinations, and command options. Document safe values in help. Quote variable expansions used as paths or names so spaces or shell metacharacters cannot unexpectedly change the command.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Why the shell is set explicitly

SHELL := /bin/bash makes the intended shell clear when recipes use Bash behavior. If your commands require only POSIX shell syntax, you can choose a more portable shell; what matters is matching the syntax in the recipes to the shell available on the VPS.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Design the target interface before adding commands

Give each operation one clear purpose. A practical set for a VPS is:

Target Use State change
help Print the available commands and descriptions. None
setup Install or configure project prerequisites. Usually changes the host or project.
lint or check Run validation without changing production state. Should be read-only.
build Create an artifact or container image. Writes build output.
deploy Publish a checked-out revision and restart the service. Changes production.
status Inspect service state. Read-only.
logs Show recent service logs or follow them when explicitly requested. Read-only.
backup Create or verify a backup. Writes backup data.
rollback Restore a known version after an explicit selection and guard. Changes production.
clean Remove generated artifacts. Destructive within its declared scope.

Do not hide a production mutation behind a name such as check or status. An operator should be able to predict whether a target changes state from its name and help description.

Make action targets phony

GNU Make normally compares a target with files on disk. If a file named status exists and the target is not declared phony, Make may report that it is up to date and skip the recipe. Targets such as deploy, restart, status, logs, backup, and clean name actions, not files, so list them under .PHONY:

.PHONY: help status logs deploy restart backup clean

A phony target is still an explicit request: make deploy runs its recipe even when a file called deploy exists. GNU Make also skips the implicit-rule search for phony targets, which avoids needless work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not make every action a prerequisite

Do not attach a phony action to a real file target unless you intentionally want it to run every time. For example, making deploy a prerequisite of a persistent artifact causes deployment on every invocation that updates the artifact. Keep the action targets independent, or express a deliberate chain such as deploy: build when every deployment must first build.

Choose a safe default goal

When you run make without a target, GNU Make commonly uses the first rule as the default goal. Put a harmless help rule first or set .DEFAULT_GOAL := help. This prevents an unattended command, shell alias, or operator typo from deploying or deleting data.

.DEFAULT_GOAL := help

Keep deployment, rollback, restart, and deletion behind explicit target names. A default goal that only prints the command index is useful documentation and a safety barrier.

Build a guarded deployment target

Validate before mutating

The example checks that APP_DIR exists before pulling code. Add project-specific checks for the expected branch, a clean working tree, required environment files, or a reachable artifact registry. Fail before the restart if a prerequisite is missing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
deploy: ## Deploy the checked-out revision
	@test -d "$(APP_DIR)" || (echo "Missing APP_DIR=$(APP_DIR)" >&2; exit 1)
	git -C "$(APP_DIR)" pull --ff-only
	sudo systemctl restart $(SERVICE)
	$(MAKE) status

Use deterministic revision updates

git pull --ff-only refuses to create an implicit merge commit. That makes the revision movement predictable and stops a deployment from silently combining unrelated local and remote histories. If your process deploys a tag, commit, or image digest instead, encode that choice explicitly rather than relying on whatever happens to be checked out.

Restart only after the update succeeds

Make runs recipe lines in sequence and stops when a command returns a nonzero status. In this target, a failed directory check or failed fast-forward pull prevents the restart. After a successful restart, $(MAKE) status invokes Make using the make executable and relevant flags, then displays the unit state.

Add health checks where the application supports them

A systemd restart succeeding does not prove that the application is serving requests. If the project has a local health endpoint or validation command, run it after the restart and return a failure when it is unhealthy. Keep that check visible in the recipe rather than implying that systemctl restart is an end-to-end test.

Inspection targets: status, logs, and check

Separate read-only observation from state-changing operations. The skeleton uses:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
status: ## Show service status
	sudo systemctl status $(SERVICE) --no-pager

logs: ## Show recent service logs
	sudo journalctl -u $(SERVICE) -n 100 --no-pager

--no-pager makes output suitable for an SSH session and automation. The log target requests the most recent 100 entries; change that number for your incident procedure. If you add a follow mode, give it a distinct name such as logs-follow so an operator is not surprised by a command that remains attached to the terminal.

A check or lint target should validate configuration, syntax, migrations, or tests without restarting production. Keep it separate from deploy, and make its read/write behavior clear in the help output.

Backups and rollback without surprises

Backups

A backup target should call a project-owned script or command whose destination, retention, and verification behavior are documented. Do not put credentials directly in the Makefile. Pass them through a protected environment file or a secret manager, and ensure the backup command fails when it cannot write or verify the result.

backup: ## Run the project backup command
	./scripts/backup.sh

Keep backup creation independent from clean. A cleanup recipe must never remove production data merely because a directory happens to be named build or backup.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Rollback

Rollback is inherently mutating and should require an explicit version or confirmation. Do not write a target that guesses which previous version to restore. A safe interface can require an operator-supplied variable and reject an empty value:

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
.PHONY: rollback

rollback: ## Restore an explicitly selected revision
	@test -n "$(REVISION)" || (echo "Set REVISION=..." >&2; exit 1)
	@test "$(CONFIRM)" = "1" || (echo "Re-run with CONFIRM=1" >&2; exit 1)
	git -C "$(APP_DIR)" fetch --all --tags
	git -C "$(APP_DIR)" checkout --detach "$(REVISION)"
	sudo systemctl restart $(SERVICE)
	$(MAKE) status

The exact fetch and checkout policy depends on your release process. The important properties are an explicit revision, an explicit confirmation variable, and a status check after the restart. Record the revision and operator context in your deployment or rollback log.

Dry runs, confirmations, and privilege boundaries

Review with -n

Run make -n deploy to print the commands without executing them. Inspect expanded paths, service names, branches, and shell quoting. A dry run is a review aid, not a substitute for testing the commands in a staging environment; commands with conditional shell logic may still display branches that require real execution to validate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Require confirmation for destructive work

For targets that destroy data, require an unmistakable invocation such as CONFIRM=1 make destroy. Check the variable inside the recipe and fail otherwise. Prefer narrowly scoped names such as clean-build over a generic clean when several classes of data exist.

Use least privilege

Do not run the entire Makefile as root just because one command needs elevated privileges. Invoke sudo only for the service or filesystem operation that requires it, and configure narrowly scoped sudo rules for the deployment account. Keep secrets out of command lines where process listings could expose them.

Cleaning artifacts safely

The example cleanup target removes only the repository’s generated build/ directory:

clean: ## Remove generated local artifacts
	rm -rf -- build/

The -- terminates option parsing, and the relative path limits the intended scope. Before using a variable in rm -rf, validate that it is nonempty and points inside an expected root. Never let a missing variable expand to an empty string that changes the command’s meaning, and never make production data cleanup the default interpretation of clean.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Variables, overrides, and environment-specific runs

Variables are reusable text values substituted into targets, prerequisites, recipes, and other makefile sections. Defaults with ?= support the same Makefile across environments:

APP_DIR ?= /srv/myapp
SERVICE ?= myapp
REVISION ?= main

# Examples
make status SERVICE=blue-api
make deploy APP_DIR=/srv/blue SERVICE=blue-api
make rollback APP_DIR=/srv/blue SERVICE=blue-api REVISION=v2.4.1 CONFIRM=1

Do not accept arbitrary values silently for high-risk variables. Validate branch names, revision formats, environment names, and paths where a typo could target the wrong service. Print the selected values in a review or deployment log so an operator can reconstruct what happened.

When recursive Make is appropriate

For a genuinely multi-directory repository, GNU Make supports invoking independent makefiles from a parent makefile. Use the $(MAKE) variable rather than hard-coding the executable:

.PHONY: all
SUBDIRS := api web

all:
	@for dir in $(SUBDIRS); do $(MAKE) -C $$dir; done

This pattern is appropriate when api and web have independent makefiles and build rules. For a VPS operations file whose commands are all about one service, direct recipes are easier to audit. Recursive Make adds another layer of variables, working directories, and error handling; do not use it merely to split a short list of server commands.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Makefile versus a shell script

Both approaches can automate the same VPS commands. Choose based on the workflow rather than on a preference for one syntax.

Decision axis Makefile Shell script
Discoverability Named targets provide a conventional make target interface and a natural help command. Usually requires remembering script names or reading a dispatcher.
Dependency behavior Can skip work based on target and prerequisite state, and can express target relationships. Normally runs its sequence each time unless you implement your own checks.
Portability Requires a compatible Make implementation plus shell commands; GNU-specific features may not exist in a narrower POSIX make. Requires a compatible shell and the commands used by the script.
Auditability A small file keeps command names and recipes visible in one place. A larger or branching workflow can be clearer in a versioned script with functions and explicit error handling.
Privilege and secrets Must handle sudo, protected variables, and destructive commands explicitly. Faces the same boundaries; a script does not make unsafe commands safer.

Use Make when you want a compact command index and simple relationships among operations. Move complex branching, structured argument parsing, retries, or substantial error handling into a script called by a target, or into a deployment system designed for those requirements.

Troubleshooting common failures

“Nothing to be done” or “is up to date”

If an action target is treated as a file, Make may skip it. Add the target to .PHONY. Also check that you are in the directory containing the intended Makefile and that you invoked the expected target name.

*** missing separator

Inspect the recipe indentation. Normal GNU Make recipes require a leading tab. Replace spaces at the beginning of each command line with a real tab and configure whitespace display in the editor.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

sudo asks for a password or fails

Run the exact service command manually as the deployment account. Confirm the account’s sudo policy, the unit name, and whether the SSH session can provide a terminal for authentication. Do not “fix” this by running the entire Makefile as root.

The deployment pulls the wrong code

Print the repository path and selected revision before changing state. Use a deterministic update strategy such as fast-forward-only pull, and validate the expected branch or tag. Check for multiple checkouts with similar names under /srv.

A variable points to the wrong environment

Remember that command-line assignments override ?= defaults. Run make -n target with the same variables you intend to use, and include the selected APP_DIR and SERVICE in the confirmation or deployment log.

The service restarts but is unhealthy

Run make status, then inspect make logs. A successful systemd restart only means the unit accepted the restart request. Add an application-level health check after the restart if the project exposes one.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

make runs an unexpected operation

Inspect the first rule and .DEFAULT_GOAL. Set the default explicitly to help, and keep mutating targets out of the default dependency chain.

A practical operating sequence

  1. Inspect the interface: run make and confirm that the help output lists only the operations you intend to expose.
  2. Check the service: run make status and verify the unit and host are the expected ones.
  3. Validate without mutation: run make check or the project’s lint target, if defined.
  4. Review the deployment: run make -n deploy with any environment overrides and read every expanded command.
  5. Create a backup when the change warrants it: run make backup and verify the backup command reports success.
  6. Deploy explicitly: run make deploy; stop if the fast-forward check or any guard fails.
  7. Observe the result: run make status and make logs
    t
    (or the correctly named log target) to confirm the service behavior.
  8. Record context: log the revision, selected service, operator, and outcome. If the health check fails, use the documented rollback target with an explicit revision and confirmation.

Correct the typo in the preceding example before copying it: the command is make logs, with no extra character. Keeping operational commands short does not remove the need to verify them.

Checklist for reviewing a VPS Makefile

  • The file lives with the repository or operations directory it controls.
  • .DEFAULT_GOAL or the first rule selects a harmless help target.
  • Action names are listed under .PHONY.
  • Recipes use tabs and the declared shell’s syntax.
  • Paths, service names, revisions, and options are variables with safe defaults.
  • Mutating targets validate directories, revisions, and required environment before changing state.
  • Deployment uses a deterministic update strategy and reports the resulting service state.
  • Read-only inspection targets are separate from deploy, restart, rollback, and cleanup.
  • Destructive operations require explicit confirmation and have a narrowly defined scope.
  • Secrets are supplied through protected files or a secret manager, not committed in the Makefile.
  • Sudo permissions are limited to the commands that need them.
  • Backup and rollback procedures are explicit, testable, and logged.
  • Recursive Make is used only for genuinely independent subdirectories.
  • The commands have been reviewed with make -n and tested in a non-production environment where possible.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.