Журнал LinuxFormat - перейти на главную

LXF168:Проект openSuse Tumbleweed

Материал из Linuxformat
Версия от 17:46, 11 ноября 2018; Olkol (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Дистрибутив с поддержкой постоянного обновления

Игорь Штом­пель за­ин­те­ре­со­вал­ся про­ек­том, на­зва­ние ко­то­ро­го в пе­ре­во­де оз­на­ча­ет «пе­ре­ка­ти-по­ле». Ку­да же он ка­тит­ся? Идея соз­дания ди­ст­ри­бу­ти­вов Linux с под­держ­кой по­сто­ян­но­го об­нов­ления по­лу­чи­ла свое во­пло­щение в ря­де про­ек­тов. Инициа­ти­ва Tumbleweed, раз­ви­ваю­щая­ся в рам­ках про­ек­та openSUSE, осу­ще­ст­в­ля­ет ее в ви­де са­мо­стоя­тель­ной вет­ки ди­ст­ри­бу­ти­ва, ис­поль­зо­вание ко­то­рой не пред­став­ля­ет осо­бых слож­но­стей.

Пред­ва­ри­тель­но

Пре­ж­де чем рас­смат­ривать про­ек­т openSUSE Tumbleweed, ска­жем пару всту­пи­тель­ных слов. В основе Tumbleweed ле­жит под­ход под на­званием Rolling release. Про­ект Arch Linux, в русской вер­сии FAQ, пе­ре­во­дит дан­ный тер­мин как «пла­ваю­щий ре­лиз» [1]. Да­вай­те рас­смот­рим эту кон­цеп­цию под­робнее.

Сло­во­со­че­тание «пла­ваю­щий ре­лиз» ха­рак­те­ри­зу­ет спо­соб об­нов­ления ПО [2], в на­шем слу­чае, опе­ра­ци­он­ной сис­те­мы. Вы­де­ля­ют несколь­ко ти­пов «пла­ваю­щих ре­ли­зов» – мы не бу­дем при­во­дить их здесь, от­сы­лая ин­те­ре­сую­ще­го­ся чи­та­те­ля к анг­лоя­зыч­ной Ви­ки­пе­дии [3]. Для нас важ­но, что при «пла­ваю­щем ре­ли­зе» по­ня­тия «вер­сия», «пе­ре­ход на но­вую вер­сию» и т. п. те­ря­ют смысл – в ка­ж­дый мо­мент вре­мени ди­ст­ри­бу­тив со­дер­жит са­мые но­вые ста­биль­ные вер­сии со­став­ляю­щих его па­ке­тов. Поль­зо­ва­те­ли, ре­гу­ляр­но об­нов­ляю­щие та­кую сис­те­му, всегда бу­дут иметь ее ак­ту­аль­ной в ши­ро­ком смыс­ле сло­ва.

Конеч­но, плю­сы та­ко­го под­хо­да оче­вид­ны: это и но­вые вер­сии ПО, и от­сут­ст­вие необ­хо­ди­мо­сти пе­реуста­нов­ки опе­ра­ци­он­ной сис­те­мы для об­нов­ления, и т. д. Но и ми­ну­сы оче­вид­ны то­же: воз­мож­ная неста­биль­ность ра­бо­ты, вви­ду ис­поль­зо­вания но­вей­ших вер­сий про­грамм, хо­тя и «вы­пу­щен­ных офи­ци­аль­но»; по­вы­шен­ные тре­бо­вания к ин­тернет-под­клю­чению (об­нов­ления бы­ва­ют доста­точ­но объ­ем­ны­ми).

Ме­ж­ду про­чим, со­глас­но при­ве­ден­ной вы­ше ста­тье о «пла­ваю­щем ре­ли­зе», по­следнее по­ня­тие «наи­бо­лее час­то упот­реб­ля­ет­ся от­но­си­тель­но ди­ст­ри­бу­ти­вов Linux».

Зна­ко­мим­ся

Про­ект Tumbleweed от openSUSE был пред­став­лен 30 но­яб­ря 2010 го­да, в спи­ске рас­сыл­ки opensuse-project, одним из ве­ду­щих раз­ра­бот­чи­ков яд­ра Linux Гре­гом Кроа-Харт­ма­ном [4]. Бо­лее то­го, Грег Кроа-Харт­ман, как ука­за­но на офи­ци­аль­ном сай­те про­ек­та openSUSE, во­пло­тил в жизнь са­му идею «пла­ваю­ще­го ре­ли­за» на ба­зе опе­ра­ци­он­ной сис­те­мы openSUSE. Кста­ти, об этом раз­ра­бот­чи­ке яд­ра Linux пи­са­ли в LXF81, а так­же в элек­трон­ном при­ло­жении к жур­на­лу Open Source (вы­пуск № 112) [5].

Как из­вест­но, про­ект openSUSE име­ет ре­по­зи­то­рий под на­званием Factory. Дан­ный ре­по­зи­то­рий со­дер­жит неста­биль­ное про­грамм­ное обес­пе­чение, тре­бу­ющее до­полнитель­ной ра­бо­ты. Офи­ци­аль­ный сайт про­ек­та openSUSE ука­зы­ва­ет: «...в Factory раз­мыт кон­тур ме­ж­ду экс­пе­ри­мен­таль­ной и ста­биль­ной вер­си­ей» [6]. От­ли­чи­ем же вет­ки Tumbleweed от Factory яв­ля­ет­ся то, что она вклю­ча­ет но­вые ста­биль­ные вер­сии про­грамм­но­го обес­пе­чения, «го­то­вые к еже­днев­но­му ис­поль­зо­ванию» [7]. Вы­вод о дости­жении ста­биль­но­го со­стояния па­ке­та де­ла­ет­ся раз­ра­бот­чи­ком, от­вет­ст­вен­ным за его со­про­во­ж­дение (мейн­тейнером). Что и под­твер­жда­ет FAQ, по­свя­щен­ный Tumbleweed: «“Ста­биль­ная” вер­сия па­ке­та оп­ре­де­ля­ет­ся че­ло­ве­ком, от­вет­ст­вен­ным за со­про­во­ж­дение па­ке­та, имен­но эта вер­сия и бу­дет по­ме­ще­на в ре­по­зи­то­рий Tumbleweed» [8].

В раз­де­ле, по­свя­щен­ном Tumbleweed на офи­ци­аль­ном сай­те про­ек­та openSUSE, раз­ра­бот­чи­ки за­яв­ля­ют: «...ес­ли вы бу­де­те ис­поль­зо­вать Tumbleweed, вам не нуж­но бу­дет об­нов­лять сис­те­му до бо­лее но­вой вер­сии, по­сколь­ку у вас уже бу­дет са­мая но­вая вер­сия ди­ст­ри­бу­ти­ва!». Вы­гля­дит это дей­ст­ви­тель­но ин­те­рес­но, так как ожидание вы­хо­да све­жих вер­сий лю­би­мых ди­ст­ри­бу­ти­вов в за­ви­си­мо­сти от ре­лиз-цик­ла мо­жет про­дол­жать­ся и пол­го­да, и год; а поль­зо­ва­те­лям openSUSE Tumbleweed не на­до ждать вы­хо­да но­вой вер­сии и тра­тить вре­мя на пе­реуста­нов­ку, пе­ре­нос дан­ных и т. д. Конеч­но, не обош­лось и без «изъ­я­на», но об этом чуть ниже, а сей­час при­ве­дем при­мер из уже на­ко­пив­шей­ся ис­то­рии Tumbleweed. Gnome 3.0 стал досту­пен в Tumbleweed по­сле вы­хо­да openSUSE 11.4, ко­то­рый по­став­лял­ся с Gnome 2.32; при этом сам ре­по­зи­то­рий Tumbleweed впер­вые ста­ло воз­мож­ным под­клю­чить ме­ж­ду вы­пуска­ми openSUSE 11.4 и openSUSE 12.1. Та­ким об­ра­зом, ес­ли в по­следнем ста­биль­ном ре­ли­зе openSUSE 11.4 бы­ло доступ­но ра­бо­чее ок­ру­жение Gnome 2, то поя­вив­ший­ся ре­по­зи­то­рий Tumbleweed по­зво­лял ис­поль­зо­вать Gnome 3.

Ду­ма­ет­ся, чи­та­те­лю уже ста­ло яс­но, на ко­го ори­ен­ти­ро­ван про­ект openSUSE Tumbleweed: в пер­вую оче­редь, на поль­зо­ва­те­лей, же­лаю­щих иметь но­вей­шие ста­биль­ные вер­сии про­грамм­но­го обес­пе­чения, ко­то­рые, в це­лом, недоступ­ны из ре­по­зи­то­ри­ев по­следнего ста­биль­но­го ре­ли­за openSUSE. Не­об­хо­ди­мость в уста­нов­ке но­вой вер­сии опе­ра­ци­он­ной сис­те­мы (часть па­ке­тов ко­то­рой мо­жет уста­реть уже к мо­мен­ту вы­хо­да) для них от­па­да­ет.

Ес­ли же го­во­рить об изъ­яне, то openSUSE Tumbleweed от­ли­ча­ет­ся неко­то­рой небезо­пас­ной спе­ци­фи­кой. В ча­ст­но­сти, при его ис­поль­зо­вании про­ис­хо­дит час­тое об­нов­ление яд­ра Linux, что по­тре­бу­ет от поль­зо­ва­те­ля «са­мо­стоя­тель­но­го об­нов­ления про­прие­тар­ных драй­ве­ров» (на­при­мер, для ви­део­карт от ATI или NVIDIA) [9]. Tumbleweed вклю­ча­ет не толь­ко сво­бод­ные ком­понен­ты, од­на­ко про­прие­тар­ные драй­ве­ры за­ви­сят от яд­ра, а оно в Tumbleweed по­сто­ян­но об­нов­ля­ет­ся. В конеч­ном ито­ге это мо­жет при­вес­ти к нера­бо­то­спо­соб­но­сти сис­те­мы. По­это­му для поль­зо­ва­те­лей, незна­ко­мых с про­це­ду­рой «са­мо­стоя­тель­но­го об­нов­ления про­прие­тар­ных драй­ве­ров», при­менение ре­по­зи­то­рия Tumbleweed не ре­ко­мен­ду­ет­ся; или, как точнее ска­за­но в раз­де­ле Tumbleweed на офи­ци­аль­ном сай­те, они «не долж­ны» ис­поль­зо­вать этот ди­ст­ри­бу­тив.

За­пуска­ем

Пе­рей­дем к прак­ти­че­­ской час­ти. Здесь мы восполь­зу­ем­ся опе­ра­ци­он­ной сис­те­мой openSUSE 12.2. Про­цесс ее уста­нов­ки опи­сы­вать не бу­дем. Ска­жем лишь, как по­лу­чить за­гру­зоч­ный об­раз дан­ной вер­сии. Для это­го доста­точ­но пе­рей­ти на офи­ци­аль­ный сайт про­ек­та openSUSE, а за­тем пе­рей­ти в раз­дел “Get it”, где мож­но вы­брать со­от­вет­ст­вую­щий ISO-об­раз и ска­чать его [10].

За­пуск openSUSE Tumbleweed за­клю­ча­ет­ся в уда­лении ре­по­зи­то­ри­ев уста­нов­лен­ной вер­сии openSUSE, под­клю­чении необ­хо­ди­мых ре­по­зи­то­ри­ев и в по­сле­дую­щем об­нов­лении.

Для на­ча­ла взглянем на спи­сок уже под­клю­чен­ных ре­по­зи­то­ри­ев. Сде­лать это мож­но сле­дую­щим об­ра­зом: Ме­ню за­пуска при­ло­жений kickoff (да­лее – Ме­ню) > При­ло­жения > Сис­те­ма > Центр управ­ления (да­лее – Центр управ­ления или YaST2) > Про­грамм­ное обес­пе­чение > Ре­по­зи­то­рии про­грамм­но­го обес­пе­чения. По­сле че­го вы ока­же­тесь в окне на­строй­ки ре­по­зи­то­ри­ев openSUSE.

Пе­ре­чень ре­по­зи­то­ри­ев, ко­то­рые необ­хо­ди­мо под­клю­чить, по­ме­щен на странице офи­ци­аль­но­го сай­та openSUSE, по­свя­щен­ной про­ек­ту Tumbleweed [11]. Здесь мож­но про­из­ве­сти под­клю­чение со­от­вет­ст­вую­щих ре­по­зи­то­ри­ев одним щелч­ком мы­ши – «за один клик». Но спер­ва необ­хо­ди­мо ряд ре­по­зи­то­ри­ев уда­лить. Для это­го пе­рей­ди­те в ок­но на­строй­ки ре­по­зи­то­ри­ев, как бы­ло опи­са­но вы­ше. Да­лее, вы­бе­ри­те ре­по­зи­то­рий с именем openSUSE-12.2-Non-Oss, а за­тем на­жми­те кноп­ку Уда­лить. За­тем осу­ще­ст­ви­те эту же опе­ра­цию для ре­по­зи­то­ри­ев с име­на­ми openSUSE-12.2-Oss, openSUSE-12.2-Update, openSUSE-12.2-Update-Non-Oss, по­сле че­го на­жми­те кноп­ку OK.

Те­перь мож­но пе­рей­ти и к уста­нов­ке «за один клик». Для это­го в спе­ци­аль­ном раз­де­ле “How to try Tumbleweed?” страницы, по­свя­щен­ной про­ек­ту Tumbleweed, име­ет­ся ссыл­ка one-click-install [12], ко­то­рая по­зво­ля­ет за­гру­зить файл tumbleweed.ymp; .ymp (YaST Metapackage File) – это фор­мат па­ке­тов в openSUSE [13].

До­ж­дав­шись за­груз­ки фай­ла tumbleweed.ymp, за­пусти­те его. Вы уви­ди­те ок­но, где бу­дут пред­ло­же­ны ре­по­зи­то­рии про­грамм­но­го обес­пе­чения из со­от­вет­ст­вую­ще­го пе­реч­ня (см. рис. 1). На­жми­те кла­ви­шу Да­лее. За­тем поя­вит­ся ок­но с со­об­щением об из­менениях (до­бав­лении со­от­вет­ст­вую­щих ре­по­зи­то­ри­ев), ко­то­рые про­изой­дут, ес­ли на­жать кла­ви­шу Да­лее. По­сле на­жа­тия этой кла­ви­ши поя­вит­ся ок­но со «стан­дарт­ным» для та­ких си­туа­ций пре­ду­пре­ж­дением:

Вы про­смот­ре­ли из­ме­не­ния, ко­то­рые бу­дут сде­ла­ны в ва­шей сис­те­ме?

Вре­до­нос­ные па­ке­ты мо­гут по­вре­дить ва­шу сис­те­му.

На­жи­май­те кла­ви­шу Да.

Вам останет­ся толь­ко вве­сти па­роль поль­зо­ва­те­ля root, и про­цесс до­бав­ления ре­по­зи­то­ри­ев про­дол­жит­ся. Кста­ти, в хо­де этой про­це­ду­ры, вам по­тре­бу­ет­ся ука­зать в со­от­вет­ст­вую­щем окне (Им­пор­ти­ро­вать непро­ве­рен­ный ключ GnuPG), что вы до­ве­ряе­те GPG-клю­чу под­клю­чае­мо­го ре­по­зи­то­рия Tumbleweed. По­сле всех необ­хо­ди­мых опе­ра­ций по­сле­ду­ет со­об­щение о том, что уста­нов­ка про­грамм­но­го обес­пе­чения про­шла успеш­но, и по­следний шаг – на­жать кноп­ку За­вер­шить.

Из кон­со­ли ана­ло­гич­ные дей­ст­вия мож­но осу­ще­ст­вить с по­мо­щью zypper. Вы­ве­дем спи­сок ре­по­зи­то­ри­ев:

$ zypper lr

Как вид­но на рис. 2, у нас ока­за­лись под­клю­чен­ны­ми че­ты­ре ре­по­зи­то­рия, а еще че­ты­ре – нет.

Да­лее, уда­лим не­нуж­ные ре­по­зи­то­рии –

$ sudo zypper rr 4 5 7 8

и под­клю­чим те, что нам тре­бу­ют­ся:

$ sudo zypper ar --refresh http://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/ Tumbleweed

$ sudo zypper ar --refresh http://download.opensuse.org/distribution/openSUSE-current/repo/oss/ 'openSUSE Current OSS'

$ sudo zypper ar --refresh http://download.opensuse.org/distribution/openSUSE-current/repo/non-oss/ 'openSUSE Current non-OSS'

$ sudo zypper ar --refresh http://download.opensuse.org/update/openSUSE-current/ 'openSUSE Current updates'

По­следний ша­г в ба­зо­вом про­цес­се пе­ре­хо­да на ис­поль­зо­вание openSUSE Tumbleweed – об­нов­ление (без под­клю­чения до­полнитель­ных ре­по­зи­то­ри­ев, на­при­мер, Packman; о них – ниже). Об­ра­ти­те внимание, что, в от­ли­чие от до­бав­ления ре­по­зи­то­ри­ев с ис­поль­зо­ванием гра­фи­че­­ско­­го ин­тер­фей­са для YaST, при до­бав­лении ре­по­зи­то­ри­ев с ис­поль­зо­ванием zypper до­бав­ление GPG-клю­ча для ре­по­зи­то­рия Tumbleweed по­тре­бу­ет­ся осу­ще­ст­вить на эта­пе об­нов­ления (см. рис. 3):

$ sudo zypper dup

Кста­ти, ис­поль­зо­вание ко­ман­ды dup ре­ко­мен­ду­ет­ся при пе­ре­хо­де на дру­гой ре­лиз ди­ст­ри­бу­ти­ва (на­при­мер, под­клю­че­ны ре­по­зи­то­рии но­вой вер­сии ди­ст­ри­бу­ти­ва, а ста­рые уда­ле­ны – те­перь необ­хо­ди­мо об­но­вить­ся), в том чис­ле и при об­рат­ном об­нов­лении (со стар­шей вер­сии на млад­шую) [14].

В на­шем слу­чае ока­за­лось необ­хо­ди­мо за­гру­зить 712,2 МБ (358 па­ке­тов для об­нов­ления, 35 но­вых). Сре­ди но­вых па­ке­тов: amarok-lang, bundle-lang-gnome-extras-en, flash-player, flash-player-kde4, nepomuk-core, openSUSE-release-ftp, poppler-data и др. Кро­ме то­го, сре­ди па­ке­тов для об­нов­ления име­ет­ся и LibreOffice (об­нов­ление с вер­сии 3.5.4.7, по­став­ляю­щей­ся вме­сте с openSUSE 12.2, до вер­сии 3.5.4.13 из ре­по­зи­то­ри­ев Tumbleweed). Об­нов­ление про­шло успеш­но, и ста­биль­ная ра­бо­та ди­ст­ри­бу­ти­ва не бы­ла на­ру­ше­на.

До­пол­ни­тель­ные ре­по­зи­то­рии

Итак, openSUSE Tumbleweed за­пу­щен. Сис­те­ма ра­бо­та­ет, ба­зо­вое про­грамм­ное обес­пе­чение уста­нов­ле­но. Но, как пра­ви­ло, его недоста­точ­но для ре­шения всех необ­хо­ди­мых за­дач. На­при­мер, недоступ­ны ко­де­ки в пол­ном объ­е­ме, нет «хо­ро­ших» ме­диа-плей­е­ров – VLC, Mplayer и мно­гих-мно­гих дру­гих по­лез­ных про­грамм.

Что­бы по­мочь это­му го­рю, раз­ра­бот­чи­ки под­го­то­ви­ли спе­ци­аль­ные ре­по­зи­то­рии Packman, ко­то­рые доступ­ны и для поль­зо­ва­те­лей Tumbleweed [15]. Вам пре­достав­ля­ет­ся воз­мож­ность под­клю­чить та­кие ре­по­зи­то­рии Packman, как (в ал­фа­вит­ном по­ряд­ке):

» Games – как вид­но из на­звания, ре­по­зи­то­рий со­дер­жит иг­ры, а все­го в нем 43 па­ке­та;

» Essential – ко­де­ки, ме­диа-плей­е­ры, ряд дру­гих про­грамм (faac, ffmpeg, flac123, gnome-mplayer, раз­лич­ные пла­ги­ны для GStreamer, mpg123, mplayer2, mplayerplug-in, smplayer, xmms и др.), все­го в ре­по­зи­то­рии 243 па­ке­та;

» Extra – раз­лич­ные при­ло­жения (не муль­ти­ме­диа), мно­гие из них – для ра­бо­ты в се­ти (bareftp, dhcpdetector, rar, tea, di, fotowall, FreeCAD, nmapsi4, opencascade, polipo, putty, Q7Z, qputty, sipcalc, stunnel, qtsmbstatus и др.), все­го 155 па­ке­тов;

» Multimedia – как и сле­ду­ет из на­звания, вклю­ча­ет муль­ти­ме­диа-при­ло­жения (bino, DVDStyler, handbrake, imagination, isomaster, k9copy, kdvdcreator, kino, kmediafactory, LiVES, openshot, smplayer2, synfigstudio, tomahawk, xine-ui и др.), все­го 400 па­ке­тов.

До­ба­вить эти ре­по­зи­то­рии мож­но все сра­зу –

# sudo zypper ar http://packman.inode.at/suse/openSUSE_Tumbleweed packman

а мож­но и по от­дель­но­сти. На­при­мер, для ре­по­зи­то­рия Essential это бу­дет вы­гля­деть сле­дую­щим об­ра­зом:

# sudo zypper ar http://packman.inode.at/suse/openSUSE_Tumbleweed/Essentials packman-essentials

а для Multimedia –

# sudo zypper ar http://packman.inode.at/suse/openSUSE_12.2/Multimedia packman-multimedia

Но на са­мом де­ле, в оди­ноч­ку под­клю­чать ре­по­зи­то­рии Essential и Multimedia не сто­ит, так как про­грам­мы из вто­ро­го ре­по­зи­то­рия име­ют за­ви­си­мо­сти в пер­вом. На­при­мер, при по­пыт­ке уста­но­вить Imagination из ре­по­зи­то­рия Multimedia без под­клю­чения Essential вы по­лу­чи­те пре­ду­пре­ж­дение о про­бле­ме. В ча­ст­но­сти, zypper не смо­жет об­на­ру­жить ни в од­ном из ре­по­зи­то­ри­ев ffmpeg, ко­то­рый, как мы ука­за­ли вы­ше, по­став­ля­ет­ся в рам­ках ре­по­зи­то­рия Essential.

Да­лее об­но­вим ре­по­зи­то­рии:

# sudo zypper up

Го­то­во, все пе­ре­чис­лен­ные ре­по­зи­то­рии Packman под­клю­че­ны.

Те­пепрь зай­мем­ся уста­нов­кой необ­хо­ди­мо­го про­грамм­но­го обес­пе­чения – на­при­мер, ме­диа-плей­е­ра Mplayer:

# sudo zypper in mplayer

Ес­ли бы мы вы­пол­ни­ли эту ко­ман­ду до под­клю­че­ния ре­по­зи­то­ри­ев Packman, мы бы уви­де­ли в ее вы­во­де, сре­ди про­че­го,

Не най­де­но по­став­щи­ков 'mplayer'

Сей­час же про­грамм­ное обес­пе­че­ние бу­дет ус­пеш­но ус­та­нов­ле­но (об­щий объ­ем за­гру­жае­мых па­ке­тов – 20,6 МБ).

Уч­ти­те, что в про­цес­се ус­та­нов­ки то­го или ино­го про­грамм­но­го обес­пе­че­ния мо­гут воз­ни­кать оп­ре­де­лен­ные кон­флик­ты вер­сий. На­при­мер, при по­пыт­ке ус­та­нов­ки ме­диа-плей­е­ра VLC –

# sudo zypper in vlc

возник­ла про­бле­ма, по­ка­зан­ная на рис. 4.

Вы­би­рай­те для ее уст­ранения тот ва­ри­ант ре­шения, ко­то­рый вам боль­ше под­хо­дит.

Как ви­дим, рас­ши­рить ба­зо­вые функ­цио­наль­ные воз­мож­но­сти Tumbleweed, под­клю­чив Packman, до­воль­но про­сто.

За­клю­чение

Раз­ра­бот­чи­кам openSUSE уда­лось соз­дать опе­ра­ци­он­ную сис­те­му, ко­то­рая вполне успеш­но под­дер­жи­ва­ет са­мое се­бя в ак­ту­аль­ном со­стоянии, и ее уста­нов­ка не пред­став­ля­ет осо­бой слож­но­сти. Так по­че­му бы не восполь­зо­вать­ся столь удоб­ным шан­сом по­лу­чать но­вей­шие вер­сии про­грамм, поч­ти не при­кла­дая рук? Дер­зай­те! |


Персональные инструменты
купить
подписаться
Яндекс.Метрика