انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: Far7id در 29 اسفند 1396، 11:33 ب‌ظ

عنوان: نسخه های کرنل لینوکس
ارسال شده توسط: Far7id در 29 اسفند 1396، 11:33 ب‌ظ
درود. سال نو مبارک  ;)
اینکه همیشه دو نسخه از کرنل توی سیستم‌عامل نگه‌داری میشن دلیلش چیه؟
مثلا الان که آخرین نسخه کرنل رو دارم نسخه قبل از اون هم داخل فایل ها دارم و همیشه اینطور بوده.
دلیلش چیه؟
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: nixoeen در 01 فروردین 1397، 02:52 ق‌ظ
نسخهٔ قدیمی‌تر رو می‌تونید پاک کنید. دلیلی که مستقیما جایگزین نمیشه اینه که هنوز در حال استفاده از اون کرنل (و مخلفاتش) هستید و بعد از ریست کردن سیستم می‌تونید مستقیما اون رو پاک کنید.
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: M!lad در 01 فروردین 1397، 04:55 ب‌ظ
دلیلش این هست که اگر نسخه جدید که بهش بروز رسانی کردید با سیستم مشکل داشته باشه بتونید با نسخه قبلی سیستم رو بوت کنید. فرضا Debian فقط یک نسخه رو نگه می‌داره.
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: سلمان م. در 01 فروردین 1397، 06:26 ب‌ظ
فرضا Debian فقط یک نسخه رو نگه می‌داره.
به صورت پیش‌فرض، دبیان فقط یک نسخه قدیمی رو نگه می‌داره، یعنی در مجموع دو تا لینوکس روی سیستم نصب هست، که همیشه به صورت خودکار با آخرین نسخه بوت می‌شه و اون یکی رو در صورت تمایل می‌شه توی گراب انتخاب کرد تا با اون سیستم بالا بیاد.

برای دیدن اینکه در حال حاضر چه نسخه‌هایی از لینوکس روی سیستم نصب هست می‌شه توی دیرکتوری boot رو دید:

$ ls /boot | grep vmlinuz
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: bed123derkelo در 01 فروردین 1397، 09:01 ب‌ظ
باسلام
ممنون از پاسخهایی که به دوستمون دادید.

من از دبیان پایدار استفاده میکنم بخاطر اینکه خودم کانفیگش کردم برنامه های مشخصی نصب کردم خیلی اهل ور رفتن به سیستم نیستم وقتی داره خوب کار میکنه مشکلی نداره چیزی تغییر نمیدم.فقط هر چند هفته ۱ بار بروز رسانی میکنم.
دستور زیر دوتا نسخه کرنل نشون میده احتیاجی به پاک کردن هست؟برای بوت شدن با آخرین نسخه کاری باید انجام بدم؟آیا مشکلی به وجود نمیاد؟
اصلا چقدر ضروری هست این کار؟
hashem@Hashem-Thinkpad-Edge-E530:~$ ls /boot | grep vmlinuz
vmlinuz-4.9.0-3-amd64
vmlinuz-4.9.0-6-amd64
hashem@Hashem-Thinkpad-Edge-E530:~$
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: M!lad در 01 فروردین 1397، 09:06 ب‌ظ
فرضا Debian فقط یک نسخه رو نگه می‌داره.
به صورت پیش‌فرض، دبیان فقط یک نسخه قدیمی رو نگه می‌داره، یعنی در مجموع دو تا لینوکس روی سیستم نصب هست، که همیشه به صورت خودکار با آخرین نسخه بوت می‌شه و اون یکی رو در صورت تمایل می‌شه توی گراب انتخاب کرد تا با اون سیستم بالا بیاد.


شاید تو نسخه‌های جدیدتر، یا زمانی که کامل (به همراه DE) نصب بشن، چون هر جا الان به Debian دسترسی دارم:

(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=147623.0;attach=47787;image)

من که مشکلی تو داشتن ۲ تا کرنل نمی‌بینم.
خودکار سیستم با آخرین کرنل بوت میشه.
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: علی رزم دیده در 01 فروردین 1397، 10:28 ب‌ظ
با سلام و تبریک سال نو

@Far7id
همون طور که دوستان گفتن دلیلش اینه که بعد آپگرید کردن کرنل ، همچنان کرنل قبلی مورد استفاده قرار می گیره و بعد ری استارت کرنل جدید جایگزین می شه و دلیل دیگه اش هم اینه که اگه تو پروسه ی نصب کرنل جدید مشکلی پیش بیاد یا به هر دلیل کرنل جدید با سخت افزار شما یا ماشین های شبیه ساز و ... تداخلی داشته باشه بتونین هم چنان بوت بگیرین و هم چنین مشکلی توی اجرای نرم افزارها پیش نیاد.

دو تا کرنل هیچ مشکلی نداره و اتفاقاً بودن دومی به صورت زاپاس خوب هم هست و من توصیه می کنم به صورت دستی اقدام به پاک کردن دومی نکنین.
مطمئنا اگه پاک کردن کرنل دوم توصیه می شد ، توسعه دهندگان apt این کار رو می کردن در صورتی که با زدن دستور sudo apt autoremove همیشه کرنل های سوم و چهارم و ... پاک می شن ولی هیچ وقت کرنل دوم پاک نمی شه (چه کرنل دوم ، کرنل قدیمی باشه ، چه کرنل جدید و مورد استفاده) پس شما هم به صورت دستی اقدام به پاک کردن کرنل های قدیمی نکنین و کرنل های قدیمی رو فقط به دستور sudo apt autoremove پاک کنین.

@M!lad
میلاد جان حق با سلمان هستش دبیان یا اوبونتو (جدید یا قدیمی / با DE یا بدون اون) فرقی نداره همیشه حداقل دو تا کرنل نگه داشته می شه
تو این مورد شما که عکسش رو گذاشتین به احتمال زیاد سیستم ، یا لایو هستش یا تازه نصب شده و بروزرسانی ها انجام نشده
شما یه بار دستور sudo apt update && sudo apt upgrade رو وارد کنین تا سیستم بروز بشه و کرنل های جدیدتر نصب بشه ، بعد بروز رسانی به احتمال زیاد می بینین که دو تا کرنل نگه داشته می شه.
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: M!lad در 01 فروردین 1397، 10:34 ب‌ظ
 @علی رزم دیده

احتمالا به این دلیل هست که Minimal نصب کردم‌اشون، فرضا PC ام هم که سالهاست رو Debian دارم همین طور هست.

در کل apt رو می‌شه جوری تنظیم کرد که تعداد دلخواه کرنل نگه داره (autoremove) تاثیر نداشته باشه، برا من احتمالا یکی هست رو Debianهام.
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: علی رزم دیده در 01 فروردین 1397، 10:46 ب‌ظ
در کل apt رو می‌شه جوری تنظیم کرد که تعداد دلخواه کرنل نگه داره (autoremove) تاثیر نداشته باشه، برا من احتمالا یکی هست رو Debianهام.

اونکه آره ؛ حتی میشه با دستکاری اسکریپت apt-auto-removal ، کاری کرد که که دستور autoremove تعداد کرنل دلخواه ما رو نیگه داره ولی دیفالتش دو تا هستش مثلاً این خروجی رو که مال اوبونتو هستش رو نیگاه کنین :
$ cat /etc/kernel/postinst.d/apt-auto-removal
#!/bin/sh
set -e
# Mark as not-for-autoremoval those kernel packages that are:
#  - the currently booted version
#  - the kernel version we've been called for
#  - the latest kernel version (as determined by debian version number)
#  - the second-latest kernel version
#
# In the common case this results in two kernels saved (booted into the
# second-latest kernel, we install the latest kernel in an upgrade), but
# can save up to four. Kernel refers here to a distinct release, which can
# potentially be installed in multiple flavours counting as one kernel.

eval $(apt-config shell APT_CONF_D Dir::Etc::parts/d)
test -n "${APT_CONF_D}" || APT_CONF_D="/etc/apt/apt.conf.d"
config_file="${APT_CONF_D}/01autoremove-kernels"

eval $(apt-config shell DPKG Dir::bin::dpkg/f)
test -n "$DPKG" || DPKG="/usr/bin/dpkg"

list="$("${DPKG}" -l | awk '/^[ih][^nc][ ]+(linux|kfreebsd|gnumach)-image-[0-9]+\./ && $2 !~ /-dbg(:.*)?$/ && $2 !~ /-dbgsym(:.*)?$/ { print $2,$3; }' \
   | sed -e 's#^\(linux\|kfreebsd\|gnumach\)-image-##' -e 's#:[^:]\+ # #')"
debverlist="$(echo "$list" | cut -d' ' -f 2 | sort --unique --reverse --version-sort)"

if [ -n "$1" ]; then
installed_version="$(echo "$list" | awk "\$1 == \"$1\" { print \$2;exit; }")"
fi
unamer="$(uname -r | tr '[A-Z]' '[a-z]')"
if [ -n "$unamer" ]; then
running_version="$(echo "$list" | awk "\$1 == \"$unamer\" { print \$2;exit; }")"
fi
# ignore the currently running version if attempting a reproducible build
if [ -n "${SOURCE_DATE_EPOCH}" ]; then
unamer=""
running_version=""
fi
latest_version="$(echo "$debverlist" | sed -n 1p)"
previous_version="$(echo "$debverlist" | sed -n 2p)"

debkernels="$(echo "$latest_version
$installed_version
$running_version
$previous_version" | sort -u | sed -e '/^$/ d')"
kernels="$( (echo "$1
$unamer"; for deb in $debkernels; do echo "$list" | awk "\$2 == \"$deb\" { print \$1; }"; done; ) \
   | sed -e 's#\([\.\+]\)#\\\1#g' -e '/^$/ d' | sort -u)"

generateconfig() {
cat <<EOF
// DO NOT EDIT! File autogenerated by $0
APT::NeverAutoRemove
{
EOF
for package in $(apt-config dump --no-empty --format '%v%n' 'APT::VersionedKernelPackages'); do
for kernel in $kernels; do
echo "   \"^${package}-${kernel}$\";"
done
done
echo '};'
if [ "${APT_AUTO_REMOVAL_KERNELS_DEBUG:-true}" = 'true' ]; then
cat <<EOF
/* Debug information:
# dpkg list:
$(dpkg -l | grep '\(linux\|kfreebsd\|gnumach\)-image-')
# list of installed kernel packages:
$list
# list of different kernel versions:
$debverlist
# Installing kernel: $installed_version ($1)
# Running kernel: ${running_version:-ignored} (${unamer:-ignored})
# Last kernel: $latest_version
# Previous kernel: $previous_version
# Kernel versions list to keep:
$debkernels
# Kernel packages (version part) to protect:
$kernels
*/
EOF
fi
}
generateconfig "$@" > "${config_file}.dpkg-new"
mv -f "${config_file}.dpkg-new" "$config_file"
chmod 444 "$config_file"

همون طوری که توی کامنت هاش گفته شده کرنل دوم رو نیگه می داره :
نقل‌قول
#  - the latest kernel version (as determined by debian version number)
#  - the second-latest kernel version

این فایل رو سیستم شما چطوری هستش ؟
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: M!lad در 02 فروردین 1397، 02:07 ق‌ظ

این فایل رو سیستم شما چطوری هستش ؟

الان یکی از سرورهای Debian که بهشون دسترسی دارم رو چک کردم همینطور که شما می‌گید هست، بعد اضافه کردن کرنل جدید کرنل قبل به لیست APT::NeverAutoRemove اضافه شد، برگردم خونه PCام رو هم چک می‌کنم:
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: Farhaad 1992 در 02 فروردین 1397، 11:38 ق‌ظ
هیچ دلیل فنی برای پاک کردن کرنل دوم وجود نداره مگر اینکه در یک سیستم توکار فضای ذخیره سازی به شدت محدود باشه و بخواید با پاک کردن کرنل دوم، فضای بیشتری به دست بیاورید.

فدورا و سنت او اس هم دو تا کرنل نگه میدارند و میشه در هنگام بوت یکیشو انتخاب کرد.
عنوان: پاسخ : نسخه های کرنل لینوکس
ارسال شده توسط: Far7id در 03 فروردین 1397، 08:39 ب‌ظ
با سلام و تبریک سال نو

@Far7id
همون طور که دوستان گفتن دلیلش اینه که بعد آپگرید کردن کرنل ، همچنان کرنل قبلی مورد استفاده قرار می گیره و بعد ری استارت کرنل جدید جایگزین می شه و دلیل دیگه اش هم اینه که اگه تو پروسه ی نصب کرنل جدید مشکلی پیش بیاد یا به هر دلیل کرنل جدید با سخت افزار شما یا ماشین های شبیه ساز و ... تداخلی داشته باشه بتونین هم چنان بوت بگیرین و هم چنین مشکلی توی اجرای نرم افزارها پیش نیاد.

دو تا کرنل هیچ مشکلی نداره و اتفاقاً بودن دومی به صورت زاپاس خوب هم هست و من توصیه می کنم به صورت دستی اقدام به پاک کردن دومی نکنین.
مطمئنا اگه پاک کردن کرنل دوم توصیه می شد ، توسعه دهندگان apt این کار رو می کردن در صورتی که با زدن دستور sudo apt autoremove همیشه کرنل های سوم و چهارم و ... پاک می شن ولی هیچ وقت کرنل دوم پاک نمی شه (چه کرنل دوم ، کرنل قدیمی باشه ، چه کرنل جدید و مورد استفاده) پس شما هم به صورت دستی اقدام به پاک کردن کرنل های قدیمی نکنین و کرنل های قدیمی رو فقط به دستور sudo apt autoremove پاک کنین.

@M!lad
میلاد جان حق با سلمان هستش دبیان یا اوبونتو (جدید یا قدیمی / با DE یا بدون اون) فرقی نداره همیشه حداقل دو تا کرنل نگه داشته می شه
تو این مورد شما که عکسش رو گذاشتین به احتمال زیاد سیستم ، یا لایو هستش یا تازه نصب شده و بروزرسانی ها انجام نشده
شما یه بار دستور sudo apt update && sudo apt upgrade رو وارد کنین تا سیستم بروز بشه و کرنل های جدیدتر نصب بشه ، بعد بروز رسانی به احتمال زیاد می بینین که دو تا کرنل نگه داشته می شه.
درسته، پاکش نکنم بهتره شاید یک موقع برای کرنل فعلی مشکل پیش اومد.
ممنون.