لیبر لینوکس یا لینوکس آزاد نسخه ای از کرنل لینوکس هست که تمامی پکیج های غیر آزاد اون حذف شده
به طور کلی واسه کسانی که خوره 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 هم هست که کار شما رو راحت تر انجام میده اما من به شخصه نصب دستی رو بیشتر قبول دارم
سربلند باشید و س افراز
امیر
۱۲ اسفند ۱۳۹۰ ساعت ۱ شب
