SSD Nodes Learn 🎉 VPS $5.50/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-13

Ubuntu-வில் Tailscale நிறுவல் பிழைகளை சரிசெய்வது எப்படி?

Ubuntu-வில் Tailscale நிறுவும் போது ஏற்படும் apt பிழைகளை எவ்வாறு சரிசெய்வது என்பதை அறிக. apt வெளியிட்ட status code-ஐ சரிபார்த்து, codename அல்லது signing keyring பிழைகளை நீக்குங்கள்.

Ubuntu-வில் Tailscale நிறுவல் பிழைகள் ஏன் apt பிழைகளாக உள்ளன

Ubuntu-வில் ஏற்படும் Tailscale நிறுவல் பிழைகள், பெரும்பாலும் Tailscale குறியீடு இயங்குவதற்கு முன்பே நிகழ்கின்றன. இவை apt பிழைகள் ஆகும். Ubuntu அதன் சொந்த tailscale தொகுப்பை வழங்குவதில்லை: ஆகஸ்ட் 2026-ல் Ubuntu தொகுப்பு காப்பகத்தில் சரிபார்க்கப்பட்டபோது, Go helper libraries மற்றும் python3-tailscale மட்டுமே பொருத்தமாக இருந்தன. எனவே, daemon-ஐ Tailscale-ன் சொந்த apt களஞ்சியமான pkgs.tailscale.com-லிருந்துதான் பெற வேண்டும்.

அந்தக் களஞ்சியத்தைச் சேர்ப்பது இரண்டு கோப்புகளை உருவாக்குகிறது. ஒரு கோப்பு தொகுப்புகள் எங்கு உள்ளன என்பதை apt-க்குத் தெரிவிக்கிறது. மற்றொன்று, களஞ்சியக் குறியீட்டின் கையொப்பத்தைச் சரிபார்க்க apt பயன்படுத்தும் பொதுச் சாவியை (public key) கொண்டுள்ளது. கீழே குறிப்பிடப்பட்டுள்ள கிட்டத்தட்ட அனைத்து தோல்விகளும், இந்த இரண்டு கோப்புகளில் ஏதேனும் ஒன்று தவறாக இருப்பதாலோ அல்லது apt-க்கும் களஞ்சியத்திற்கும் இடையில் உள்ள சாதனம் கோரிக்கையை நிராகரிப்பதாலோ ஏற்படுகின்றன.

Ubuntu 24.04-க்காக Tailscale வெளியிடும் கட்டளைகள் இவை:

sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update && sudo apt-get install tailscale

noble என்பது Ubuntu 24.04-ன் குறியீட்டுப் பெயர் (codename), இது இரண்டு URL-களிலும் இடம்பெறுகிறது. இரண்டாவது கட்டளை ஒரு கருத்து வரியையும் (comment line) ஒரு deb வரியையும் /etc/apt/sources.list.d/tailscale.list-ல் எழுதுகிறது, மேலும் cat அங்கு என்ன பதிவாகியுள்ளது என்பதைத் துல்லியமாகக் காட்டுகிறது.

cat /etc/apt/sources.list.d/tailscale.list

அந்த deb வரியை நான்கு புலங்களைக் கொண்ட முகவரியாகப் படிக்கவும்: அடைப்புக்குறிக்குள் உள்ள விருப்பம் [signed-by=/usr/share/keyrings/tailscale-archive-keyring.gpg], அதைத் தொடர்ந்து களஞ்சியத்தின் அடிப்படை முகவரி pkgs.tailscale.com/stable/ubuntu (இது https வழியாக அணுகப்படுகிறது), பிறகு suite noble, மற்றும் component main. apt இந்த அடிப்படை முகவரியையும் suite-ஐயும் இணைத்து ஒரு URL-ஐ உருவாக்கி அதைத் தரவிறக்குகிறது: https://pkgs.tailscale.com/stable/ubuntu/dists/noble/InRelease. அந்த URL-ஐ உங்களால் கைமுறையாகத் தரவிறக்க முடிந்தால், apt-ஆலும் தரவிறக்க முடியும். இதுவே முழுமையான கண்டறியும் முறையாகும்.

எந்த மாற்றத்தையும் செய்வதற்கு முன் apt பிழையை வாசிக்கவும்

பிழைச் செய்தி மறைந்துவிடாமல் இருக்க, update கட்டளையை மட்டும் தனியாக இயக்கவும்.

sudo apt update

தோல்வியடைந்த ஒரு third-party repository இவ்வாறு காட்சியளிக்கும். உங்கள் கணினியில் codename மற்றும் IP address மாறுபடும்.

E: Failed to fetch https://pkgs.tailscale.com/stable/ubuntu/dists/wilma/InRelease  404  Not Found [IP: 203.0.113.9 443]
E: Some index files failed to download. They have been ignored, or old ones used instead.

அந்த வெளியீட்டில் உள்ள இரண்டு விஷயங்கள் உங்கள் அடுத்தகட்ட நடவடிக்கையைத் தீர்மானிக்கின்றன: status code மற்றும் E: Failed to fetch வரியில் உள்ள முழுமையான URL. கீழே உள்ள சுருக்கமான வரியை வைத்து யூகிக்க வேண்டாம். அந்த URL-ஐ நகலெடுத்து, server-இடம் நீங்களே கேட்டுப் பார்க்கவும்.

curl -sS -o /dev/null -w '%{http_code}\n' https://pkgs.tailscale.com/stable/ubuntu/dists/noble/InRelease

இது Tailscale வெளியிடும் codename-க்கு 200-ஐ அச்சிடும். ஆகஸ்ட் 2026-ல் சரிபார்க்கப்பட்டபோது, noble ஆனது Origin: Tailscale மற்றும் Codename: noble ஆகியவற்றைக் கொண்ட ஒரு signed index-ஐ வழங்குகிறது. உங்கள் பிழைச் செய்தியில் உள்ள codename-ஐக் கொண்டு noble-ஐ மாற்றிவிட்டு, மீண்டும் இயக்கவும். apt பிழையைப் பெற்ற இடத்தில் curl 200-ஐப் பெற்றால், repository சரியாக உள்ளது என்று அர்த்தம்; சிக்கல் apt-ன் சொந்த configuration-ல் உள்ளது.

Status code உங்களுக்கு உணர்த்துவது

  • 404 Not Found என்பது அந்தப் பாதையில் (path) கோப்பு எதுவும் இல்லை என்பதைக் குறிக்கிறது. pkgs.tailscale.com-ல், இது பெரும்பாலும் URL-ல் உள்ள codename-ஆகவே இருக்கும்.
  • 403 Forbidden என்பது ஏதோ ஒன்று பதிலளித்து, அதை மறுத்துவிட்டது என்பதைக் குறிக்கிறது. ஆகஸ்ட் 2026 நிலவரப்படி, இந்த repository தனக்குத் தெரியாத பாதைக்கு 404 பிழையைத் தருகிறது. எனவே, 403 பிழை என்பது உங்கள் server-க்கும் Tailscale-க்கும் இடையில் உள்ள ஒரு proxy, filtering appliance அல்லது firewall-ஐக் குறிக்கிறது.
  • 401 Unauthorized அல்லது 407 Proxy Authentication Required என்பது, apt அனுப்பாத ஏதோ ஒரு நற்சான்றிதழை (credentials) proxy கோருகிறது என்று பொருள்.
  • ஒரு connect error அல்லது name resolution error என்பது, HTTP உரையாடல் எதுவுமே நடைபெறவில்லை என்பதைக் குறிக்கிறது. IPv6 பகுதிக்குச் செல்லவும்.

URL-ல் உள்ள codename-ஐ Tailscale வெளியிடுவதில்லை

Tailscale ஒவ்வொரு Ubuntu codename-க்கும் தனித்தனி directory-ஐ உருவாக்குகிறது. அந்தப் பட்டியலில் இல்லாத ஒரு codename-ஐக் கேட்டால் 404 error கிடைக்கும், ஏனெனில் server-ல் வழங்குவதற்கு dists/<codename> இல்லை. pkgs.tailscale.com/stable-ல் உள்ள vendor-ன் சொந்தப் பட்டியல் எவை உள்ளன என்பதைக் காட்டுகிறது. ஆகஸ்ட் 2026 நிலவரப்படி, அந்தப் பட்டியல் 16.04 முதல் Ubuntu 26.04-ஐக் குறிக்கும் resolute வரை உள்ளது.

தவறான codename உள்ளே நுழைவதற்கு பொதுவான காரணம், Ubuntu-வை அடிப்படையாகக் கொண்ட ஆனால் Ubuntu அல்லாத ஒரு distribution-ல் lsb_release -cs-ஐப் பயன்படுத்துவதுதான். Linux Mint 22-ல் அந்த command wilma-ஐக் காட்டுகிறது, இது Mint-ன் சொந்த codename ஆகும்; இதற்காக Tailscale எதையும் வெளியிடுவதில்லை. அதற்குப் பதிலாக Ubuntu base-ஐப் படிக்கவும்.

. /etc/os-release
echo "$VERSION_CODENAME $UBUNTU_CODENAME"

Ubuntu-வில் இரண்டு மதிப்புகளும் ஒன்றாகவே இருக்கும். ஒரு derivative-ல், VERSION_CODENAME என்பது அந்த derivative-ன் பெயர் மற்றும் UBUNTU_CODENAME என்பது அது கட்டமைக்கப்பட்டுள்ள Ubuntu release ஆகும். இரண்டு URL-களிலும் UBUNTU_CODENAME-ஐப் பயன்படுத்தவும்.

இரண்டாவது வழி release upgrade ஆகும். Ubuntu upgrade tool இயங்கும்போது third-party sources-ஐ முடக்கிவிடும், எனவே Ubuntu 24.04-லிருந்து 26.04-க்கு upgrade செய்த பிறகு, /etc/apt/sources.list.d/tailscale.list comment செய்யப்பட்டிருப்பதை அல்லது தற்போதைய resolute கணினியில் இன்னும் noble என்ற பெயரைக் கொண்டிருப்பதைக் காண்பீர்கள். இரண்டு curl command-களையும் புதிய codename-உடன் மீண்டும் இயக்குவதன் மூலம் இதைச் சரிசெய்யவும், இது இரண்டு கோப்புகளையும் மேலெழுதும் (overwrite).

மூன்றாவது வழி கால நேரம் (timing) சார்ந்தது. புதிய Ubuntu release வெளியான சில வாரங்களில், அந்த codename Tailscale-ல் கிடைப்பதற்கு முன்பே Canonical-ல் இருக்கும். கோப்பை முந்தைய LTS codename-க்கு மாற்றினால் பொதுவாக install ஆகிவிடும், ஏனெனில் இந்த packages-க்கு dependencies குறைவு. ஆனால் நீங்கள் பழைய release-க்காக உருவாக்கப்பட்ட build-ஐ இயக்குகிறீர்கள். apt policy tailscale மூலம் நீங்கள் உண்மையில் எதைப் பெற்றீர்கள் என்பதைச் சரிபார்த்து, உண்மையான codename வந்தவுடன் கோப்பை மீண்டும் மாற்றவும்.

keyring காலியாக உள்ளது, அதை உருவாக்கிய கட்டளை எந்தத் தகவலையும் அளிக்கவில்லை

இது அமைதியான ஒரு பிழை, பெரும்பாலான சிக்கல்கள் இங்குதான் முடிகின்றன. keyring கட்டளையை மீண்டும் கவனியுங்கள்:

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null

எந்தவொரு நிரலும் இயங்குவதற்கு முன்பே shell முழு pipeline-ஐயும் கட்டமைக்கிறது, எனவே sudo tee keyring பாதையைத் திறந்து உடனடியாக அதை பூஜ்ஜிய பைட்டுகளாக (zero bytes) மாற்றுகிறது. ஒருவேளை curl தோல்வியுற்று, -f ஏதேனும் HTTP பிழையில் அதைத் தோல்வியடையச் செய்தால், curl எதையும் எழுதாமல் பூஜ்ஜியமற்ற (nonzero) நிலையில் வெளியேறும். கோப்பு பூஜ்ஜிய பைட்டுகளிலேயே இருக்கும். ஒரு pipeline-ன் exit status என்பது அதன் கடைசி கட்டளையின் நிலையாகும், அது tee, அதாவது அது வெற்றிகரமாக முடிந்தது. எதுவும் அச்சிடப்படாது, எனவே key நிறுவப்பட்டுவிட்டது என்று நம்பி நீங்கள் அடுத்த கட்டளைக்குச் செல்வீர்கள்.

கட்டளையைச் சரிபார்ப்பதை விட, உருவாக்கப்பட்ட கோப்பைச் சரிபார்க்கவும்.

ls -l /usr/share/keyrings/tailscale-archive-keyring.gpg
gpg --show-keys /usr/share/keyrings/tailscale-archive-keyring.gpg

சரியான keyring-ஐச் சரிபார்க்கும்போது, அது ஒரு pub வரியையும், Tailscale-ஐக் குறிப்பிடும் ஒரு uid வரியையும் அச்சிடும். பூஜ்ஜிய பைட் கோப்பு gpg: no valid OpenPGP data found. என்பதை மட்டுமே அச்சிடும். HTML பிழைப் பக்கத்தைப் பெற்ற கோப்பும் இதையே அச்சிடும், அதன் மீது head -c 80 கட்டளையை இயக்கினால், binary key தரவுகளுக்குப் பதிலாக ஒரு வலைப்பக்கத்தின் தொடக்கத்தைக் காட்டும்.

பயன்படுத்தக்கூடிய key இல்லாத keyring-ஐக் கொண்டு, sudo apt update index-ஐப் பதிவிறக்கிவிட்டு, அதை நிராகரிக்கும். Tailscale repository மற்றும் அதன் suite-ஐக் குறிப்பிடும் ஒரு W: GPG error வரியையும், அதைத் தொடர்ந்து 16 எழுத்துக்கள் கொண்ட key id மற்றும் repository கையொப்பமிடப்படவில்லை (not signed) என்ற பிழைச் செய்தியையும் The following signatures couldn't be verified because the public key is not available: NO_PUBKEY காண்பீர்கள். apt உங்களுக்கு என்ன சொல்கிறது என்பதைக் கவனியுங்கள்: அது index-ஐச் சரியாகப் பதிவிறக்கிவிட்டது, ஆனால் கையொப்பத்தைச் சரிபார்க்க முடியவில்லை. இது network தொடர்பான சிக்கல் அல்ல, key தொடர்பான சிக்கல். keyring கோப்பே இல்லை என்றால், செய்தி வேறாக இருக்கும், அது Could not open file /usr/share/keyrings/tailscale-archive-keyring.gpg மூலம் பாதையை நேரடியாகக் குறிப்பிடும்.

key-ஐ இரண்டு படிகளில் எழுதுங்கள், அப்போதுதான் தோல்வியுற்ற பதிவிறக்கம் ஏற்கனவே வேலை செய்யும் keyring-ஐ அழிக்காது.

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg -o /tmp/tailscale.gpg
gpg --show-keys /tmp/tailscale.gpg
sudo install -m 0644 -o root -g root /tmp/tailscale.gpg /usr/share/keyrings/tailscale-archive-keyring.gpg

நடுவில் உள்ள வரி ஒரு தடையாகும்: அது Tailscale uid என்பதை அச்சிடவில்லை என்றால், நிறுத்திவிட்டு கோப்பை நகலெடுக்க வேண்டாம். 0644 முறை முக்கியமானது, ஏனெனில் apt தரவுகளைப் பதிவிறக்கிச் சரிபார்க்க, சலுகைகள் இல்லாத _apt பயனராக மாறுகிறது. எனவே, root மட்டுமே படிக்கக்கூடிய keyring-ஐ apt-ஆல் பயன்படுத்த முடியாது.

ஒரே repository-ஐ .list மற்றும் .sources ஆகிய இரண்டு கோப்புகளும் குறிப்பிடுகின்றன

Ubuntu 24.10 பதிப்பில், Ubuntu தனது சொந்த sources-களை deb822 வடிவத்திற்கு மாற்றியது. இதில் /etc/apt/sources.list என்பது /etc/apt/sources.list.d/ubuntu.sources ஆக மாறியது. Tailscale இன்னும் ஒற்றை வரி (one line) வடிவத்தையே வெளியிடுகிறது. ஆகஸ்ட் 2026-ல் சரிபார்க்கப்பட்டபோது, pkgs.tailscale.com-லிருந்து பதிவிறக்கம் செய்ய .sources கோப்பு எதுவும் இல்லை; அந்த URL 404 பிழையைத் தருகிறது. எனவே, உங்கள் கணினியில் tailscale.sources இருந்தால், அதை நீங்களோ அல்லது ஒரு வழிகாட்டியோ கைமுறையாக உருவாக்கியிருக்க வேண்டும். அதனுடன் tailscale.list கோப்பும் இருந்தால், இப்போது apt ஒரே repository-ஐ இரண்டு முறை குறிப்பிடுகிறது.

இதன் லேசான பாதிப்பு, ஒவ்வொரு update-ன் போதும் ஒரு எச்சரிக்கையைத் தருவதாகும்:

W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/tailscale.list:1 and /etc/apt/sources.list.d/tailscale.sources:1

இரண்டு கோப்புகளும் வெவ்வேறு keyring பாதைகளைக் குறிப்பிடும்போது கடுமையான பாதிப்பு ஏற்படுகிறது. ஏனெனில், எந்த key அந்த repository-ஐ நிர்வகிக்கிறது என்பதை apt-ஆல் தீர்மானிக்க முடியாது. இது E: Conflicting values set for option Signed-By regarding source, பின்னர் repository மற்றும் அதன் suite, இடையில் != உடன் இரண்டு keyring பாதைகள் ஆகியவற்றைக் காட்டி, தொடர்ந்து செயல்பட மறுத்துவிடும்:

E: The list of sources could not be read.

இது, கோப்புகளில் ஒன்று நீக்கப்படும் வரை, update மட்டுமல்லாது அனைத்து apt கட்டளைகளையும் தடுக்கும். இதே பிழை Ubuntu-வின் சொந்த repository-களிலும் ஏற்படும். deb822 மாற்றத்திற்குப் பிறகு ஏற்படும் duplicate apt source பிழை குறித்த கட்டுரை, இது போன்ற பொதுவான சிக்கல்களைத் தீர்க்கும் முறையை விளக்குகிறது.

எந்தவொரு கோப்பையும் நீக்கும் முன், Tailscale-ஐக் குறிப்பிடும் அனைத்து கோப்புகளையும் கண்டறியவும்.

grep -RIn tailscale /etc/apt/sources.list /etc/apt/sources.list.d/

ஒரு கோப்பை மட்டும் வைத்திருக்கவும். மற்றொன்றை இழக்காமல் முடக்க, அதன் பெயரை மாற்றவும்: .list அல்லது .sources என முடியும் கோப்புகளை மட்டுமே apt வாசிக்கும். எனவே, tailscale.list.bak என மாற்றப்பட்டால், அது தவிர்க்கப்பட்டு, எதிர்காலக் குறிப்பிற்காக வட்டில் அப்படியே இருக்கும்.

deb822 source கோப்பைச் சரியாக எழுதுதல்

நீங்கள் புதிய வடிவத்தையே விரும்பினால், repository முகவரியை மீண்டும் தட்டச்சு செய்வதற்குப் பதிலாக, ஏற்கனவே உள்ள கோப்பை மாற்றவும். ஏனெனில், தட்டச்சுப் பிழைகளே மேலே குறிப்பிட்ட பிழைகளுக்குக் காரணமாகின்றன. சமீபத்திய apt வெளியீடுகளில் .list கோப்புகளை deb822 stanzas-ஆக மாற்றி, signed-by விருப்பத்தை Signed-By-ஆக நகர்த்தும் converter ஒன்று உள்ளது.

apt modernize-sources --help
sudo apt modernize-sources

Ubuntu 24.04-ல் உள்ள apt பதிப்பில் அந்த subcommand இல்லை, எனவே உங்களுடைய பதிப்பில் அது உள்ளதா என்பதை help வரியைப் பார்த்து நொடியில் தெரிந்துகொள்ளலாம். அது இல்லாத பட்சத்தில், வட்டில் ஏற்கனவே உள்ள வரியிலிருந்து stanza-வை உருவாக்கவும். இதனால், நீங்கள் தட்டச்சு செய்வதற்குப் பதிலாக vendor-ன் கோப்பிலிருந்தே அடிப்படைத் தகவல்கள் பெறப்படும்.

. /etc/os-release
{
  echo 'Types: deb'
  echo "URIs: $(awk '/^deb /{print $3}' /etc/apt/sources.list.d/tailscale.list)"
  echo "Suites: $UBUNTU_CODENAME"
  echo 'Components: main'
  echo 'Signed-By: /usr/share/keyrings/tailscale-archive-keyring.gpg'
} | sudo tee /etc/apt/sources.list.d/tailscale.sources
sudo rm /etc/apt/sources.list.d/tailscale.list

அது தான் உருவாக்கிய stanza-வை அச்சிடும், எனவே அடுத்த apt update-க்கு முன்பாக நீங்கள் புலங்களை (fields) சரிபார்த்துக்கொள்ளலாம். அவற்றில் நான்கு புலங்களைப் பற்றி விரிவாகத் தெரிந்துகொள்வது அவசியம், ஏனெனில் ஒவ்வொன்றும் வெவ்வேறு விதமான தோல்விகளை ஏற்படுத்தும்:

  • URIs என்பது repository-ன் அடிப்படையுடன் நின்றுவிடும். அதில் dists/noble பகுதியை ஒட்டினால் 404 பிழை வரும், ஏனெனில் apt தானாகவே dists/<suite>-ஐச் சேர்த்து dists/noble/dists/noble-ஐக் கேட்கும்.
  • Suites என்பது codename ஆகும், இது ஒற்றை வரி வடிவத்தின் நடுவில் இருந்த அதே மதிப்பாகும்.
  • Signed-By என்பது keyring கோப்பிற்கான முழுமையான பாதையை (absolute path) எடுத்துக்கொள்ளும். இது அதன் கீழே உள்ள armored key-யையும் ஏற்றுக்கொள்ளும்; இதில் key-ன் ஒவ்வொரு வரியும் ஒரு இடைவெளி தள்ளி இருக்க வேண்டும் மற்றும் key-க்குள் உள்ள ஒவ்வொரு காலி வரியும் ஒரு புள்ளியாக (dot) எழுதப்பட வேண்டும்.
  • Enabled: no என்பது ஒரு source-ஐ நீக்காமலேயே முடக்க உதவும். இதை மீண்டும் செயல்படுத்துவது, கோப்பின் பெயரை மாற்றுவதை விட எளிதானது மற்றும் அடுத்த நபருக்கு விளக்குவதும் எளிது.

மூன்றாம் தரப்பு repository-களுக்கு ஒரு கோப்பிற்கு ஒரு stanza-வை மட்டும் வைத்திருக்கவும். பலவற்றை ஒன்றாக வைத்திருந்தால், stanza-க்களுக்கு இடையே ஒரு காலி வரியை விடவும். Repository index-ல் அதன் architectures-ல் amd64 மற்றும் arm64 ஆகியவை பட்டியலிடப்பட்டுள்ளன, எனவே ARM VPS-க்கு கூடுதல் Architectures புலம் தேவையில்லை.

இடையில் உள்ள proxy 403 பிழையைத் தருகிறது

இந்த repository-ல் ஒரு path இல்லை என்றால் அது 404 பிழையைத் தரும், எனவே 403 என்பது வேறொரு தளம் உங்கள் சார்பாகப் பதிலளிக்கிறது என்று பொருள். முதலில் apt-ன் சொந்த configuration-ஐச் சரிபார்க்கவும், ஏனெனில் அங்கு அமைக்கப்படும் proxy, உங்கள் interactive curl-க்கு அல்லாமல் apt-க்கு மட்டுமே பொருந்தும்.

grep -RIn -i proxy /etc/apt/apt.conf.d/ /etc/apt/apt.conf
sudo apt-config dump | grep -i 'acquire::http'

பிறகு apt உண்மையில் எதை அனுப்புகிறது என்பதைக் கவனிக்கவும்.

sudo apt -o Debug::Acquire::http=1 update

இது request line, apt அனுப்பிய headers மற்றும் அது இணைக்கப்பட்ட proxy (ஏதேனும் இருந்தால்) ஆகியவற்றைப் பிரிண்ட் செய்யும். அதே URL-க்கு ஒரு சாதாரண curl கட்டளையை அனுப்பி ஒப்பிடவும். curl 200-ஐத் தந்து, apt 403-ஐத் தந்தால், அந்த இரண்டு request-களும் middlebox கவனிக்கும் ஏதோ ஒரு விஷயத்தில் வேறுபடுகின்றன என்று பொருள். இதற்கு வழக்கமான காரணம் user agent ஆகும்:

curl -sS -o /dev/null -w '%{http_code}\n' -A 'Debian APT-HTTP/1.3' https://pkgs.tailscale.com/stable/ubuntu/dists/noble/InRelease

இது 403-ஐத் தந்து, இயல்பான curl 200-ஐத் தந்தால், ஒரு filtering device apt-ஐ அதன் பெயரைக் கொண்டு தடுக்கிறது என்று அர்த்தம். இதற்கான தீர்வை உங்கள் server-ல் அல்ல, அந்த device-ல் தான் செய்ய வேண்டும். TLS-ஐ ஆய்வு செய்யும் ஒரு corporate proxy வித்தியாசமாகச் செயல்படும்: apt ஒரு status code-க்கு பதிலாக certificate சரிபார்ப்பு தோல்வியடைந்ததாகத் தெரிவிக்கும். ஏனெனில், அதற்குப் பெறப்பட்ட certificate Tailscale-ன் certificate authority-ஆல் வழங்கப்படாமல், அந்த proxy-ஆல் வழங்கப்பட்டிருக்கும். Ubuntu mirrors-ஐ மட்டும் அனுமதிக்கும் ஒரு cloud egress firewall மற்றொரு பொதுவான காரணமாகும், அங்கு firewall-ல் pkgs.tailscale.com-ஐ அனுமதிப்பதே தீர்வாகும்.

IPv6 மட்டும் கொண்ட egress மற்றும் status code அல்லாத பிழைகள்

apt-க்கு HTTP பதில் கிடைக்கவில்லை என்றால், ஒவ்வொரு protocol-ஐயும் தனித்தனியாகச் சோதிக்கவும்.

curl -4 -sS -o /dev/null -w 'v4 %{http_code}\n' https://pkgs.tailscale.com/stable/ubuntu/dists/noble/InRelease
curl -6 -sS -o /dev/null -w 'v6 %{http_code}\n' https://pkgs.tailscale.com/stable/ubuntu/dists/noble/InRelease

IPv4 பதில் அளித்து, IPv6 முடங்கிப்போனாலோ அல்லது Network is unreachable பிழையைக் காட்டினாலோ, resolver library IPv6-க்கு முன்னுரிமை அளிப்பதால் apt தோல்வியடைகிறது. அந்த server-ல் IPv6 path சரியாக இல்லை என்பதே இதற்குக் காரணம். இந்த ஊகத்தை உறுதிப்படுத்த, ஒருமுறை IPv4-ஐ மட்டும் கட்டாயப்படுத்தி இயக்கவும்:

sudo apt -o Acquire::ForceIPv4=true update

இந்த update வெற்றி பெற்றால், அதை நிரந்தரமாக்கவும்.

echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

இதற்கு நேர்மாறான சூழலிலும் உண்மையை உணர்ந்து செயல்படவும். IPv4 முகவரியே இல்லாத ஒரு VPS-ல், IPv4-ஐ கட்டாயப்படுத்துவதால் எந்தப் பயனும் இல்லை; ஏனெனில் traffic-ஐச் செலுத்த அங்கு IPv4 route இல்லை. அத்தகைய சூழலில், உங்கள் provider வழங்கும் DNS64 உடன் கூடிய NAT64 தேவைப்படும், அல்லது IPv4 முகவரி கொண்ட ஒரு proxy தேவைப்படும். IPv6 முகவரியைக் குறிப்பிடும் connect error என்பதே இதன் அறிகுறி; எனவே curl -6 வரியே உங்களுக்கு உண்மையான நிலையைத் தெரிவிக்கும்.

மாற்று வழிகளும் அவற்றின் விளைவுகளும்

விற்பனையாளரின் நிறுவல் script. curl -fsSL https://tailscale.com/install.sh | sh என்பது Tailscale பரிந்துரைக்கும் கட்டளையாகும். அந்த script-ஐ ஆய்வு செய்தால், அது /etc/os-release மூலம் உங்கள் distribution-ஐக் கண்டறிந்து, இந்த வழிகாட்டியில் நாம் சரிசெய்த அதே இரண்டு பாதைகளான /usr/share/keyrings/tailscale-archive-keyring.gpg மற்றும் /etc/apt/sources.list.d/tailscale.list ஆகியவற்றை அதே URL-களிலிருந்து பதிவிறக்கம் செய்கிறது. இது உங்கள் எதிர்பார்ப்புகளுக்கு முக்கியமானது: proxy மூலம் தடுக்கப்பட்ட repository-ஐத் தவிர்க்க இது உதவாது. இதுவும் அதே வழியில் தோல்வியடையும், ஆனால் குறைவான தகவல்களையே வெளியிடும். பதிவிறக்கம் செய்யப்பட்ட script-ஐ root பயனர் மூலம் நேரடியாக shell-க்கு அனுப்புவது (piping) ஒரு தீர்வாகாது, அது ஒரு சமரசம். ஏனெனில், அந்தத் தருணத்தில் server என்ன வழங்குகிறதோ அதை நீங்கள் அப்படியே நம்புகிறீர்கள், மேலும் இயக்கப்பட்ட script-ன் நகல் உங்களிடம் இருப்பதில்லை. இந்தச் சமரசத்தை நீங்கள் ஏற்றுக்கொண்டால், அதன் விளைவுகளை உணர்ந்து செயல்படுங்கள்:

curl -fsSL https://tailscale.com/install.sh -o install.sh
less install.sh
sh install.sh

Static binaries. அதே server, pkgs.tailscale.com/stable-ன் static binaries பிரிவில் சாதாரண tarball கோப்புகளை வழங்குகிறது. ஆகஸ்ட் 2026 நிலவரப்படி, stable release பதிப்பு 1.102.2 ஆகும், மேலும் 64-bit x86 கோப்பு tailscale_1.102.2_amd64.tgz ஆகும். tailscale client மற்றும் tailscaled daemon ஆகியவற்றை நீங்களே அந்தந்த இடங்களில் வைக்க வேண்டும், மேலும் daemon-ஐ நீங்களே கண்காணிக்க வேண்டும். எனவே, இதில் apt upgrade பாதை இருக்காது, எதிர்கால அப்டேட்கள் அனைத்தையும் நீங்களே பதிவிறக்கம் செய்ய வேண்டும். இணைய வசதி இல்லாத (air-gapped) host-களில் அல்லது ஒரு குறிப்பிட்ட பதிப்பை மட்டும் பயன்படுத்த வேண்டிய கட்டாயம் இருக்கும்போது இது பயனுள்ளதாக இருக்கும்.

Ubuntu-வின் சொந்த package. இதற்கென பிரத்யேக package எதுவும் இல்லை. விற்பனையாளர் repository-ஐ அமைக்காமல் sudo apt install tailscale கட்டளையை இயக்கினால், அது E: Unable to locate package tailscale-ல் முடிவடையும், மேலும் apt update கட்டளையை எவ்வளவு முறை இயக்கினாலும் எந்த மாற்றமும் இருக்காது. Tailscale-ன் hosted server-க்கு பதிலாக, நீங்கள் கட்டுப்படுத்தும் ஒரு coordination server-ஐப் பயன்படுத்த விரும்பினால், அது ஒரு தனிப்பட்ட முடிவு: Headscale-ஐ உங்கள் சொந்த control server-ஆக இயக்குதல் என்ற பகுதி இதைப் பற்றி விளக்குகிறது, மேலும் Tailscale மற்றும் சாதாரண WireGuard இடையேயான ஒப்பீடு உங்களுக்கு இந்த வசதிகள் தேவையா என்பதைத் தீர்மானிக்க உதவும்.

தொகுப்பு நிறுவப்பட்டது, ஆனால் tailscaled தொடங்கவில்லை

apt வெற்றிகரமாக முடிந்த பிறகு, daemon-ல் பிழைகள் ஏற்படலாம்.

systemctl status tailscaled
sudo journalctl -u tailscaled -n 50

LXC அல்லது OpenVZ போன்ற, host kernel-ஐப் பகிரும் container virtualization-ஐப் பயன்படுத்தும் VPS-ல், /dev/net/tun இல்லை என்ற வரி log-ல் இருக்கும். tailscale0 interface-ஐ உருவாக்க daemon-க்கு TUN device தேவை, ஆனால் அந்த container-க்கு அது வழங்கப்படவில்லை. உங்கள் provider-ஐத் தொடர்புகொண்டு container-ல் TUN-ஐ enable செய்யச் சொல்லுங்கள், அல்லது சொந்த kernel வசதி கொண்ட KVM திட்டத்திற்கு மாறவும். KVM-ல் கூடுதல் அமைப்புகள் ஏதுமின்றி இது செயல்படும்.

அதன்பிறகு, sudo tailscale up ஒரு login URL-ஐக் காட்டும், மேலும் tailscale status உங்கள் கணினியை 100.64.0.0/10 வரம்பில் உள்ள முகவரியுடன் பட்டியலிட வேண்டும். அங்கு தோன்றும் கணினியை நீங்கள் பயன்படுத்தத் தொடங்கலாம்; அதாவது உங்கள் VPS-லிருந்து ஒரு private subnet-ஐ விளம்பரப்படுத்துவது அல்லது VPS-ஐ exit node-ஆகப் பயன்படுத்துவது என எதை வேண்டுமானாலும் செய்யலாம்.

FAQ

Tailscale repository கையொப்பமிடப்படவில்லை (not signed) என்று apt ஏன் கூறுகிறது?

ஏனெனில், apt களஞ்சியத்தின் குறியீட்டை (repository index) பதிவிறக்கம் செய்து, அதன் கையொப்பத்தை /usr/share/keyrings/tailscale-archive-keyring.gpg உடன் சரிபார்க்க முடியவில்லை. இதற்குப் பொதுவான காரணம், keyring கோப்பு பூஜ்ஜிய பைட்டுகளில் இருப்பதுதான்: sudo tee கோப்பை முழுமையாகப் பதிவிறக்கும் முன்பே துண்டித்துவிட்டது, ஆனால் tee வெற்றிகரமாக முடிந்ததால், முழுச் செயல்பாடும் வெற்றி பெற்றதாகக் காட்டப்பட்டது. gpg --show-keys /usr/share/keyrings/tailscale-archive-keyring.gpg கட்டளையை இயக்கவும். சரியாகச் செயல்படும் keyring, ஒரு pub வரியையும், Tailscale-ஐக் குறிப்பிடும் ஒரு uid வரியையும் காட்டும்; காலியாகவோ அல்லது சிதைந்தோ இருந்தால், அது gpg: no valid OpenPGP data found. என்று காட்டும். விசையை (key) ஒரு தற்காலிகக் கோப்பில் பதிவிறக்கி, அதைச் சரிபார்த்து, பின் _apt பயனர் படிக்கும் வகையில் 0644 பயன்முறையில் (mode) சரியான இடத்திற்கு நகர்த்தவும்.

Tailscale URL-களில் எந்த Ubuntu codename-ஐ நான் பயன்படுத்த வேண்டும்?

/etc/os-release கோப்பில் உள்ள UBUNTU_CODENAME மதிப்பைத் தேர்வு செய்யவும். இது Ubuntu 24.04-ல் noble என்றும், Ubuntu 26.04-ல் resolute என்றும் இருக்கும். Ubuntu-விலிருந்து பெறப்பட்ட பிற விநியோகங்களில் (distributions) lsb_release -cs-ஐப் பயன்படுத்த வேண்டாம்: Linux Mint 22-ல் இது wilma என்று காட்டும், அந்தப் பெயரில் Tailscale எதையும் வெளியிடவில்லை, எனவே dists/wilma/InRelease-ல் apt 404 பிழையைக் காட்டும். எதையும் மாற்றும் முன், https://pkgs.tailscale.com/stable/ubuntu/dists/<codename>/InRelease-க்கு எதிராக curl -sS -o /dev/null -w '%{http_code}\n' மூலம் குறியீட்டை நீங்களே பதிவிறக்கி, உங்கள் தேர்வு சரியா என்பதை உறுதிப்படுத்தவும்.

Tailscale install script-ஐ நேரடியாக shell-க்கு pipe செய்து இயக்குவது பாதுகாப்பானதா?

இதை நீங்கள் கவனமாகச் செய்ய வேண்டும். இந்த script Tailscale-லிருந்து வருகிறது, இது கையேடு முறையில் (manual steps) செய்யப்படும் அதே வேலைகளைச் செய்கிறது: இது /etc/os-release-ஐப் படித்து, அதே keyring மற்றும் /etc/apt/sources.list.d/tailscale.list-ஐ எழுதி, பின் தொகுப்பை (package) நிறுவுகிறது. இதன் குறைபாடு என்னவென்றால், அந்த நேரத்தில் server என்ன கொடுக்கிறதோ அதை root அனுமதியுடன் இயக்குகிறீர்கள், அதன் பதிவை நீங்கள் வைத்திருக்கவில்லை. -o install.sh மூலம் அதைத் தரவிறக்கம் செய்து, படித்துவிட்டு, பின் இயக்கினால், பாதுகாப்புச் சிக்கல்கள் இன்றி வசதியைப் பெறலாம். களஞ்சியம் (repository) தடுக்கப்பட்டிருந்தால், இந்த script-ஆல் உதவ முடியாது, ஏனெனில் அது ஏற்கனவே தோல்வியடைந்த அதே URL-களையே பயன்படுத்துகிறது.

apt repository இல்லாமல் Ubuntu-வில் Tailscale-ஐ எவ்வாறு நிறுவுவது?

pkgs.tailscale.com-ல் வெளியிடப்பட்ட static tarballs-ஐப் பயன்படுத்தவும். ஆகஸ்ட் 2026 நிலவரப்படி, இது 1.102.2 பதிப்பில் உள்ளது, amd64 கோப்பு tailscale_1.102.2_amd64.tgz என்று பெயரிடப்பட்டுள்ளது. tailscale மற்றும் tailscaled நிரல்களை நீங்களே நிறுவி, systemd-ன் கீழ் daemon-ஐ நீங்களே இயக்க வேண்டும். இதில் உள்ள குறைபாடு மேம்படுத்தல்கள் (upgrades) ஆகும்: புதிய பதிப்பைப் பெற apt தொகுப்பு ஏதும் இல்லை, எனவே ஒவ்வொரு மேம்படுத்தலும் கைமுறையாகவே செய்யப்பட வேண்டும். Ubuntu-வின் காப்பகத்தில் (archive) சொந்தமாக tailscale தொகுப்பு இல்லை, எனவே விற்பனையாளர் களஞ்சியம் இல்லாத கணினியில் sudo apt install tailscale கட்டளை E: Unable to locate package tailscale-ல் நின்றுவிடும்.