FreeBSD гарын авлага
Өмнөх | Бүлэг 24. FreeBSD-г шинэчилж сайжруулах нь | Дараах

# 24.8. Хуучин файлууд, хавтаснууд болон сангуудыг устгах

Тэмдэглэгээ хийсэн Антон Штеренлихт.

FreeBSD хөгжүүлэлтийн явцад файлууд болон тэдгээрийн агуулга үе үе хуучирдаг.Тэдгээрийн үүрэг болон боломжууд өөр хаа нэгтээ хийгдсэн юм уу эсвэл сангийн хувилбарын дугаар өөрчлөгдсөн юм уу эсвэл системээс бүрмөсөн хасагдсанаас болоод тийм байж болох юм. Эдгээрт хуучин файлууд, сангууд болон хавтаснууд ордог бөгөөд эдгээрийг системийг шинэчлэхдээ устгах ёстой. Энэ нь хэрэглэгчийн хувьд хадгалах (болон нөөц) төхөөрөмж дээр хэрэгцээгүй зай эзлээд байгаа хуучин файлуудаар систем дүүрэхгүй байх ашигтай юм. Үүнээс гадна хуучин сан аюулгүй байдлын болон найдвартай ажиллагааны хувьд асуудалтай байсан бол та өөрийн системийг аюулгүй болгож хуучин сангаас болоод ажиллахаа болиод байсан асуудлаас сэргийлэхийн тулд шинэ сан руу шинэчлэх хэрэгтэй. Хуучин гэгдсэн файлууд, хавтаснууд, сангуудын жагсаалт `/usr/src/ObsoleteFiles.inc` файлд байдаг. Дараах заавар нь системийг шинэчлэх явцад хуучин файлуудыг устгахад туслах болно.

Таныг Хэсэг 24.7.1-д заасны дагуу явж байгаа гэж энд үзнэ. `make `installworld`` болон дараагийн `mergemaster` тушаал амжилттай хэрэгжсэний дараа дараах маягаар та хуучин файлууд болон сангуудыг шалгах ёстой:

    # cd /usr/src
    # make check-old

Хэрэв ямар нэг хуучин файл олдвол дараах тушаал ашиглан тэдгээрийг устгаж болно:

    # make delete-old

> Зөвлөгөө: Түлхүүр үгсийн талаар дэлгэрэнгүйг сонирхож байгаа бол `/usr/src/Makefile` файлыг үзнэ үү.

Хуучин файл бүрийг устгахын өмнө асууж хариулах дэлгэц гарна. Та энэ дэлгэцийг өнгөрөөж систем эдгээр файлуудыг автоматаар устгахаар тохируулахын тулд `BATCH_DELETE_OLD_FILES` хувьсагчийг дараах байдлаар ашиглана:

    # make -DBATCH_DELETE_OLD_FILES delete-old

Мөн энэ зорилгод хүрэхийн тулд доорхитой адилаар эдгээр тушаалд `yes` өгч хүрч болно:

    # yes|make delete-old

> Анхааруулга: Хуучин файлуудыг устгах нь тэдгээр хуучин файлуудаас хамааралтай програмуудыг ажиллахгүй болгоно. Энэ нь ялангуяа хуучин сангуудын хувьд үнэн байдаг. Ихэнх тохиолдолд та `make `delete-old-libs`` тушаалыг биелүүлэхээсээ өмнө хуучин сан ашиглаж байсан програмууд, портууд эсвэл сангуудыг дахин бүтээх хэрэгтэй.

Хуваалцсан сангуудаас хамааралтай эсэхийг шалгадаг хэрэгслүүд `sysutils/libchk` эсвэл `sysutils/bsdadminscripts` зэрэг портын цуглуулгад байдаг.

Хуучин хуваалцсан сангууд нь шинэ сангуудтай зөрчилдөж болох бөгөөд доорх шиг алдаа өгч болно:

    /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
    /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5

Эдгээр асуудлуудыг шийдэхийн тулд уг санг аль порт суулгасныг олно:

    # pkg_info -W  /usr/local/lib/libtiff.so
    /usr/local/lib/libtiff.so was installed by package tiff-3.9.4
    # pkg_info -W /usr/local/lib/libXext.so
    /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1

Дараа нь уг портыг deinstall хийгээд дахин бүтээж суулгах хэрэгтэй. Энэ явцыг автоматжуулахын тулд `ports-mgmt/portmaster` болон `ports-mgmt/portupgrade` хэрэгслийг ашиглаж болно. Бүх портуудыг дахин бүтээсэн гэдэгтээ итгэлтэй болсны дараа хуучин сангуудыг ашиглах хэрэггүй бөгөөд тэдгээрийг дараах тушаал ашиглан устгаж болно:

    # make delete-old-libs

Өмнөх | Эхлэл | Дараах
“Ертөнц”ийг дахин бүтээх нь | Дээш | Олон машины хувьд дагах нь

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.