این مقاله نحوه نصب، حذف، آپدیت و جستجوی پکیج های نرم افزاری را با استفاده از دستور apt-get و apt-cache در توزیع های لینوکس بر پایه Debian (مانند اوبونتو/دبیان/مینت و غیره) آموزش میدهید. در این پست ما دستورات مفید که به شما در مدیریت پکیج ها در سیستم های Debian/Ubuntu کمک خواهد کرد را فراهم کردیم.
apt-get چیست ؟
نرم افزار apt-get در حقیقت برنامه کامند لاینی بسیار قدرتمند و رایگان برای مدیریت پکیج میباشد که به منظور کار با Library (کتابخانه) APT در ubuntu که مخفف Advanced Packaging Tool است استفاده میشود. تا نصب پکیج های نرم افزاری جدید، حذف پکیج های نرم افزاری موجود، آپدیت پکیج های نرم افزاری موجود و یا حتی Upgrade کل سیستم عامل را اجرا میکند.
apt-cache چیست ؟
دستور apt-cache برای جستجوی cache پکیج نرم افزاری apt مورد استفاده قرار میگیرد. به عبارت ساده این ابزار برای سرچ پکیج های نرم افزاری جمع آوری اطلاعات پکیج ها و همچنین جستجو برای پکیج های موجود که آماده نصب روی سیستم عامل ubuntu یا debian هستند استفاده میشود.
همچنین توصیه میشود مطالعه کنید :
دستور apt در لینوکس برای مدیریت پکیج ها به همراه 15 مثال عملی
دستور dpkg در لینوکس برای نصب پکیج های .deb به همراه 15 مثال عملی
5 دستور مفید پایه از apt-cache :
1 - چگونه همه پکیج های موجود را لیست کنیم
برای لیست کردن همه پکیج های موجود دستور زیر را اجرا کنید :
2 - چگونه نام پکیج و توضیحات نرم افزار را پیدا کنیم
برای پیدا کردن نام پکیج به همرا توضیحات قبل از نصب آن باید از گزینه search استفاده کنیم. استفاده از search به همراه apt-cache لیست پکیج های match با توضیحات کوتاه نمایش داده خواهد شد. مثلا برای پیدا کردن توضیحات پکیج vsftpd دستور زیر را اجرا کنید :
برای یافتن و لیست کردن تمام پکیج هایی که با vsftpd شروع میشوند دستور زیر را اجرا کنید :
3 - چگونه اطلاعات پکیج را چک کنیم
برای مثال اگر بخواهیم اطلاعات پکیج به همراه توضیحات کوتاه (شماره ورژن، خلاصه، سایز، سایز نصب، گروه و ...) را چک کنیم دستور زیر را باید اجرا کنیم :
4 - چگونه dependency های پکیج خاص را چک کنیم
آپشن showpkg برای دستور apt-cache پکیج های پیش نیاز برای نرم افزار مورد نظر را چک میکند. همچنین این که آیا این پکیج های پیش نیاز روی سیستم نصب هستند یا نیستند. برای این منظور دستور زیر را اجرا نمایید :
5 - چگونه آمار cache را چک کنیم
گزینه stats کل آمار cache را نمایش خواهد داد. برای مثال دستور زیر تعداد کل نام های پکیج که در cache موجود هستند را نمایش خواهد داد :
20 دستور پایه از مدیریت پکیج apt-get :
6 - چگونگی آپدیت پکیج های سیستم
دستور update برای resynchronize کردن فایل های index پکیج از source آنها در /etc/apt/sources.list/ استفاده میشود. دستور update پکیج ها را از ریپازیتوری های آنها میخواند و مثلا میفهمد که ورژن جدید پکیج rar در یک repository موجود است. در حقیقت این دستور لیست پکیج های موجود در repository ها را میخواند و مروری روی repository ها در فایل بالا دارد. اگر شما تغییری در فایل sources.list اعمال کنید مثلا ریپازیتوری اضافه و یا حذف کنید باید حتما دستور زیر را اجرا کنید تا تغییرات لحاظ شود :
7 - چگونگی upgrade پکیج های نرم افزاری
دستور upgrade برای upgrade کردن تمام پکیج های نصب شده جاری روی سیستم استفاده میشود. با این عملیات پکیج های نصب شده جاری حذف نمیشوند همچنین پکیج هایی که از قبل نصب نبودند ممکن است به دلیل پیش نیازات آپگرید نصب شود :
به هر حال اگر شما بخواهید upgrade انجام دهید بدون توجه به این که چه پکیج هایی اضافه خواهند شد و یا حذف خواهند شد (برای رفع مشکلات dependency ها) از گزینه dist-upgrade در دستور خود استفاده کنید:
8 - چگونگی نصب یا upgrade پکیج خاص
گزینه install که به همراه آن نام یک یا چندین پکیج دنبال میشود پکیج ها را نصب و در صورت نصب به آخرین ورژن upgrade خواهد کرد :
9 - چگونه چندین پکیج را نصب کنیم
شما میتوانید بیشتر از یک نام پکیج در دستور apt-get install استفاده کنید. برای مثال دستور زیر 2 پکیج nethogs و goaccess را نصب خواهد کرد :
10 - چگونگی نصب چندین پکیج با استفاده از wildcard
با استفاده از عبارات خاص شما میتوانید چندین پکیج با یک string را اضافه کنید. برای مثال از wildcard ستاره (*) برای نصب چندین پکیج که شامل استرینگ "*name*" باشند استفاده میکنیم. name در حقیقت نام پکیج است :
11 - چگونگی نصب پکیج بدون upgrade
با استفاده از گزینه no-upgrade-- از آپگرید شدن پکیج هایی که از قبل روی سیستم نصب هستند جلوگیری خواهد شد :
12 - چگونگی upgrade فقط پکیج های خاص
گزینه only-upgrade-- پکیج های جدید را نصب نمیکند و تنها پکیج های از قبل نصب شده را upgrade خواهد کرد. در حقیقت نصب جدید از پکیج ها را غیر فعال میکند :
13 - چگونه ورژن خاصی از پکیج را نصب کنیم
مثلا فرض کنید شما میخواهید ورژن خاصی از پکیج را بر حسب نیازتان نصب کنید. به راحتی با استفاده از علامت مساوی "=" بعد از نام پکیج که به دنبال آن ورژن مورد نظر اضافه میشود میتوان این کار را انجام داد :
14 - چگونگی حذف پکیج ها بدون configuration
برای uninstall کردن پکیج های نرم افزاری بدون حذف فایل های configuration آنها (برای استفاده بعدی از همین تنظیمات) از گزینه remove همانطور که در زیر میبینید استفاده کنید :
15 - چگونگی حذف کامل یک پکیج
برای حذف پکیج های نرم افزاری به همراه فایل های configuration آنها از گزینه purge استفاده میکنیم :
همچنین شما میتوانید 2 دستور را با هم ترکیب کنید :
16 - چگونگی پاک کردن فضای دیسک
گزینه clean برای پاک کردن فضای دیسک توسط پاک کردن فایل های (پکیج ها) deb. دانلود شده از repository لوکال (local) استفاده میشود :
17 - چگونگی دانلود تنها source code پکیج
برای دانلود کردن تنها سورس کد پکیج خاص از آپشن download-only source-- به همراه نام پکیج استفاده میکنیم:
18 - چگونگی Download و Unpack کردن یک پکیج
برای دانلود و unpack کردن source code یک پکیج به یک مسیر خاص دستور زیر را اجرا میکنیم :
19 - چگونگی Download , Unpack و Compile کردن یک پکیج
همچنین شما میتوانید source code را در یک زمان واحد download , unpack و compile کنید که باید از گزینه compile-- نیز استفاده کنید :
20 - چگونگی دانلود یک پکیج بدون نصب آن
با استفاده از گزینه download شما میتوانید هر گونه پکیجی را بدون اینکه نصب شود دانلود کنید. برای مثال دستور زیر پکیج nethogs را در دایرکتوری جاری فقط دانلود میکند :
21 - چگونه change log پکیج را چک کنیم
گزینه change log در حقیقت change-log پکیج را دانلود میکند و ورژن پکیج نصب شده را نمایش میدهد :
22 - چگونگی چک کردن Broken Dependencies
گزینه check به نوعی یک ابزار تشخیصی است که برای آپدیت کردن cache پکیج و بررسی های broken dependencies (پکیج های پیش نیازی که در ریپازیتوری های موجود وجود ندارند) استفاده میشود :
23 - چگونگی سرچ و ایجاد پکیج های پیش نیاز
گزینه build-dep ریپازیتوری های local در سیستم را سرچ میکند و پیش نیازهای پکیج را نصب میکند. اگر پکیج در repository لوکال موجود نباشد یک پیغام خطا برخواهد گرداند :
24 - چگونه به صورت اتوماتیک apt-get cache را پاک کنیم
گزینه autoclean تمامی فایل های deb. را از /var/cache/apt/archives/ حذف خواهد کرد تا فضای کافی از دیسک را آزاد کنیم :
25 - چگونه میتوانیم packeg های نصب شده را به صورت اتوماتیک حذف کنیم
گزینه autoremove برای حذف اتوماتیک پکیج هایی که قبلا برای پیش نیاز (dependency) نرم افزارها نصب شده بودند و در حال حاضر نیازی به آنها نداریم استفاده میشود. برای مثال دستور زیر پکیج vsftpd به همراه پیش نیازهایش را حذف خواهد کرد. در حقیقت دستور به صورت اتوماتیک بررسی میکند که آیا پیش نیازهای نرم افزار vsftpd توسط نرم افزار دیگری مورد نیاز نباشد و در صورت هیچ گونه نیازی به این پیش نیاز ها آن ها را به صورت اتوماتیک حذف خواهد کرد :
من در این پست اکثر گزینه های موجود برای 2 دستور apt-get و apt-cache را توضیح دادم البته گزینه های موجود دیگری هم هستند که شما با استفاده از بررسی 2 دستور man apt-get و man apt-cache در ترمینال آنها را میتوانید چک کنید. امیدوارم از خواندن این مطلب لذت برده باشید. اگر چیزی از قلم افتاد و دوست داشتید آن را اضافه کنید واقعا باعث خوشحالی بنده است.
همچنین خواندن پست زیر را به شما توصیه میکنم که ارتباط نزدیکی با این مطلب دارد پس مطالعه آن خالی از لطف نیست:
دستور yum برای مدیریت پکیج ها (نصب، حذف، آپگرید) در توزیع های CentOS/RedHat
هر گونه کپی برداری با کمی تغییر در عنوان و متن نوشته ها غیر قابل قبول منطقه لینوکسی ها میباشد.
موفق باشید
محمد هابیلی
apt-get چیست ؟
نرم افزار apt-get در حقیقت برنامه کامند لاینی بسیار قدرتمند و رایگان برای مدیریت پکیج میباشد که به منظور کار با Library (کتابخانه) APT در ubuntu که مخفف Advanced Packaging Tool است استفاده میشود. تا نصب پکیج های نرم افزاری جدید، حذف پکیج های نرم افزاری موجود، آپدیت پکیج های نرم افزاری موجود و یا حتی Upgrade کل سیستم عامل را اجرا میکند.
apt-cache چیست ؟
دستور apt-cache برای جستجوی cache پکیج نرم افزاری apt مورد استفاده قرار میگیرد. به عبارت ساده این ابزار برای سرچ پکیج های نرم افزاری جمع آوری اطلاعات پکیج ها و همچنین جستجو برای پکیج های موجود که آماده نصب روی سیستم عامل ubuntu یا debian هستند استفاده میشود.
همچنین توصیه میشود مطالعه کنید :
دستور apt در لینوکس برای مدیریت پکیج ها به همراه 15 مثال عملی
دستور dpkg در لینوکس برای نصب پکیج های .deb به همراه 15 مثال عملی
5 دستور مفید پایه از apt-cache :
1 - چگونه همه پکیج های موجود را لیست کنیم
برای لیست کردن همه پکیج های موجود دستور زیر را اجرا کنید :
کد PHP:
$ apt-cache pkgnames
esseract-ocr-epo
pipenightdreams
mumudvb
tbb-examples
libsvm-java
libmrpt-hmtslam0.9
libboost-timer1.50-dev
kcm-touchpad
g++-4.5-multilib
...
2 - چگونه نام پکیج و توضیحات نرم افزار را پیدا کنیم
برای پیدا کردن نام پکیج به همرا توضیحات قبل از نصب آن باید از گزینه search استفاده کنیم. استفاده از search به همراه apt-cache لیست پکیج های match با توضیحات کوتاه نمایش داده خواهد شد. مثلا برای پیدا کردن توضیحات پکیج vsftpd دستور زیر را اجرا کنید :
کد PHP:
$ apt-cache search vsftpd
vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool
کد PHP:
$ apt-cache pkgnames vsftpd
vsttpd
3 - چگونه اطلاعات پکیج را چک کنیم
برای مثال اگر بخواهیم اطلاعات پکیج به همراه توضیحات کوتاه (شماره ورژن، خلاصه، سایز، سایز نصب، گروه و ...) را چک کنیم دستور زیر را باید اجرا کنیم :
کد PHP:
$ apt-cache show netcat
Package: netcat
Priority: optional
Section: universe/net
Installed-Size: 30
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ruben Molina <rmolina@udea.edu.co>
Architecture: all
Version: 1.10-40
Depends: netcat-traditional (>= 1.10-39)
Filename: pool/universe/n/netcat/netcat_1.10-40_all.deb
Size: 3340
MD5sum: 37c303f02b260481fa4fc9fb8b2c1004
SHA1: 0371a3950d6967480985aa014fbb6fb898bcea3a
SHA256: eeecb4c93f03f455d2c3f57b0a1e83b54dbeced0918ae563784e86a37bcc16c9
Description-en: TCP/IP swiss army knife -- transitional package
This is a "dummy" package that depends on lenny's default version of
netcat, to ease upgrades. It may be safely removed.
Description-md5: 1353f8c1d079348417c2180319bdde09
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
4 - چگونه dependency های پکیج خاص را چک کنیم
آپشن showpkg برای دستور apt-cache پکیج های پیش نیاز برای نرم افزار مورد نظر را چک میکند. همچنین این که آیا این پکیج های پیش نیاز روی سیستم نصب هستند یا نیستند. برای این منظور دستور زیر را اجرا نمایید :
کد PHP:
$ apt-cache showpkg vsftpd
Package: vsftpd
Versions:
2.3.5-3ubuntu1 (/var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_binary-i386_Packages
MD5: 81386f72ac91a5ea48f8db0b023f3f9b
Description Language: en
File: /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_quantal_main_i18n_Translation-en
MD5: 81386f72ac91a5ea48f8db0b023f3f9b
Reverse Depends:
ubumirror,vsftpd
harden-servers,vsftpd
Dependencies:
2.3.5-3ubuntu1 - debconf (18 0.5) debconf-2.0 (0 (null)) upstart-job (0 (null)) libc6 (2 2.15) libcap2 (2 2.10) libpam0g (2 0.99.7.1) libssl1.0.0 (2 1.0.0) libwrap0 (2 7.6-4~) adduser (0 (null)) libpam-modules (0 (null)) netbase (0 (null)) logrotate (0 (null)) ftp-server (0 (null)) ftp-server (0 (null))
Provides:
2.3.5-3ubuntu1 - ftp-server
Reverse Provides:
5 - چگونه آمار cache را چک کنیم
گزینه stats کل آمار cache را نمایش خواهد داد. برای مثال دستور زیر تعداد کل نام های پکیج که در cache موجود هستند را نمایش خواهد داد :
کد PHP:
$ apt-cache stats
Total package names: 51868 (1,037 k)
Total package structures: 51868 (2,490 k)
Normal packages: 39505
Pure virtual packages: 602
Single virtual packages: 3819
Mixed virtual packages: 1052
Missing: 6890
Total distinct versions: 43015 (2,753 k)
Total distinct descriptions: 81048 (1,945 k)
Total dependencies: 252299 (7,064 k)
Total ver/file relations: 45567 (729 k)
Total Desc/File relations: 81048 (1,297 k)
Total Provides mappings: 8228 (165 k)
Total globbed strings: 286 (3,518 )
Total dependency version space: 1,145 k
Total slack space: 62.6 k
Total space accounted for: 13.3 M
20 دستور پایه از مدیریت پکیج apt-get :
6 - چگونگی آپدیت پکیج های سیستم
دستور update برای resynchronize کردن فایل های index پکیج از source آنها در /etc/apt/sources.list/ استفاده میشود. دستور update پکیج ها را از ریپازیتوری های آنها میخواند و مثلا میفهمد که ورژن جدید پکیج rar در یک repository موجود است. در حقیقت این دستور لیست پکیج های موجود در repository ها را میخواند و مروری روی repository ها در فایل بالا دارد. اگر شما تغییری در فایل sources.list اعمال کنید مثلا ریپازیتوری اضافه و یا حذف کنید باید حتما دستور زیر را اجرا کنید تا تغییرات لحاظ شود :
کد PHP:
$ sudo apt-get update
[sudo] password for tecmint:
Ign http://security.ubuntu.com quantal-security InRelease
Get:1 http://security.ubuntu.com quantal-security Release.gpg [933 B]
Get:2 http://security.ubuntu.com quantal-security Release [49.6 kB]
Ign http://in.archive.ubuntu.com quantal InRelease
Ign http://in.archive.ubuntu.com quantal-updates InRelease
Get:3 http://repo.varnish-cache.org precise InRelease [13.7 kB]
Ign http://in.archive.ubuntu.com quantal-backports InRelease
Hit http://in.archive.ubuntu.com quantal Release.gpg
Get:4 http://security.ubuntu.com quantal-security/main Sources [34.8 kB]
Get:5 http://in.archive.ubuntu.com quantal-updates Release.gpg [933 B]
...
7 - چگونگی upgrade پکیج های نرم افزاری
دستور upgrade برای upgrade کردن تمام پکیج های نصب شده جاری روی سیستم استفاده میشود. با این عملیات پکیج های نصب شده جاری حذف نمیشوند همچنین پکیج هایی که از قبل نصب نبودند ممکن است به دلیل پیش نیازات آپگرید نصب شود :
کد PHP:
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-headers-generic linux-image-generic wine1.5 wine1.5-i386
The following packages will be upgraded:
activity-log-manager-common activity-log-manager-control-center adium-theme-ubuntu alacarte
alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk apt
apt-transport-https apt-utils aptdaemon aptdaemon-data at-spi2-core bamfdaemon base-files bind9-host
...
کد PHP:
$ sudo apt-get dist-upgrade
8 - چگونگی نصب یا upgrade پکیج خاص
گزینه install که به همراه آن نام یک یا چندین پکیج دنبال میشود پکیج ها را نصب و در صورت نصب به آخرین ورژن upgrade خواهد کرد :
کد PHP:
$ sudo apt-get install netcat
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
netcat-traditional
The following NEW packages will be installed:
netcat netcat-traditional
0 upgraded, 2 newly installed, 0 to remove and 328 not upgraded.
Need to get 67.1 kB of archives.
After this operation, 186 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat-traditional i386 1.10-40 [63.8 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe netcat all 1.10-40 [3,340 B]
Fetched 67.1 kB in 1s (37.5 kB/s)
Selecting previously unselected package netcat-traditional.
(Reading database ... 216118 files and directories currently installed.)
Unpacking netcat-traditional (from .../netcat-traditional_1.10-40_i386.deb) ...
Selecting previously unselected package netcat.
Unpacking netcat (from .../netcat_1.10-40_all.deb) ...
Processing triggers for man-db ...
Setting up netcat-traditional (1.10-40) ...
Setting up netcat (1.10-40) ...
9 - چگونه چندین پکیج را نصب کنیم
شما میتوانید بیشتر از یک نام پکیج در دستور apt-get install استفاده کنید. برای مثال دستور زیر 2 پکیج nethogs و goaccess را نصب خواهد کرد :
کد PHP:
$ sudo apt-get install nethogs goaccess
Reading package lists... Done
Building dependency tree
Reading state information... Done
goaccess is already the newest version.
nethogs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
10 - چگونگی نصب چندین پکیج با استفاده از wildcard
با استفاده از عبارات خاص شما میتوانید چندین پکیج با یک string را اضافه کنید. برای مثال از wildcard ستاره (*) برای نصب چندین پکیج که شامل استرینگ "*name*" باشند استفاده میکنیم. name در حقیقت نام پکیج است :
کد PHP:
$ sudo apt-get install '*name*'
11 - چگونگی نصب پکیج بدون upgrade
با استفاده از گزینه no-upgrade-- از آپگرید شدن پکیج هایی که از قبل روی سیستم نصب هستند جلوگیری خواهد شد :
کد PHP:
$ sudo apt-get install packageName --no-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Skipping vsftpd, it is already installed and upgrade is not set.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
12 - چگونگی upgrade فقط پکیج های خاص
گزینه only-upgrade-- پکیج های جدید را نصب نمیکند و تنها پکیج های از قبل نصب شده را upgrade خواهد کرد. در حقیقت نصب جدید از پکیج ها را غیر فعال میکند :
کد PHP:
$ sudo apt-get install packageName --only-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
vsftpd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
13 - چگونه ورژن خاصی از پکیج را نصب کنیم
مثلا فرض کنید شما میخواهید ورژن خاصی از پکیج را بر حسب نیازتان نصب کنید. به راحتی با استفاده از علامت مساوی "=" بعد از نام پکیج که به دنبال آن ورژن مورد نظر اضافه میشود میتوان این کار را انجام داد :
کد PHP:
$ sudo apt-get install vsftpd=2.3.5-3ubuntu1
Reading package lists... Done
Building dependency tree
Reading state information... Done
vsftpd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
14 - چگونگی حذف پکیج ها بدون configuration
برای uninstall کردن پکیج های نرم افزاری بدون حذف فایل های configuration آنها (برای استفاده بعدی از همین تنظیمات) از گزینه remove همانطور که در زیر میبینید استفاده کنید :
کد PHP:
$ sudo apt-get remove vsftpd
[sudo] password for tecmint:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 364 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 216156 files and directories currently installed.)
Removing vsftpd ...
vsftpd stop/waiting
Processing triggers for ureadahead ...
Processing triggers for man-db ...
15 - چگونگی حذف کامل یک پکیج
برای حذف پکیج های نرم افزاری به همراه فایل های configuration آنها از گزینه purge استفاده میکنیم :
کد PHP:
$ sudo apt-get purge vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 216107 files and directories currently installed.)
Removing vsftpd ...
Purging configuration files for vsftpd ...
Processing triggers for ureadahead ...
کد PHP:
$ sudo apt-get remove --purge vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 328 not upgraded.
After this operation, 364 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 216156 files and directories currently installed.)
Removing vsftpd ...
vsftpd stop/waiting
Purging configuration files for vsftpd ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
16 - چگونگی پاک کردن فضای دیسک
گزینه clean برای پاک کردن فضای دیسک توسط پاک کردن فایل های (پکیج ها) deb. دانلود شده از repository لوکال (local) استفاده میشود :
کد PHP:
$ sudo apt-get clean
17 - چگونگی دانلود تنها source code پکیج
برای دانلود کردن تنها سورس کد پکیج خاص از آپشن download-only source-- به همراه نام پکیج استفاده میکنیم:
کد PHP:
$ sudo apt-get --download-only source vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 220 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB]
Fetched 220 kB in 4s (49.1 kB/s)
Download complete and in download only mode
18 - چگونگی Download و Unpack کردن یک پکیج
برای دانلود و unpack کردن source code یک پکیج به یک مسیر خاص دستور زیر را اجرا میکنیم :
کد PHP:
$ sudo apt-get source vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 220 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (dsc) [1,883 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (tar) [188 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main vsftpd 2.3.5-3ubuntu1 (diff) [30.5 kB]
Fetched 220 kB in 1s (112 kB/s)
gpgv: Signature made Thursday 24 May 2012 02:35:09 AM IST using RSA key ID 2C48EE4E
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./vsftpd_2.3.5-3ubuntu1.dsc
dpkg-source: info: extracting vsftpd in vsftpd-2.3.5
dpkg-source: info: unpacking vsftpd_2.3.5.orig.tar.gz
dpkg-source: info: unpacking vsftpd_2.3.5-3ubuntu1.debian.tar.gz
dpkg-source: info: applying 01-builddefs.patch
dpkg-source: info: applying 02-config.patch
dpkg-source: info: applying 03-db-doc.patch
dpkg-source: info: applying 04-link-local.patch
dpkg-source: info: applying 05-whitespaces.patch
dpkg-source: info: applying 06-greedy.patch
dpkg-source: info: applying 07-utf8.patch
dpkg-source: info: applying 08-manpage.patch
dpkg-source: info: applying 09-s390.patch
dpkg-source: info: applying 10-remote-dos.patch
dpkg-source: info: applying 11-alpha.patch
dpkg-source: info: applying 09-disable-anonymous.patch
dpkg-source: info: applying 12-ubuntu-use-snakeoil-ssl.patch
19 - چگونگی Download , Unpack و Compile کردن یک پکیج
همچنین شما میتوانید source code را در یک زمان واحد download , unpack و compile کنید که باید از گزینه compile-- نیز استفاده کنید :
کد PHP:
$ sudo apt-get --compile source goaccess
[sudo] password for tecmint:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 130 kB of source archives.
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (dsc) [1,120 B]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (tar) [127 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/universe goaccess 1:0.5-1 (diff) [2,075 B]
Fetched 130 kB in 1s (68.0 kB/s)
gpgv: Signature made Tuesday 26 June 2012 09:38:24 AM IST using DSA key ID A9FD4821
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./goaccess_0.5-1.dsc
dpkg-source: info: extracting goaccess in goaccess-0.5
dpkg-source: info: unpacking goaccess_0.5.orig.tar.gz
dpkg-source: info: unpacking goaccess_0.5-1.debian.tar.gz
dpkg-buildpackage: source package goaccess
dpkg-buildpackage: source version 1:0.5-1
dpkg-buildpackage: source changed by Chris Taylor <ctaylor@debian.org>
dpkg-buildpackage: host architecture i386
dpkg-source --before-build goaccess-0.5
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 9) autotools-dev libncurses5-dev libglib2.0-dev libgeoip-dev autoconf
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
...
20 - چگونگی دانلود یک پکیج بدون نصب آن
با استفاده از گزینه download شما میتوانید هر گونه پکیجی را بدون اینکه نصب شود دانلود کنید. برای مثال دستور زیر پکیج nethogs را در دایرکتوری جاری فقط دانلود میکند :
کد PHP:
$ sudo apt-get download nethogs
Get:1 Downloading nethogs 0.8.0-1 [27.1 kB]
Fetched 27.1 kB in 3s (7,506 B/s)
21 - چگونه change log پکیج را چک کنیم
گزینه change log در حقیقت change-log پکیج را دانلود میکند و ورژن پکیج نصب شده را نمایش میدهد :
کد PHP:
$ sudo apt-get changelog vsftpd
vsftpd (2.3.5-3ubuntu1) quantal; urgency=low
* Merge from Debian testing (LP: #1003644). Remaining changes:
+ debian/vsftpd.upstart: migrate vsftpd to upstart.
+ Add apport hook (LP: #513978):
- debian/vsftpd.apport: Added.
- debian/control: Build-depends on dh-apport.
- debian/rules: Add --with apport.
+ Add debian/watch file.
+ debian/patches/09-disable-anonymous.patch: Disable anonymous login
by default. (LP: #528860)
* debian/patches/12-ubuntu-us-snakeoil-ssl.patch: Use snakeoil SSL
certificates and key.
-- Andres Rodriguez <andreserl@ubuntu.com> Wed, 23 May 2012 16:59:36 -0400
...
22 - چگونگی چک کردن Broken Dependencies
گزینه check به نوعی یک ابزار تشخیصی است که برای آپدیت کردن cache پکیج و بررسی های broken dependencies (پکیج های پیش نیازی که در ریپازیتوری های موجود وجود ندارند) استفاده میشود :
کد PHP:
$ sudo apt-get check
[sudo] password for tecmint:
Reading package lists... Done
Building dependency tree
Reading state information... Done
23 - چگونگی سرچ و ایجاد پکیج های پیش نیاز
گزینه build-dep ریپازیتوری های local در سیستم را سرچ میکند و پیش نیازهای پکیج را نصب میکند. اگر پکیج در repository لوکال موجود نباشد یک پیغام خطا برخواهد گرداند :
کد PHP:
$ sudo apt-get build-dep netcat
The following NEW packages will be installed:
debhelper dh-apparmor html2text po-debconf quilt
0 upgraded, 5 newly installed, 0 to remove and 328 not upgraded.
Need to get 1,219 kB of archives.
After this operation, 2,592 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://in.archive.ubuntu.com/ubuntu/ quantal/main html2text i386 1.3.2a-15build1 [91.4 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu/ quantal/main po-debconf all 1.0.16+nmu2ubuntu1 [210 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu/ quantal/main dh-apparmor all 2.8.0-0ubuntu5 [9,846 B]
Get:4 http://in.archive.ubuntu.com/ubuntu/ quantal/main debhelper all 9.20120608ubuntu1 [623 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu/ quantal/main quilt all 0.60-2 [285 kB]
Fetched 1,219 kB in 4s (285 kB/s)
...
24 - چگونه به صورت اتوماتیک apt-get cache را پاک کنیم
گزینه autoclean تمامی فایل های deb. را از /var/cache/apt/archives/ حذف خواهد کرد تا فضای کافی از دیسک را آزاد کنیم :
کد PHP:
$ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree
Reading state information... Done
25 - چگونه میتوانیم packeg های نصب شده را به صورت اتوماتیک حذف کنیم
گزینه autoremove برای حذف اتوماتیک پکیج هایی که قبلا برای پیش نیاز (dependency) نرم افزارها نصب شده بودند و در حال حاضر نیازی به آنها نداریم استفاده میشود. برای مثال دستور زیر پکیج vsftpd به همراه پیش نیازهایش را حذف خواهد کرد. در حقیقت دستور به صورت اتوماتیک بررسی میکند که آیا پیش نیازهای نرم افزار vsftpd توسط نرم افزار دیگری مورد نیاز نباشد و در صورت هیچ گونه نیازی به این پیش نیاز ها آن ها را به صورت اتوماتیک حذف خواهد کرد :
کد PHP:
$ sudo apt-get autoremove vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'vsftpd' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 328 not upgraded.
من در این پست اکثر گزینه های موجود برای 2 دستور apt-get و apt-cache را توضیح دادم البته گزینه های موجود دیگری هم هستند که شما با استفاده از بررسی 2 دستور man apt-get و man apt-cache در ترمینال آنها را میتوانید چک کنید. امیدوارم از خواندن این مطلب لذت برده باشید. اگر چیزی از قلم افتاد و دوست داشتید آن را اضافه کنید واقعا باعث خوشحالی بنده است.
همچنین خواندن پست زیر را به شما توصیه میکنم که ارتباط نزدیکی با این مطلب دارد پس مطالعه آن خالی از لطف نیست:
دستور yum برای مدیریت پکیج ها (نصب، حذف، آپگرید) در توزیع های CentOS/RedHat
هر گونه کپی برداری با کمی تغییر در عنوان و متن نوشته ها غیر قابل قبول منطقه لینوکسی ها میباشد.
موفق باشید
محمد هابیلی