الموضوع ده مكمل للموضوع الموجود على الرابط
هو بصراحة كان المفروض يكون رد فيه .. ولكني في اللحظة الاخيرة بعد كتابته قررت انه يكون في موضوع لوحده لانه طول
واذا المشرفين شايفين انه لو كان احسن يكون ضمن الموضوع الاساسي فلهم الحرية في نقله
ادارة ال packages تعتبر من اهم مهام اي ادمين ولذلك .. سأضع في ردي هذا بعض من خلاصة خبرتي في ادارة البرامج على لينوكس .. وربما لن تجد اي موضوع او موقع على الانترنت يضم جميع ما سأذكره هنا
للمبتدئين والمحترفين سواء .. ركزوا كويس
اولا بالنسبة الى rpm سأضيف بعض الاوبشنز اضافة الى الاساسيات المذكورة بالاعلى
هنطبق الاوامر على الباكيج httpd على سبيل المثال في جميع الامثلة هنا
فلنبدء
لعرض جميع الباكيجس في النظام
[HTML]rpm -qa
glibc-2.5-3
libSM-1.0.1-3.1
bzip2-libs-1.0.3-3
bluez-libs-3.7-1
elfutils-libelf-0.123-1.fc6
perl-Digest-SHA1-2.11-1.2.1
....
[/HTML]
لعرض جميع باكجات النظام حسب تاريخ تثبيتها تنازليا
[HTML]
rpm -qa --last
[/HTML]
لعرض معلومات مفصلة عن باكيج:
[HTML]rpm -qi httpd
Name : httpd Relocations: (not relocatable)
Version : 2.2.3 Vendor: Red Hat, Inc.
Release : 5 Build Date: Mon 11 Sep 2006 04:44:50 PM EEST
Install Date: Mon 18 Dec 2006 09:43:24 AM EET Build Host: hs20-bc1-7.build.redhat.com
Group : System Environment/Daemons Source RPM: httpd-2.2.3-5.src.rpm
Size : 2926852 License: Apache Software License
Signature : DSA/SHA1, Wed 04 Oct 2006 03:52:26 AM EET, Key ID b44269d04f2a6fd2
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
[/HTML]
مع ملاحظة ان جميع الامثلة هنا على باكيج httpd وهي مثبته في النظام
اما لتطبيق الاوامر على باكيج غير مثبته استخدم الاوبشن -p كالتالي
[HTML]rpm -qip httpd-<version>.rpm[/HTML]
وهذا ينطبق على باقي الامثلة
لعرض جميع الملفات التي تنتمي لباكيج معينة:
[HTML]rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
....
[/HTML]
لعرض الملفات او الباكجيات التي تعتمد عليها باكيج معينة:
[HTML]rpm -qR httpd
/etc/mime.types
/sbin/chkconfig
/usr/bin/find
/usr/sbin/useradd
/usr/share/magic.mime
config(httpd) = 2.2.3-5
gawk
initscripts >= 8.36
....
[/HTML]
لعرض الباكيج التي تحوي ملف معين في النظام:
[HTML]rpm -qf /etc/httpd/conf/magic
httpd-2.2.3-5
[/HTML]
لعرض ال documentation الخاصة بباكيج معينة:
[HTML]rpm -qd httpd
/usr/share/doc/httpd-2.2.3/ABOUT_APACHE
/usr/share/doc/httpd-2.2.3/CHANGES
/usr/share/doc/httpd-2.2.3/LICENSE
/usr/share/doc/httpd-2.2.3/NOTICE
/usr/share/doc/httpd-2.2.3/README
/usr/share/man/man8/apachectl.8.gz
/usr/share/man/man8/htcacheclean.8.gz
/usr/share/man/man8/httpd.8.gz
.....
[/HTML]
يمكنك دمج اكثر من اوبشن .. فعلى سبيل المثال الامر التالي
[HTML]rpm -qdf /etc/httpd/conf/magic[/HTML]
سيقوم بعرض ملفات ال documentation الخاصة بالباكيج التي تحوي الملف /etc/httpd/conf/magic
لعرض ملفات ال configuration الخاصة بباكيج معينة:
[HTML]rpm -qc httpd
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/rc.d/init.d/httpd
/etc/sysconfig/httpd
....
[/HTML]
للتشييك على توقيع ومعلومات gpg لباكيج:
[HTML]rpm --checksig -v httpd-2.0.4.rpm
httpd-2.0.4.rpm:
Header V3 DSA signature: OK, key ID 4f2a6fd2
Header SHA1 digest: OK (bfb3f8acb443b2ed1863d7ece6e4a84abbc2f4f5)
MD5 digest: OK (79293952fffc19a475674b7bccc356d6)
V3 DSA signature: OK, key ID 4f2a6fd2
[/HTML]
-v هنا لاضافة المزيد من المعلومات
للتحقق من ملفات باكيج .. يعني تشييك على حجمها و md5 الخاص بها وغيرهم بحيث اذا احصل اي تغيير تقولك .. والاوبشن ده مهم جدا في الامن وينصح بمراجعة صفحة المانيول الخاصة ب rpm لمعرفة معنى مخرجاته .. مثلا:
[HTML]rpm -V setup
S.5....T c /etc/printcap[/HTML]
هذه معاني المخرجات من صفحة المانيول حتى لا نطول في شرحها
[HTML]
c %config configuration file.
d %doc documentation file.
g %ghost file (i.e. the file contents are not included in the package payload).
l %license license file.
r %readme readme file.
S file Size differs
M Mode differs (includes permissions and file type)
5 MD5 sum differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
[/HTML]
للتحقق من صحة باكيج او ملفاتها عن طريق مقارنتها بباكيج اخرى:
يعتبر هذا الاوبشن مفيد جدا في حالات كثيرة
[HTML]rpm -Vp package-<version>.rpm[/HTML]
وهنا سيتم مقارنة هذه الباكيج بمثيلتها المثبتة حاليا في النظام وعرض الفروق
لعرض السكربت الذي يتم تنفيذه اثناء تثبيت الباكيج والاخر الذي يتم تنفيذه اثناء ازالتها:
ايضا مفيد جدا
[HTML]rpm -q --scripts httpd
preinstall scriptlet (using /bin/sh):
# Add the "apache" user
/usr/sbin/useradd -c "Apache" -u 48 \
-s /sbin/nologin -r -d /var/www apache 2> /dev/null || :
postinstall scriptlet (using /bin/sh):
# Register the httpd service
/sbin/chkconfig --add httpd
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
/sbin/service httpd stop > /dev/null 2>&1
/sbin/chkconfig --del httpd
fi
[/HTML]
لعرض السكربت الذي يتم تنفيذه اثناء ترقية او ابديت للباكيج:
[HTML]
rpm -q --triggers httpd
triggerpostun scriptlet (using /bin/sh) -- apache < 2.0, stronghold-apache < 2.0
/sbin/chkconfig --add httpd
# Prevent removal of index.html on upgrades from 1.3
triggerun scriptlet (using /bin/sh) -- apache < 2.0, stronghold-apache < 2.0
if [ -r /var/www/index.html -a ! -r /var/www/index.html.rpmold ]; then
mv /var/www/index.html /var/www/index.html.rpmold
[/HTML]
اوبشنز اخرى:
--nodeps
وهو يستخدم لتجاهل معلومات ال dependency وتثبيت الباكيج او ازالتها
مثلا اذا اردت ازالة باكيج httpd:
[HTML]
rpm -e httpd
error: Failed dependencies:
httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.2-6.1.i386
httpd-mmn = 20051115 is needed by (installed) mod_python-3.2.8-3.1.i386
httpd-mmn = 20051115 is needed by (installed) mod_ssl-2.2.3-5.i386
httpd-mmn = 20051115 is needed by (installed) php-5.1.6-3.3.fc6.i386
webserver is needed by (installed) webalizer-2.01_10-30.1.i386
webserver is needed by (installed) phpMyAdmin-2.9.1.1-2.fc6.noarch
httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-5.i386
httpd >= 2.0.40 is needed by (installed) mod_python-3.2.8-3.1.i386
httpd = 0:2.2.3-5 is needed by (installed) mod_ssl-2.2.3-5.i386
httpd = 2.2.3-5 is needed by (installed) httpd-manual-2.2.3-5.i386
httpd is needed by (installed) system-config-httpd-1.4.1-1.fc6.noarch
httpd is needed by (installed) squirrelmail-1.4.8-2.fc6.noarch
[/HTML]
ف RPM سترفض ازلتها لان هناك باكيجات اخرى تعتمد عليها
وهنا اذا انت عارف انت بتعمل ايه ممكن تستخم --nodeps
--force
لارغام rpm في تثبيت باكيج معينة ..
اذا كان هناك تعارض بين ملفات باكيج تريد تثبيتها وملفات في النظام يمكن استخدام هذا الاوبشن في الكتابة فوقها
وبرضه لازم تكون فاهم انت بتعمل ايه علشان ميحصلش مشاكل
--test
تستخدم لتثبيت الباكيج وهميا فقط .. يعني تعمل كل الاعدادت ولكن لا تثبت الباكيج
مفيده اذا اردت معرفة امكانية تثبيت باكيج معينة بدون مشاكل ولان بدون تثبيتها فعليا
ايضا كما ذكرنا في البيداية يمكنك دمج اكثر من اوبشن مع rpm مثلا:
[HTML]
rpm -ivvh --test --nodeps --force httpd-2.0.4.rpm
[/HTML]
وهنا اضفنا v اخرى لزايدة معلومات ال output
--rebuilddb
تستخدم لعمل repair للداتا بيس الخاصة ب rpm وازالة الزيادات بها:
[HTML]
rpm -vv --rebuilddb
D: rebuilding database /var/lib/rpm into /var/lib/rpmrebuilddb.9026
D: creating directory /var/lib/rpmrebuilddb.9026
D: opening old database with dbapi 3
D: opening db environment /var/lib/rpm/Packages joinenv
D: opening db index /var/lib/rpm/Packages rdonly mode=0x0
D: locked db index /var/lib/rpm/Packages
D: opening new database with dbapi 3
D: opening db environment /var/lib/rpmrebuilddb.9026/Packages create:mpool
......
...
.
[/HTML]
طبعا غالبا العملية دي بتاخد وقت
--queryformat
يستخدم مع الاوبشن q لتحديد شكل ال output
مثلا:
[HTML]
rpm -qa --queryformat "P: %{NAME} S: %{SUMMARY} \n"
P: glibc S: The GNU libc libraries.
P: libSM S: X.Org X11 libSM runtime library
P: bzip2-libs S: Libraries for applications using bzip2
P: bluez-libs S: Bluetooth libraries
P: elfutils-libelf S: Library to read and write ELF files.
P: perl-Digest-SHA1 S: Digest-SHA1 Perl module
P: mkisofs S: Creates an image of an ISO9660 filesystem.
P: perl-IO-Socket-INET6 S: Perl Object interface for AF_INET|AF_INET6 domain sockets
P: libmng S: Library for Multiple-image Network Graphics support
P: zip S: A file compression and packaging utility compatible with PKZIP.
P: mingetty S: A compact getty program for virtual consoles only.
P: xkeyboard-config S: xkeyboard-config alternative xkb data files
.....
..
[/HTML]
طبعا انت ممكن تشكل براحتك وممكن تستخدم اوامر اخرى
مثلا الامر التالي يعرض جميع باكجيات النظام مرتبة حسب حجمها في النظام:
[HTML]rpm -qa --qf "%-10{SIZE} %-30{NAME}\n" | sort -n[/HTML]
ايضا نسيت اذكر نقطة مهمة وهي باكجات السورس
لبناء ال source package نستخدم الامر rpmbuild .. مثلا:
[HTML]rpmbuild --rebuild filename.src.rpm[/HTML]
وهاتلائي ال binary package تحت /usr/src/redhat/RPMS حسب نوع البروسيسور عندك لتقوم بتثبيتها في النظام
ملاحظة .. اذا كنت لا تملك صلاحيات الروت وعاوز تبني باكج من السورس فقط
اي لن تقوم بتثبيتها اليك التالي:
[HTML]
$ cd
$ mkdir -p redhat/{SRPMS,RPMS,SPECS,BUILD,SOURCES}
$ echo "%_topdir /home/testuser/redhat" >> .rpmmacros
$ echo "%packager Test User <[email protected]>" >> .rpmmacros
[/HTML]
وهاتلائي الباكجات المبنية في الهوم دايركتوري بتاعك تحت redhat/RPMS
انا هكتفي بالقدر ده الناهرده لان الموضوع طول .. وانا سرحت معاه و فاكر اني هكتب كمان عن yum
ان شاء الله لو ربنا اراد نكمل الموضوع في وقت تاني
ارجو ان تكونو استفدتم من الموضوع
وياريت كل من استفاد من الموضوع ينشره حتى يحقق اكبر قدر من الافادة للمستخدمين
وايضا كل واحد بيستفيد من لينوكس عليه ان يساهم فيه
ان لم يكن تطوير .. فعلى الاقل مساهمة في نشره او مساعدة الغير على استخدامه
هو بصراحة كان المفروض يكون رد فيه .. ولكني في اللحظة الاخيرة بعد كتابته قررت انه يكون في موضوع لوحده لانه طول
واذا المشرفين شايفين انه لو كان احسن يكون ضمن الموضوع الاساسي فلهم الحرية في نقله
ادارة ال packages تعتبر من اهم مهام اي ادمين ولذلك .. سأضع في ردي هذا بعض من خلاصة خبرتي في ادارة البرامج على لينوكس .. وربما لن تجد اي موضوع او موقع على الانترنت يضم جميع ما سأذكره هنا
للمبتدئين والمحترفين سواء .. ركزوا كويس
اولا بالنسبة الى rpm سأضيف بعض الاوبشنز اضافة الى الاساسيات المذكورة بالاعلى
هنطبق الاوامر على الباكيج httpd على سبيل المثال في جميع الامثلة هنا
فلنبدء
لعرض جميع الباكيجس في النظام
[HTML]rpm -qa
glibc-2.5-3
libSM-1.0.1-3.1
bzip2-libs-1.0.3-3
bluez-libs-3.7-1
elfutils-libelf-0.123-1.fc6
perl-Digest-SHA1-2.11-1.2.1
....
[/HTML]
لعرض جميع باكجات النظام حسب تاريخ تثبيتها تنازليا
[HTML]
rpm -qa --last
[/HTML]
لعرض معلومات مفصلة عن باكيج:
[HTML]rpm -qi httpd
Name : httpd Relocations: (not relocatable)
Version : 2.2.3 Vendor: Red Hat, Inc.
Release : 5 Build Date: Mon 11 Sep 2006 04:44:50 PM EEST
Install Date: Mon 18 Dec 2006 09:43:24 AM EET Build Host: hs20-bc1-7.build.redhat.com
Group : System Environment/Daemons Source RPM: httpd-2.2.3-5.src.rpm
Size : 2926852 License: Apache Software License
Signature : DSA/SHA1, Wed 04 Oct 2006 03:52:26 AM EET, Key ID b44269d04f2a6fd2
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
[/HTML]
مع ملاحظة ان جميع الامثلة هنا على باكيج httpd وهي مثبته في النظام
اما لتطبيق الاوامر على باكيج غير مثبته استخدم الاوبشن -p كالتالي
[HTML]rpm -qip httpd-<version>.rpm[/HTML]
وهذا ينطبق على باقي الامثلة
لعرض جميع الملفات التي تنتمي لباكيج معينة:
[HTML]rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
....
[/HTML]
لعرض الملفات او الباكجيات التي تعتمد عليها باكيج معينة:
[HTML]rpm -qR httpd
/etc/mime.types
/sbin/chkconfig
/usr/bin/find
/usr/sbin/useradd
/usr/share/magic.mime
config(httpd) = 2.2.3-5
gawk
initscripts >= 8.36
....
[/HTML]
لعرض الباكيج التي تحوي ملف معين في النظام:
[HTML]rpm -qf /etc/httpd/conf/magic
httpd-2.2.3-5
[/HTML]
لعرض ال documentation الخاصة بباكيج معينة:
[HTML]rpm -qd httpd
/usr/share/doc/httpd-2.2.3/ABOUT_APACHE
/usr/share/doc/httpd-2.2.3/CHANGES
/usr/share/doc/httpd-2.2.3/LICENSE
/usr/share/doc/httpd-2.2.3/NOTICE
/usr/share/doc/httpd-2.2.3/README
/usr/share/man/man8/apachectl.8.gz
/usr/share/man/man8/htcacheclean.8.gz
/usr/share/man/man8/httpd.8.gz
.....
[/HTML]
يمكنك دمج اكثر من اوبشن .. فعلى سبيل المثال الامر التالي
[HTML]rpm -qdf /etc/httpd/conf/magic[/HTML]
سيقوم بعرض ملفات ال documentation الخاصة بالباكيج التي تحوي الملف /etc/httpd/conf/magic
لعرض ملفات ال configuration الخاصة بباكيج معينة:
[HTML]rpm -qc httpd
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/rc.d/init.d/httpd
/etc/sysconfig/httpd
....
[/HTML]
للتشييك على توقيع ومعلومات gpg لباكيج:
[HTML]rpm --checksig -v httpd-2.0.4.rpm
httpd-2.0.4.rpm:
Header V3 DSA signature: OK, key ID 4f2a6fd2
Header SHA1 digest: OK (bfb3f8acb443b2ed1863d7ece6e4a84abbc2f4f5)
MD5 digest: OK (79293952fffc19a475674b7bccc356d6)
V3 DSA signature: OK, key ID 4f2a6fd2
[/HTML]
-v هنا لاضافة المزيد من المعلومات
للتحقق من ملفات باكيج .. يعني تشييك على حجمها و md5 الخاص بها وغيرهم بحيث اذا احصل اي تغيير تقولك .. والاوبشن ده مهم جدا في الامن وينصح بمراجعة صفحة المانيول الخاصة ب rpm لمعرفة معنى مخرجاته .. مثلا:
[HTML]rpm -V setup
S.5....T c /etc/printcap[/HTML]
هذه معاني المخرجات من صفحة المانيول حتى لا نطول في شرحها
[HTML]
c %config configuration file.
d %doc documentation file.
g %ghost file (i.e. the file contents are not included in the package payload).
l %license license file.
r %readme readme file.
S file Size differs
M Mode differs (includes permissions and file type)
5 MD5 sum differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
[/HTML]
للتحقق من صحة باكيج او ملفاتها عن طريق مقارنتها بباكيج اخرى:
يعتبر هذا الاوبشن مفيد جدا في حالات كثيرة
[HTML]rpm -Vp package-<version>.rpm[/HTML]
وهنا سيتم مقارنة هذه الباكيج بمثيلتها المثبتة حاليا في النظام وعرض الفروق
لعرض السكربت الذي يتم تنفيذه اثناء تثبيت الباكيج والاخر الذي يتم تنفيذه اثناء ازالتها:
ايضا مفيد جدا
[HTML]rpm -q --scripts httpd
preinstall scriptlet (using /bin/sh):
# Add the "apache" user
/usr/sbin/useradd -c "Apache" -u 48 \
-s /sbin/nologin -r -d /var/www apache 2> /dev/null || :
postinstall scriptlet (using /bin/sh):
# Register the httpd service
/sbin/chkconfig --add httpd
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
/sbin/service httpd stop > /dev/null 2>&1
/sbin/chkconfig --del httpd
fi
[/HTML]
لعرض السكربت الذي يتم تنفيذه اثناء ترقية او ابديت للباكيج:
[HTML]
rpm -q --triggers httpd
triggerpostun scriptlet (using /bin/sh) -- apache < 2.0, stronghold-apache < 2.0
/sbin/chkconfig --add httpd
# Prevent removal of index.html on upgrades from 1.3
triggerun scriptlet (using /bin/sh) -- apache < 2.0, stronghold-apache < 2.0
if [ -r /var/www/index.html -a ! -r /var/www/index.html.rpmold ]; then
mv /var/www/index.html /var/www/index.html.rpmold
[/HTML]
اوبشنز اخرى:
--nodeps
وهو يستخدم لتجاهل معلومات ال dependency وتثبيت الباكيج او ازالتها
مثلا اذا اردت ازالة باكيج httpd:
[HTML]
rpm -e httpd
error: Failed dependencies:
httpd-mmn = 20051115 is needed by (installed) mod_perl-2.0.2-6.1.i386
httpd-mmn = 20051115 is needed by (installed) mod_python-3.2.8-3.1.i386
httpd-mmn = 20051115 is needed by (installed) mod_ssl-2.2.3-5.i386
httpd-mmn = 20051115 is needed by (installed) php-5.1.6-3.3.fc6.i386
webserver is needed by (installed) webalizer-2.01_10-30.1.i386
webserver is needed by (installed) phpMyAdmin-2.9.1.1-2.fc6.noarch
httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-5.i386
httpd >= 2.0.40 is needed by (installed) mod_python-3.2.8-3.1.i386
httpd = 0:2.2.3-5 is needed by (installed) mod_ssl-2.2.3-5.i386
httpd = 2.2.3-5 is needed by (installed) httpd-manual-2.2.3-5.i386
httpd is needed by (installed) system-config-httpd-1.4.1-1.fc6.noarch
httpd is needed by (installed) squirrelmail-1.4.8-2.fc6.noarch
[/HTML]
ف RPM سترفض ازلتها لان هناك باكيجات اخرى تعتمد عليها
وهنا اذا انت عارف انت بتعمل ايه ممكن تستخم --nodeps
--force
لارغام rpm في تثبيت باكيج معينة ..
اذا كان هناك تعارض بين ملفات باكيج تريد تثبيتها وملفات في النظام يمكن استخدام هذا الاوبشن في الكتابة فوقها
وبرضه لازم تكون فاهم انت بتعمل ايه علشان ميحصلش مشاكل
--test
تستخدم لتثبيت الباكيج وهميا فقط .. يعني تعمل كل الاعدادت ولكن لا تثبت الباكيج
مفيده اذا اردت معرفة امكانية تثبيت باكيج معينة بدون مشاكل ولان بدون تثبيتها فعليا
ايضا كما ذكرنا في البيداية يمكنك دمج اكثر من اوبشن مع rpm مثلا:
[HTML]
rpm -ivvh --test --nodeps --force httpd-2.0.4.rpm
[/HTML]
وهنا اضفنا v اخرى لزايدة معلومات ال output
--rebuilddb
تستخدم لعمل repair للداتا بيس الخاصة ب rpm وازالة الزيادات بها:
[HTML]
rpm -vv --rebuilddb
D: rebuilding database /var/lib/rpm into /var/lib/rpmrebuilddb.9026
D: creating directory /var/lib/rpmrebuilddb.9026
D: opening old database with dbapi 3
D: opening db environment /var/lib/rpm/Packages joinenv
D: opening db index /var/lib/rpm/Packages rdonly mode=0x0
D: locked db index /var/lib/rpm/Packages
D: opening new database with dbapi 3
D: opening db environment /var/lib/rpmrebuilddb.9026/Packages create:mpool
......
...
.
[/HTML]
طبعا غالبا العملية دي بتاخد وقت
--queryformat
يستخدم مع الاوبشن q لتحديد شكل ال output
مثلا:
[HTML]
rpm -qa --queryformat "P: %{NAME} S: %{SUMMARY} \n"
P: glibc S: The GNU libc libraries.
P: libSM S: X.Org X11 libSM runtime library
P: bzip2-libs S: Libraries for applications using bzip2
P: bluez-libs S: Bluetooth libraries
P: elfutils-libelf S: Library to read and write ELF files.
P: perl-Digest-SHA1 S: Digest-SHA1 Perl module
P: mkisofs S: Creates an image of an ISO9660 filesystem.
P: perl-IO-Socket-INET6 S: Perl Object interface for AF_INET|AF_INET6 domain sockets
P: libmng S: Library for Multiple-image Network Graphics support
P: zip S: A file compression and packaging utility compatible with PKZIP.
P: mingetty S: A compact getty program for virtual consoles only.
P: xkeyboard-config S: xkeyboard-config alternative xkb data files
.....
..
[/HTML]
طبعا انت ممكن تشكل براحتك وممكن تستخدم اوامر اخرى
مثلا الامر التالي يعرض جميع باكجيات النظام مرتبة حسب حجمها في النظام:
[HTML]rpm -qa --qf "%-10{SIZE} %-30{NAME}\n" | sort -n[/HTML]
ايضا نسيت اذكر نقطة مهمة وهي باكجات السورس
لبناء ال source package نستخدم الامر rpmbuild .. مثلا:
[HTML]rpmbuild --rebuild filename.src.rpm[/HTML]
وهاتلائي ال binary package تحت /usr/src/redhat/RPMS حسب نوع البروسيسور عندك لتقوم بتثبيتها في النظام
ملاحظة .. اذا كنت لا تملك صلاحيات الروت وعاوز تبني باكج من السورس فقط
اي لن تقوم بتثبيتها اليك التالي:
[HTML]
$ cd
$ mkdir -p redhat/{SRPMS,RPMS,SPECS,BUILD,SOURCES}
$ echo "%_topdir /home/testuser/redhat" >> .rpmmacros
$ echo "%packager Test User <[email protected]>" >> .rpmmacros
[/HTML]
وهاتلائي الباكجات المبنية في الهوم دايركتوري بتاعك تحت redhat/RPMS
انا هكتفي بالقدر ده الناهرده لان الموضوع طول .. وانا سرحت معاه و فاكر اني هكتب كمان عن yum
ان شاء الله لو ربنا اراد نكمل الموضوع في وقت تاني
ارجو ان تكونو استفدتم من الموضوع
وياريت كل من استفاد من الموضوع ينشره حتى يحقق اكبر قدر من الافادة للمستخدمين
وايضا كل واحد بيستفيد من لينوكس عليه ان يساهم فيه
ان لم يكن تطوير .. فعلى الاقل مساهمة في نشره او مساعدة الغير على استخدامه
تعليق