| APT-TRANSPORT-HTTP(1) | APT | APT-TRANSPORT-HTTP(1) |
نام (NAME)
apt-transport-http - درایور انتقال APT برای دانلود از طریق پروتکل انتقال ابرمتن (HTTP)
توضیحات (DESCRIPTION)
این درایور انتقال APT امکان استفاده از مخازنی را فراهم میکند که از طریق پروتکل انتقال ابرمتن (HTTP) قابل دسترسی هستند. این قابلیت بهطور پیشفرض در دسترس بوده و احتمالاً پرکاربردترین روش در میان تمامی درایورهای انتقال است. توجه داشته باشید که یک درایور انتقال هرگز مستقیماً توسط کاربر فراخوانی نمیشود، بلکه توسط ابزارهای APT بر اساس پیکربندی کاربر استفاده میگردد.
پروتکل HTTP یک پروتکل انتقال رمزنگارینشده است؛ به این معنی که کل ارتباط با سرور راه دور (یا پراکسی) میتواند توسط یک مهاجم با توانایی کافی که معمولاً «مرد میانی» (MITM) نامیده میشود، مشاهده شود. با این حال، چنین مهاجمی نمیتواند ارتباط را دستکاری کند تا امنیت سیستم شما به خطر بیفتد، چرا که مدل امنیت دادههای APT مستقل از روش انتقال انتخابشده است. این موضوع با جزئیات در apt-secure(8) توضیح داده شده است. مروری کلی بر روشهای انتقال موجود در sources.list(5) ارائه شده است.
گزینهها (OPTIONS)
گزینههای گوناگونی را میتوان در یک فایل apt.conf(5) برای تغییر رفتار آن تنظیم کرد؛ این گزینهها از پیکربندی پراکسی تا راهکارهای دور زدن محدودیتهای خاص سرور را در بر میگیرند.
پیکربندی پراکسی (Proxy Configuration)
متغیر محیطی http_proxy برای پیکربندی سراسری در سطح سیستم پشتیبانی میشود. پراکسیهای ویژه APT را میتوان از طریق گزینه Acquire::http::Proxy پیکربندی کرد. پراکسیهایی که فقط باید برای میزبانهای خاصی استفاده شوند را میتوان از طریق Acquire::http::Proxy::host مشخص کرد. حتی کنترل دقیقتری را میتوان از طریق تشخیص خودکار پراکسی به دست آورد که جزئیات بیشتر آن در ادامه آمده است. تمامی این گزینهها از قالب URI زیر استفاده میکنند: scheme://[[user][:pass]@]host[:port]/. طرحهای URI پشتیبانیشده عبارتند از socks5h (پروتکل SOCKS5 به همراه تفکیک نام DNS از راه دور)، http و https. جزئیات احراز هویت را میتوان به جای درج مستقیم در URI، از طریق apt_auth.conf(5) ارائه کرد.
گزینههای مختلف پیکربندی APT از مقدار ویژه DIRECT پشتیبانی میکنند که به معنای عدم استفاده از هرگونه پراکسی است. متغیر محیطی no_proxy نیز برای همین منظور پشتیبانی میشود.
علاوه بر این، سه تنظیم برای کنترل حافظه موقت (کش) با پراکسیهای سازگار با HTTP/1.1 در نظر گرفته شده است: Acquire::http::No-Cache به پراکسی اعلام میکند که تحت هیچ شرایطی از پاسخ ذخیرهشده در حافظه موقت خود استفاده نکند. Acquire::http::Max-Age حداکثر عمر مجاز (به ثانیه) یک فایل نمایه در حافظه موقت پراکسی را تعیین میکند. Acquire::http::No-Store مشخص میکند که پراکسی نباید فایلهای آرشیو درخواستی را در حافظه موقت خود ذخیره کند، که میتواند برای جلوگیری از آلوده شدن حافظه موقت پراکسی با فایلهای .deb (بزرگ) استفاده شود.
پیکربندی خودکار پراکسی (Automatic Proxy Configuration)
Acquire::http::Proxy-Auto-Detect میتواند برای مشخص کردن یک دستور خارجی جهت شناسایی پراکسی HTTP مورد استفاده قرار گیرد. اولین و تنها پارامتر آن، یک URI است که نشاندهنده میزبانِ مقصد است تا امکان پیکربندی مختص به میزبان فراهم شود. APT انتظار دارد که این دستور، پراکسی را در خروجی استاندارد (stdout) در یک خط واحد با همان قالب URI که پیشتر مشخص شد خروجی دهد، یا در صورتی که نباید از هیچ پراکسی استفاده شود، کلمه DIRECT را چاپ کند. عدم وجود هرگونه خروجی نشان میدهد که باید از تنظیمات عمومی پراکسی استفاده شود.
توجه داشته باشید که اگر یک پیکربندی پراکسی مختص میزبان از قبل از طریق Acquire::http::Proxy::host تنظیم شده باشد، از تشخیص خودکار برای آن میزبان استفاده نخواهد شد.
برای نمونههای پیادهسازی، بستههای squid-deb-proxy-client(1) و auto-apt-proxy(1) را ببینید.
این گزینه بر نام گزینه قدیمی Acquire::http::ProxyAutoDetect اولویت دارد.
پیکربندی اتصال (Connection Configuration)
گزینه Acquire::http::Timeout زمانسنج مهلت زمانی (timeout) مورد استفاده توسط این روش را تنظیم میکند؛ این مقدار هم برای اتصال و هم برای مهلت زمانی دریافت دادهها اعمال میشود.
پهنای باند مصرفی را میتوان با Acquire::http::Dl-Limit محدود کرد که مقادیر عدد صحیح را بر حسب کیلوبایت بر ثانیه میپذیرد. مقدار پیشفرض 0 است که محدودیت را غیرفعال کرده و تلاش میکند از تمام پهنای باند موجود استفاده کند. توجه داشته باشید که این گزینه بهطور ضمنی دانلود همزمان از چندین سرور را غیرفعال میکند.
تنظیم Acquire::http::Pipeline-Depth میتواند برای فعالسازی خطلولهسازی HTTP (بخش 8.1.2.2 از RFC 2616) استفاده شود که برای مثال در اتصالات با تاخیر بالا (high-latency) میتواند سودمند باشد. این تنظیم مشخص میکند که چه تعداد درخواست در یک خطلوله ارسال شوند. APT تلاش میکند وبسرورها و پراکسیهای ناسازگار را در زمان اجرا شناسایی کرده و با آنها سازگار شود، اما اگر میدانید که سرور شما با مشخصات HTTP/1.1 مطابقت ندارد، خطلولهسازی را میتوان با تنظیم مقدار آن روی 0 غیرفعال کرد. این ویژگی بهطور پیشفرض با مقدار 10 فعال است.
گزینه Acquire::http::AllowRedirect کنترل میکند که آیا APT تغییر مسیرها (redirects) را دنبال کند یا خیر، که بهطور پیشفرض فعال است.
گزینه Acquire::http::User-Agent میتواند برای تنظیم یک عامل کاربر (User-Agent) متفاوت برای روش دانلود http استفاده شود، زیرا برخی پراکسیها تنها در صورتی به کلاینتها اجازه دسترسی میدهند که از یک شناسه شناختهشده استفاده کنند.
گزینه Acquire::http::SendAccept بهطور پیشفرض فعال است و یک فیلد هدر Accept: text/* را برای درخواستهای بدون پسوند فایل به سرور ارسال میکند تا از تلاش سرور برای مذاکره محتوا (content negotiation) جلوگیری نماید.
مثالها (EXAMPLES)
Acquire::http {
Proxy::example.org "DIRECT";
Proxy "socks5h://apt:pass@127.0.0.1:9050";
Proxy-Auto-Detect "/usr/local/bin/apt-http-proxy-auto-detect";
No-Cache "true";
Max-Age "3600";
No-Store "true";
Timeout "10";
Dl-Limit "42";
Pipeline-Depth "0";
AllowRedirect "false";
User-Agent "My APT-HTTP";
SendAccept "false";
};
همچنین ببینید (SEE ALSO)
اشکالات (BUGS)
صفحه اشکالات APT[1]. اگر مایل به گزارش اشکال در APT هستید، لطفاً /usr/share/doc/debian/bug-reporting.txt یا دستور reportbug(1) را ببینید.
نویسندگان (AUTHORS)
تیم APT
یادداشتها (NOTES)
- 1.
- صفحه اشکالات APT
| 04 April 2019 | APT 3.3.3 |