Admin/UpdateLinux: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
(Import from wiki.etersoft.ru)
 
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
[[Category:admin]]
{{MovedFromWikiEterSoftRu|admin/UpdateLinux}}
== Обновление Linux-систем ==
== Обновление Linux-систем ==


Описание того, как перевести систему на следующую версию.
Описание того, как перевести систему на следующую версию.


По возможности используем зеркало на [http://mirror.yandex.ru http://mirror.yandex.ru].
По возможности используем зеркало на http://mirror.yandex.ru.
 




=== Fedora ===
=== Fedora ===


Устанавливаем последние обновления для системы:
Устанавливаем последние обновления для системы:


yum -y update
yum -y update


Если жалко, можно попробовать только yum install rpm yum
Если жалко, можно попробовать только
yum install rpm yum


Чистим кэш yum: yum clean all
Чистим кэш yum:
yum clean all


Устанавливаем пакет fedora-release:
Устанавливаем пакет fedora-release:


rpm -Uvh [http://mirror.yandex.ru/fedora/linux/releases/16/Fedora/x86_64/os/Packages/fedora-release-16-1.noarch.rpm http://mirror.yandex.ru/fedora/linux/releases/16/Fedora/x86_64/os/Packages/fedora-release-16-1.noarch.rpm]
rpm -Uvh http://mirror.yandex.ru/fedora/linux/releases/16/Fedora/x86_64/os/Packages/fedora-release-16-1.noarch.rpm


и выполняем
и выполняем


yum update
yum update
 
 
 
[http://fedoraproject.org/wiki/YumUpgradeFaq http://fedoraproject.org/wiki/YumUpgradeFaq]


* http://fedoraproject.org/wiki/YumUpgradeFaq http://fedoraproject.org/wiki/YumUpgradeFaq


При обновлении в контейнере OpenVZ можно получить что-то подобное:
error: unpacking of archive failed on file /usr/libexec/pt_chown: cpio: cap_set_file failed - Operation not permitted
Приходится вручную скачивать пакет и ставить его командой
rpm --justdb
А потом копировать вручную файлы из него в систему. См. также http://bugs.etersoft.ru/show_bug.cgi?id=7347#c5


Обновление 14->15
Обновление 14->15


rpm --import [https://fedoraproject.org/static/069C8460.txt https://fedoraproject.org/static/069C8460.txt]
rpm --import https://fedoraproject.org/static/069C8460.txt
 
yum update yum
yum update yum
yum clean all
 
yum --releasever=15 --disableplugin=presto distro-sync
yum clean all
 
yum --releasever=15 --disableplugin=presto distro-sync
 
 
 
[http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum]
 


* http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum






Установка пакетов для разработки:
Установка пакетов для разработки:
 
yum groupinstall 'Development Tools'
yum groupinstall 'Development Tools'
 
 


=== [http://wiki.etersoft.ru/CentOS CentOS] ===
=== [http://wiki.etersoft.ru/CentOS CentOS] ===


 
Для обновления [[CentOS]] 5.x до следующего релиза, достаточно выполнить команду "yum update", предварительно проверить какие пакеты подлежат обновлению можно через "yum list updates", а убедится, что обновление прошло успешно - "rpm -q centos-release".
 
Для обновления [http://wiki.etersoft.ru/CentOS CentOS] 5.x до следующего релиза, достаточно выполнить команду "yum update", предварительно проверить какие пакеты подлежат обновлению можно через "yum list updates", а убедится, что обновление прошло успешно - "rpm -q centos-release".






=== Mandriva ===
=== Mandriva ===




Удалить старые репозитории:
Удалить старые репозитории:
 
urpmi.removemedia -av
urpmi.removemedia -av


Установить новые:
Установить новые:
 
urpmi.addmedia --distrib <div style="display: inline; color: red;">URL</div>
urpmi.addmedia --distrib <div style="display: inline; color: red;">URL</div>


Например,
Например,
 
urpmi.addmedia --distrib http://mirror.yandex.ru/mandriva/devel/2010.2/i586/
urpmi.addmedia --distrib [http://mirror.yandex.ru/mandriva/devel/2010.2/i586/ http://mirror.yandex.ru/mandriva/devel/2010.2/i586/]


Обновиться:
Обновиться:
 
urpmi --auto-update --replacefiles
urpmi --auto-update --replacefiles
 




Строка 96: Строка 73:


Сначала смотрим все репозитории командой
Сначала смотрим все репозитории командой
 
zypper sl
zypper sl
 
 


Потом надо удалить все репозитории командой
Потом надо удалить все репозитории командой
zypper rr <номер_репозитория>


zypper rr <номер_репозитария>


Добавляем репозиторий от 11.1 ветки
zypper ar http://mirror.yandex.ru/opensuse/distribution/11.1/repo/oss 11.1oss


 
Теперь у нас есть репозиторий с именем 11.1
Добавляем репозитарий от 11.1 ветки
 
zypper ar [http://mirror.yandex.ru/opensuse/distribution/11.1/repo/oss http://mirror.yandex.ru/opensuse/distribution/11.1/repo/oss] 11.1oss
 
Теперь у нас есть репозитарий с именем 11.1
 
 
 
Дальше обновляем репозитории коммандой
 
zypper ref




Дальше обновляем репозитории командой
zypper ref


Сначала следует обновить rpm
Сначала следует обновить rpm
 
zypper in rpm
zypper in rpm
 
 


также необходимо обновить zypper
также необходимо обновить zypper
 
zypper in zypper
zypper in zypper
 




Теперь запускаем команду  
Теперь запускаем команду  
 
zypper dist-upgrade
zypper dist-upgrade


и система обновляется.
и система обновляется.




Если возникают проблемы с /var/lib/zypp/cache/.../DATA/descr/packages, необходимо создать этот файл.
Если возникают проблемы с /var/lib/zypp/cache/.../DATA/descr/packages, необходимо создать этот файл.


То же с [[epm]]:
epm sl
epm rr N
epm ar URL name
epm update
epmi rpm zypper
epm upgrade




=== PCLinux ===
=== PCLinux ===


В /etc/apt/sources.list изменить номер релиза, проверить на зеркале наличие соответствующих папок updates, main и т.д.
В /etc/apt/sources.list изменить номер релиза, проверить на зеркале наличие соответствующих папок updates, main и т.д.


#apt-get update
# apt-get update
 
# apt-get upgrade
#apt-get upgrade
 
 


=== Arch Linux ===
=== Arch Linux ===


Зеркала настраиваются в /etc/pacman
Зеркала настраиваются в /etc/pacman
Строка 165: Строка 125:
Для обновления системы запускаем pacman -Syu
Для обновления системы запускаем pacman -Syu


=== Ubuntu ===


Изменить репозитории в /etc/apt/sources.list и
epm update
epm upgrade


=== Ubuntu ===
После копирования (с созданием жёстких ссылок) и последующего обновления слетают права на /bin/su и /bin(u)mount.
Быстрая починка:
# chmod 04755 su umount mount
 
==== Дополнительно ====


Для создания chroot использовал пакет debootstrap (предварительно собрав его).
Для создания chroot использовал пакет debootstrap (предварительно собрав его).


Команда для создания chroot:
Команда для создания chroot:
# debootstrap --variant=buildd --arch i386|amd64 oneiric /path/to/chroot http://mirror.url.com/ubuntu/


# debootstrap --variant=buildd --arch i386|amd64 oneiric /path/to/chroot [http://mirror.url.com/ubuntu/ http://mirror.url.com/ubuntu/]
Мануал взят с https://help.ubuntu.com/community/BasicChroot
 
 
 
Мануал взят с [https://help.ubuntu.com/community/BasicChroot https://help.ubuntu.com/community/BasicChroot]




Проблема с "start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused" при установке новых пакетов в контейнер OpenVZ леичт так:


Проблема с "start: Unable to connect to Upstart: Failed to connect to socket
# dpkg-divert --local --rename --add /sbin/initctl
Adding 'local diversion of /sbin/initctl to /sbin/initctl.distrib'
# ln -s /bin/true /sbin/initctl


/com/ubuntu/upstart: Connection refused" при установке новых пакетов вылечена:
=== Slackware ===
 
# dpkg-divert --local --rename --add /sbin/initctl
 
Adding 'local diversion of /sbin/initctl to /sbin/initctl.distrib'
 
# ln -s /bin/true /sbin/initctl


# epm repolist
Смотрим, какой репозиторий указан и в каком файле. Исправляем путь до новой версии.
# epm update
# epm upgrade


* ftp://ftp.slackware.com/pub/slackware/slackware-current/UPGRADE.TXT


=== [http://wiki.etersoft.ru/FreeBSD FreeBSD] ===
=== [http://wiki.etersoft.ru/FreeBSD FreeBSD] ===
Строка 206: Строка 173:


Качаем исходники для этого релиза:
Качаем исходники для этого релиза:
 
cvsup -g -L 2 /etc/supfile
cvsup -g -L 2 /etc/supfile
 




Обновляемся:
Обновляемся:
 
cd /usr/src
cd /usr/src
make buildworld
 
make buildkernel KERNCONF=YOUR_KERNEL_HERE (YOUR_KERNEL_HERE - название ядра которое лежит в папке /usr/src/sys/i386/conf. Но заметьте, вы путь не указываете, а указываете только имя файла. Советую переименовать файл, чтобы скомпилилось новое ядро, а не то что было до обновления системы)
make buildworld
make installkernel KERNCONF=YOUR_KERNEL_HERE
 
reboot  
make buildkernel KERNCONF=YOUR_KERNEL_HERE (YOUR_KERNEL_HERE - название ядра которое лежит в папке /usr/src/sys/i386/conf. Но заметьте, вы путь не указываете, а указываете только имя файла. Советую переименовать файл, чтобы скомпилилось новое ядро, а не то что было до обновления системы)
mergemaster -p
 
make installworld
make installkernel KERNCONF=YOUR_KERNEL_HERE
mergemaster
 
reboot
reboot  
 
mergemaster -p
 
make installworld
 
mergemaster
 
reboot




Строка 235: Строка 191:
=== Монтирование FTP разделов ===
=== Монтирование FTP разделов ===


Для облегчения жизни при установке новой системы (дабы не скачивать iso'шник) можно смонтировать ftp-сервер(например ftp.mirror.yandex.ru) на машине и подсунуть [http://wiki.etersoft.ru/VirtualBox'у VirtualBox'у] iso'шник лежащий на сервере.
Для облегчения жизни при установке новой системы (дабы не скачивать iso'шник) можно смонтировать ftp-сервер (например ftp.mirror.yandex.ru) на машине и подсунуть VirtualBox'у iso'шник лежащий на сервере.


Все, что необходимо - это маленькая программка [http://wiki.etersoft.ru/CurlFtpFS CurlFtpFS].
Все, что необходимо - это маленькая программка [[CurlFtpFS]].


Для установки:
Для установки:
$ sudo apt-get install curlftpfs


:$ sudo apt-get install curlftpfs
Для монтирования FTP-раздела, например ftp://mirror.yandex.ru, в каталог /mnt/ftp используется команда:
$ sudo curlftpfs ftp://mirror.yandex.ru /mnt/ftp -o allow_other


Для монтирования FTP-раздела, например [ftp://mirror.yandex.ru ftp://mirror.yandex.ru], в каталог /mnt/ftp используется команда:
(параметр -o allow_other позволяет читать содержимое смонтированного каталога всем пользователям)


:$ sudo curlftpfs [ftp://mirror.yandex.ru ftp://mirror.yandex.ru] /mnt/ftp -o allow_other
[[Category:admin]]
 
(параметр -o allow_other позволяет читать содержимое смонтированного каталога всем пользователям)

Текущая версия на 19:31, 1 февраля 2013

Обновление Linux-систем

Описание того, как перевести систему на следующую версию.

По возможности используем зеркало на http://mirror.yandex.ru.


Fedora

Устанавливаем последние обновления для системы:

yum -y update

Если жалко, можно попробовать только

yum install rpm yum

Чистим кэш yum:

yum clean all

Устанавливаем пакет fedora-release:

rpm -Uvh http://mirror.yandex.ru/fedora/linux/releases/16/Fedora/x86_64/os/Packages/fedora-release-16-1.noarch.rpm

и выполняем

yum update

При обновлении в контейнере OpenVZ можно получить что-то подобное:

error: unpacking of archive failed on file /usr/libexec/pt_chown: cpio: cap_set_file failed - Operation not permitted

Приходится вручную скачивать пакет и ставить его командой

rpm --justdb

А потом копировать вручную файлы из него в систему. См. также http://bugs.etersoft.ru/show_bug.cgi?id=7347#c5

Обновление 14->15

rpm --import https://fedoraproject.org/static/069C8460.txt
yum update yum
yum clean all
yum --releasever=15 --disableplugin=presto distro-sync


Установка пакетов для разработки:

yum groupinstall 'Development Tools'

CentOS

Для обновления CentOS 5.x до следующего релиза, достаточно выполнить команду "yum update", предварительно проверить какие пакеты подлежат обновлению можно через "yum list updates", а убедится, что обновление прошло успешно - "rpm -q centos-release".


Mandriva

Удалить старые репозитории:

urpmi.removemedia -av

Установить новые:

urpmi.addmedia --distrib

URL

Например,

urpmi.addmedia --distrib http://mirror.yandex.ru/mandriva/devel/2010.2/i586/

Обновиться:

urpmi --auto-update --replacefiles


SUSE

Сначала смотрим все репозитории командой

zypper sl

Потом надо удалить все репозитории командой

zypper rr <номер_репозитория>


Добавляем репозиторий от 11.1 ветки

zypper ar http://mirror.yandex.ru/opensuse/distribution/11.1/repo/oss 11.1oss

Теперь у нас есть репозиторий с именем 11.1


Дальше обновляем репозитории командой

zypper ref

Сначала следует обновить rpm

zypper in rpm

также необходимо обновить zypper

zypper in zypper


Теперь запускаем команду

zypper dist-upgrade

и система обновляется.


Если возникают проблемы с /var/lib/zypp/cache/.../DATA/descr/packages, необходимо создать этот файл.

То же с epm:

epm sl
epm rr N
epm ar URL name
epm update
epmi rpm zypper
epm upgrade


PCLinux

В /etc/apt/sources.list изменить номер релиза, проверить на зеркале наличие соответствующих папок updates, main и т.д.

# apt-get update
# apt-get upgrade

Arch Linux

Зеркала настраиваются в /etc/pacman

Для обновления системы запускаем pacman -Syu

Ubuntu

Изменить репозитории в /etc/apt/sources.list и

epm update
epm upgrade

После копирования (с созданием жёстких ссылок) и последующего обновления слетают права на /bin/su и /bin(u)mount. Быстрая починка:

# chmod 04755 su umount mount

Дополнительно

Для создания chroot использовал пакет debootstrap (предварительно собрав его).

Команда для создания chroot:

# debootstrap --variant=buildd --arch i386|amd64 oneiric /path/to/chroot http://mirror.url.com/ubuntu/

Мануал взят с https://help.ubuntu.com/community/BasicChroot


Проблема с "start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused" при установке новых пакетов в контейнер OpenVZ леичт так:

# dpkg-divert --local --rename --add /sbin/initctl
Adding 'local diversion of /sbin/initctl to /sbin/initctl.distrib'
# ln -s /bin/true /sbin/initctl

Slackware

# epm repolist

Смотрим, какой репозиторий указан и в каком файле. Исправляем путь до новой версии.

# epm update
# epm upgrade

FreeBSD

Обновление через cvsup:

Указываем в /etc/supfile (можно скопировать standard-supfile из /usr/share/examples/cvsup/)

  • default tag=RELENG_7_2

7_2 - релиз, до которого планируем обновляться.


Качаем исходники для этого релиза:

cvsup -g -L 2 /etc/supfile


Обновляемся:

cd /usr/src
make buildworld
make buildkernel KERNCONF=YOUR_KERNEL_HERE (YOUR_KERNEL_HERE - название ядра которое лежит в папке /usr/src/sys/i386/conf. Но заметьте, вы путь не указываете, а указываете только имя файла. Советую переименовать файл, чтобы скомпилилось новое ядро, а не то что было до обновления системы)
make installkernel KERNCONF=YOUR_KERNEL_HERE
reboot 
mergemaster -p
make installworld
mergemaster
reboot


Монтирование FTP разделов

Для облегчения жизни при установке новой системы (дабы не скачивать iso'шник) можно смонтировать ftp-сервер (например ftp.mirror.yandex.ru) на машине и подсунуть VirtualBox'у iso'шник лежащий на сервере.

Все, что необходимо - это маленькая программка CurlFtpFS.

Для установки:

$ sudo apt-get install curlftpfs

Для монтирования FTP-раздела, например ftp://mirror.yandex.ru, в каталог /mnt/ftp используется команда:

$ sudo curlftpfs ftp://mirror.yandex.ru /mnt/ftp -o allow_other

(параметр -o allow_other позволяет читать содержимое смонтированного каталога всем пользователям)