لیبر لینوکس یا لینوکس آزاد نسخه ای از کرنل لینوکس هست که تمامی پکیج های غیر آزاد اون حذف شده
به طور کلی واسه کسانی که خوره fsf و آزادی نرم افزار ها هستن مثل یه کهکشان می مونه
این عکسی رو که می بینین لوگوی لیبر-لینوکس هست که لیبر لینوکس توسط بنیاد نرم افزار های آزاد آمریکای جنوبی حمایت میشه
اینم وبسایتش
http://fsfla.org/svnwiki/selibre/linux-libre/index.en.htmlمن بعد از این توضیح مختصر می خوام آموزش نصب اون رو بدون مشکل روی سیستمتون بهتون یاد بدم
این شبه-مقاله روی توزیع های اوبنتو ۱۰.۰۴ به بعد ۱۰۰ درصد کار می کنه چون خود من ۱۰.۰۴ استفاده می کنم
قبل از هر چیزی درایور های nvidia و amd رو پاک کنین که به مشکل بر نخورین
اگه نمی خواین از این روش استفاده کنین از دبیان استفاده کنین که کاملا آزاده
قبل از هر چیزی برای داشتن یه اوبونتوی کاملا آزاد این دستور رو بزنین
$ sudo apt-get install vrms
این دستور نرم افزار vrms که نرم افزار های غیر آزادتون رو بهتون نشون میده رو نصب می کنه
بعد نصب بزنین
$ vrms
مثلا مال من قبل نصب این بود
numb@amir-desktop:~$ vrms
Non-free packages installed on amir-desktop
fglrx Video driver for the ATI graphics accelerators
fglrx-amdcccle Catalyst Control Center for the ATI graphics accelerat
rar Archiver for .rar files
unrar Unarchiver for .rar files (non-free version)
w32codecs win32 binary codecs
Contrib packages installed on amir-desktop
conky highly configurable system monitor (transitional packa
conky-all highly configurable system monitor (all features enabl
flashplugin-installer Adobe Flash Player plugin installer
gstreamer0.10-pitfdll GStreamer plugin for using MS Windows binary codecs
nvidia-cg-toolkit NVIDIA Cg Toolkit Installer
nvidia-common Find obsolete NVIDIA drivers
playonlinux front-end for Wine
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts
بعدش دونه دونه پکیج های غیر آزاد رو با دستور
$ sudo apt-get purge package
با تمام احتیجاتش پاک کنین که اثری ازش نباشه
مثل این
$ sudo apt-get purge rar
خب امیدوارم تا اینجا خسته نشده باشین
خلاصه این قسمت این بود که ما تمام پکیج های غیر آزاد رو حذف کردیم و سیستم ما از لحاظ نرم افزار های نصب شده کاملا آزاده(اما پلاگین های نرم افزار ها رو نمی تونم قول بدم
)
خب حالا می ریم سراغ نصب هسته
قبل نصب به دو تا پکیج شما نیاز داریم که اکثرا نصبه
اگه نیست با این دو دستور سر و تهشو هم بیارین
$ sudo apt-get install gcc
$ sudo apt-get install libncurses5-dev
خب حالا مثل همیشه وقت آپدیت کردن لیست پکیج ها و آپگرید کردن اوناست برای راحتی بیشتر
$ sudo apt-get update && sudo apt-get upgrade
خب حالا بحث تخصصی تر میشه
بزنین
$mkdir /Desktop/libre-linux
$ cd /Desktop/libre-linux
با دستور زیر آخرین نسخه که هنگام نگارش این نسخه ۳.۲.۹ هست رو دانلود می کنین
$ wget
http://www.linux-libre.fsfla.org/pub/linux-libre/releases/3.2.9-libre/linux-3.2.9-libre.tar.xz -C /usr/src/
بقیه ی نسخه ها و همچنین ایل های .deb و یا rpm هم تو این جا موجوده
http://www.linux-libre.fsfla.org/pub/linux-libre/به پوشه ی مورد نظر وارد شید
$ cd /usr/src/linux-3.0/
بعد اینو بزنین تا از حالت فشرده بیرون بیاد
$ tar -Jxf linux-3.2.9-libre.tar.xz
بعدش
$ cd linux-3.2.9
خب از این به بعد کاملا تخصصیه و ایراداتش پای خودتون
بزنین
$ sudo make menuconfig
اینجا یه منو کانفیگ کردن براتون میاد که باید بسته به نیازتون تغییرش بدین
اگه زیاد توی کانفیگ کردن حرفه نیستین
فقط کافیه برین به قسمت file systems و اگر ext4 تیک نداشت(تمامی موارد) اونا رو تیک دار کنین
بعد exit کنین و ذخیره کنین
اگر هم تغییرات قلبی(یا بهتره بگم فعلی) رو دوس دارین کافیه بزنین
$ sudo make oldconfig
بعد از کانفیک کردن بزنین
$ sudo make
تا فایل ها بر اساس کانفیگی که شما دادین ساخته شن
برای نصب هم بزنین
$ sudo make modules_install install
این مراحل یه کم(البته خیلی بیشتر از یه کم) زمان می بره
بعد از اینکه نصب شد به پوشه ی /boot برین
باید فایل های زیر موجود باشه
- System.map-3.2.9-libre
- vmlinuz-3.2.9-libre
- initrd.img-3.2.9-libre
- config-3.2.9-libre
اگه initrd.img-3.2.9-libre نبود با دستور زیر اونو بسازین
$ sudo update-initramfs -u -k 3.2.9-libre
اگه با اررور همراه بود این یکی رو بزنین ۱۰۰ درصد جواب میده
$ sudo update-initramfs -c -k 3.2.9-libre
خب تا اینجا کرنل آزاد شما نصب شد تبریک می گم
حالا مونده شناسوندش که خیلی کم زمان می بره
فایل grub.cfg زو باز کنین تا ببینین تغییرات اعمال شده یا نه
البته با دستور زیر
$ sudo gedit /boot/grub/grub.cfg
فایلتون باید چنین چیزی باشه
البته این یک مثالی بیش نیست
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 3.2.9-030209-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux /boot/vmlinuz-3.2.9-030209-generic root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro quiet splash nomodeset video=uvesafb:mode_option=,mtrr=3,scroll=ywrap
initrd /boot/initrd.img-3.2.9-030209-generic
}
menuentry 'Ubuntu, with Linux 3.2.9-030209-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
echo 'Loading Linux 3.2.9-030209-generic ...'
linux /boot/vmlinuz-3.2.9-030209-generic root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.9-030209-generic
}
menuentry 'Ubuntu, with Linux 3.2.9-libre' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux /boot/vmlinuz-3.2.9-libre root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro quiet splash nomodeset video=uvesafb:mode_option=,mtrr=3,scroll=ywrap
initrd /boot/initrd.img-3.2.9-libre
}
menuentry 'Ubuntu, with Linux 3.2.9-libre (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
echo 'Loading Linux 3.2.9-libre ...'
linux /boot/vmlinuz-3.2.9-libre root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.9-libre
}
menuentry 'Ubuntu, with Linux 2.6.32-38-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux /boot/vmlinuz-2.6.32-38-generic root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro quiet splash nomodeset video=uvesafb:mode_option=,mtrr=3,scroll=ywrap
initrd /boot/initrd.img-2.6.32-38-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-38-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
echo 'Loading Linux 2.6.32-38-generic ...'
linux /boot/vmlinuz-2.6.32-38-generic root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-38-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro quiet splash nomodeset video=uvesafb:mode_option=,mtrr=3,scroll=ywrap
initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
echo 'Loading Linux 2.6.32-21-generic ...'
linux /boot/vmlinuz-2.6.32-21-generic root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/50_iso ###
### END /etc/grub.d/50_iso ###
اگه نبود با توجه به مثال بالا و جایی که لینوکستون رو نصب کردین بعد از
### BEGIN /etc/grub.d/10_linux ###
این رو اضافه کنین
menuentry 'Ubuntu, with Linux 3.2.9-libre' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
linux /boot/vmlinuz-3.2.9-libre root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro quiet splash nomodeset video=uvesafb:mode_option=,mtrr=3,scroll=ywrap
initrd /boot/initrd.img-3.2.9-libre
}
menuentry 'Ubuntu, with Linux 3.2.9-libre (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,1)'
search --no-floppy --fs-uuid --set ec5c101e-6ca9-477d-a660-5ba7e667a2c2
echo 'Loading Linux 3.2.9-libre ...'
linux /boot/vmlinuz-3.2.9-libre root=UUID=ec5c101e-6ca9-477d-a660-5ba7e667a2c2 ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.2.9-libre
تغییرات فراموش نشه ها!!!!!
بعد از اون
$ sudo update-grub
رو بزنین تا گراب آپدیت شه
بعدش ریست کنین و تمام
لیبر لینوکس رو تو گراب انتخاب کنین و والسلام
برای اطمینان بزنین
$ uname -r
این نمونه خروجی ما برای اطمینان شما
numb@amir-desktop:~/Desktop$ uname -r
3.2.9-libre
تمام شد به این راحتی
البته پکیج های deb هم هست که کار شما رو راحت تر انجام میده اما من به شخصه نصب دستی رو بیشتر قبول دارم
سربلند باشید و س افراز
امیر
۱۲ اسفند ۱۳۹۰ ساعت ۱ شب