Сайт | Скачать | Видео | Wiki

Автор Тема: pacman. Тонкая настройка  (Прочитано 7075 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
pacman. Тонкая настройка
« : 09 Июнь 2017, 11:10:25 »
Не устанавливаем части пакетов. Актуально только для full установки. В прочих случаях скрипт trim все это и так вырезает
Как-то так, только надо доработать... Считаю, что во всех сборках подобным образом должно быть настроено.
  • pacman.conf

    NoExtract = usr/share/doc/*
    NoExtract = usr/share/info/*
    NoExtract = usr/share/man/[a-l,n-q,s-z]*
    NoExtract = usr/share/locale/[a-d,f-q,s-z]*
    NoExtract = usr/share/locale/r[a-t,v-z]*
    NoExtract = usr/share/locale/e[a-m,o-z]*
    NoExtract = usr/share/locale/en@*
    NoExtract = usr/share/locale/en_[A-T,V-Z]*
    NoExtract = usr/share/perl5/core_perl/pod/*
man мы обычно все вырезаем
    NoExtract = usr/share/locale/r[a-t,v-z]* вырежет русскую локаль
Предлагаю так
Код
NoExtract   = usr/share/man/*
NoExtract   = usr/share/doc/*
NoExtract   = usr/share/info/*
NoExtract   = usr/share/gtk-doc/*
NoExtract   = usr/share/perl5/core_perl/pod/**
NoExtract   = usr/share/locale/[a-p,s-z]*
NoExtract   = usr/share/locale/ro*
Кто уверен, что не будет ничего компилить - добавить:
Код
NoExtract   = usr/include/*
NoExtract   = usr/lib/pkgconfig/*
Кто передумал
Цитата
Переустановить все пакеты из arch репозитория: pacman -S $(pacman -Qq | grep -v «$(pacman -Qmq)»)
« Последнее редактирование: 14 Июнь 2017, 14:02:25 от sfs »

Оффлайн paulus

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1732
  • Репутация: +24/-0
Re: pacman. Тонкая настройка
« Ответ #1 : 11 Июнь 2017, 22:18:50 »
Актуально только для full установки
и для no_full, но с changes ;) что лучше ваших dat. imho

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #2 : 13 Июнь 2017, 08:47:42 »
Что в итоге по предложению?
Предлагаю так


лучше ваших dat
Если dat - это сохраненка в файл- я не при делах. Изобрел не я и не юзаю. На виндоразделах есть альтернатива?

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #3 : 14 Июнь 2017, 14:03:03 »
Поправил и дописал конфиг в шапке темы

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pacman. Тонкая настройка
« Ответ #4 : 26 Ноябрь 2018, 15:19:10 »
 Пример pacman.conf. Адаптированы некоторые команды trim, чтобы показать как это работает.
https://wiki.archlinux.org/index.php/Pacman#Skip_files_from_being_installed_to_system
https://www.archlinux.org/pacman/pacman.conf.5.html
А также материалы форума арчвики.
Код
NoExtract   = usr/**/locale*/* !*locale*/ru* !*locales/en.* !*locale.alias* !*en_US.UTF-8* !*ru_RU.UTF-8* !*locale-*
NoExtract   = usr/*/translations/* !*ru.qm
NoExtract   = opt/*/locales/*  !*ru.*
#NoExtract   = usr/lib/*/locale*/* !*locale*/ru*
NoExtract   = usr/share/i18n/locales/* !*POSIX !*en_US !*locales/i18n !*ru_RU
NoExtract   = usr/share/i18n/charmaps/* !*CP1250.gz* !*CP1251.gz* !*CP1252.gz* !*ISO-8859-1.gz !*KOI-8*.gz !*KOI8-*.gz !*UTF-8.gz
NoExtract   = usr/share/kbd/keymaps/* !*keymaps/i386* !*keymaps/include*
NoExtract   = usr/share/kbd/keymaps/i386/* !*i386/qwerty* !*i386/include*
NoExtract   = usr/share/kbd/consolefonts/* !*Cyr_a8x*.gz !*LatArCyrHeb*.gz !*cyr-sun*.gz !*sun12x*.gz
NoExtract   = usr/share/terminfo/* !*terminfo/l* !*terminfo/r* !*terminfo/v* !*terminfo/x*
NoExtract   = usr/lib/gconv/* !*CP1251.so !*CP1252.so !*IBM866.so !*ISO8859-1.so !*ISO8859-5.so !*KOI*.so !*UNICODE.so !*UTF-*.so !*gconv-modules
#
NoExtract   = usr/share/doc/*
NoExtract   = usr/share/gtk-doc/*
NoExtract   = usr/share/info/*
NoExtract   = usr/share/man/*
NoExtract   = usr/share/licenses/*

Как это работает.
Код
sudo pacstrap -i -c -d base-TEST base
Код
live@pra-roll /mnt/sda3/copy/base-TEST % ls **/locale*/ **/kbd/*~(*unimaps*|*consoletrans*|*loc*) **/terminfo/ **/i18n/charmaps/ **/gconv/
usr/lib/gconv/:
CP1251.so  ISO8859-1.so  KOI8-RU.so  KOI-8.so    UTF-16.so
CP1252.so  ISO8859-5.so  KOI8-T.so   UNICODE.so  UTF-32.so
IBM866.so  KOI8-R.so     KOI8-U.so   UTF-7.so    gconv-modules

usr/share/i18n/charmaps/:
CP1250.gz  CP1252.gz      KOI8-R.gz   KOI8-T.gz  KOI-8.gz
CP1251.gz  ISO-8859-1.gz  KOI8-RU.gz  KOI8-U.gz  UTF-8.gz

usr/share/i18n/locales/:
POSIX  en_US  i18n  ru_RU

usr/share/kbd/consolefonts:
Cyr_a8x8.psfu.gz   LatArCyrHeb-08.psfu.gz  LatArCyrHeb-16+.psfu.gz  sun12x22.psfu.gz
Cyr_a8x14.psfu.gz  LatArCyrHeb-14.psfu.gz  LatArCyrHeb-19.psfu.gz
Cyr_a8x16.psfu.gz  LatArCyrHeb-16.psfu.gz  cyr-sun16.psfu.gz

usr/share/kbd/keymaps:
i386  include

usr/share/kbd/locale/:
ru

usr/share/locale/:
locale.alias  ru

usr/share/terminfo/:
l  r  v  x

 P.s. Возможно придется включить Extended globbing:
Код
$ shopt -s extglob
В zsh он по умолчанию:
Код
% setopt |grep glob  
extendedglob
« Последнее редактирование: 21 Январь 2019, 15:18:51 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pacman. Тонкая настройка
« Ответ #5 : 16 Январь 2019, 15:30:30 »
 Когда собирал peerflix, он жаловался на отсутствие en.js. Поправил NoExtract выше.
Не стал делать общее исключение en*, т.к. прилетает и en-US и en-GB.
Цитата
NoExtract   = usr/**/locale*/* !*locale*/ru* !*locales/en.*  !*locale.alias !*en_US.UTF-8* !*ru_RU.UTF-8*
« Последнее редактирование: 17 Январь 2019, 01:24:46 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #6 : 21 Январь 2019, 12:30:49 »
usr/**/locale*/* вырезает лишнее и тогда это наверное лишнее !*locales/en.* !*en_US.UTF-8* !*ru_RU.UTF-8*
В итоге
Код
NoExtract   = usr/share/locale/* !*/locale/ru/* !*/locale/en/*  !*locale.alias

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pacman. Тонкая настройка
« Ответ #7 : 21 Январь 2019, 15:54:19 »
В итоге
NoExtract   = usr/share/locale/* !*/locale/ru/* !*/locale/en/*  !*locale.alias
  Моя строка более универсальна. Здесь же, например при установке skypeforlinux-stable-bin, она пропустит все локали:
Код
live@prar-1811 ..0.41-1/usr/share/skypeforlinux/locales % ls
ru.pak
Так же моя строка вырежет локали в прогах по пути /usr/lib/прога/.......
Код
live@prar-1811 /mnt/.peerflix-0.39.0-any-1811-kr1.pfs % sudo find . |grep locales
./usr/lib/node_modules/peerflix/node_modules/numeral/locales
./usr/lib/node_modules/peerflix/node_modules/numeral/locales/ru-ua.js
./usr/lib/node_modules/peerflix/node_modules/numeral/locales/ru.js
./usr/lib/node_modules/peerflix/node_modules/numeral/locales.js
./usr/lib/node_modules/peerflix/node_modules/numeral/min/locales
./usr/lib/node_modules/peerflix/node_modules/numeral/min/locales/ru-ua.min.js
./usr/lib/node_modules/peerflix/node_modules/numeral/min/locales/ru.min.js
./usr/lib/node_modules/peerflix/node_modules/numeral/min/locales.min.js
./usr/lib/node_modules/peerflix/node_modules/numeral/src/locales
./usr/lib/node_modules/peerflix/node_modules/numeral/src/locales/ru-ua.js
./usr/lib/node_modules/peerflix/node_modules/numeral/src/locales/ru.js
./usr/lib/node_modules/peerflix/node_modules/numeral/tests/locales
./usr/lib/node_modules/peerflix/node_modules/numeral/tests/locales/ru-ua.js
./usr/lib/node_modules/peerflix/node_modules/numeral/tests/locales/ru.js

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #8 : 21 Январь 2019, 18:23:05 »
Это частные случаи, которые надо или дописать или руками
Мне такое правило лишнего сносило

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pacman. Тонкая настройка
« Ответ #9 : 21 Январь 2019, 18:55:36 »
Мне такое правило лишнего сносило
Можно тогда разбить на несколько строк мою универсальную:
NoExtract   = usr/share/locale/* !*/locale/ru/* !*/locale/en/*  !*locale.alias
NoExtract   = usr/share/*/locales/* .....
NoExtract   = usr/lib/*/locales/* .....


У меня с моей универсальной были один раз проблемы при сборке peerflix, но там в терминале написало ошибку и я добавил правило !*locales/en.*

upd. Но, в отличии от моей строки, уже не будут обработаны /usr/share/kbd/locale/,  /usr/share/i18n/locales/,  /usr/share/X11/locale/. Слишком много частностей придется прописывать отдельными строками.

upd2. И вообще, я в качестве примера для правил в pacman.conf брал trim. )
Правда предыдущий. Новый trim (#181201 sfs) получился слишком рафинированным, куча локалей в 001-prar1811-sf04. Тот случай когда дуют на воду. )
Ошибка при запуске гуи (prar-1811-gtk3-01):
Код
% sudo trim -g                         
/usr/local/bin/trim: строка 17: D: команда не найдена
« Последнее редактирование: 22 Январь 2019, 01:24:41 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #10 : 22 Январь 2019, 09:21:03 »
Тот случай когда дуют на воду. )
Это оченьважный момент. Если перестараться - можно хватануть трудноразрешимых проблем
Если недостататься - займет чуть больше места на диске
Тема для очень опытных
Одна звездочка не там и убитая система

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pacman. Тонкая настройка
« Ответ #11 : 23 Январь 2019, 17:24:04 »
Новый trim (#181201 sfs) получился слишком рафинированным, куча локалей в 001-prar1811-sf04.
  Есть утилита для очистки системы от мусора - bleachbit https://www.archlinux.org/packages/community/any/bleachbit/
В PRA она думаю не нужна, но там есть настройка для чистки локалей --> Система - Локализация. Чистит три директории /usr/share/locale/,  /usr/share/i18n/locales/,  /usr/share/X11/locale/. Можно взять за образец, хотя она оставляет неудаленными разные диалекты (agr_PE, anp_IN и т.д).
Код
live@prar-1811 /usr/share/i18n/locales % ls
POSIX   cmn_TW              kab_DZ        niu_NZ  szl_PL                 translit_narrow
agr_PE  cns11643_stroke     lij_IT        pap_AW  tcy_IN                 translit_neutral
anp_IN  doi_IN              lzh_TW        pap_CW  the_NP                 translit_small
ayc_PE  dsb_DE              mag_IN        quz_PE  tpi_PG                 translit_wide
bem_ZM  fil_PH              mfe_MU        raj_IN  translit_circle        unm_US
ber_DZ  hak_TW              miq_NI        ru_RU   translit_cjk_compat    yue_HK
ber_MA  hif_FJ              mjw_IN        ru_UA   translit_cjk_variants  yuw_PG
bhb_IN  i18n                mni_IN        sah_RU  translit_combining
bho_IN  i18n_ctype          nan_TW        sat_IN  translit_compat
bho_NP  iso14651_t1         nan_TW@latin  sgs_LT  translit_font
brx_IN  iso14651_t1_common  nhn_MX        shs_CA  translit_fraction
chr_US  iso14651_t1_pinyin  niu_NU        sid_ET  translit_hangul
Скриншот.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Модули.pfs и пакеты от пользователей
« Ответ #12 : 01 Июль 2019, 12:07:36 »
Можно слегка добавить красоты в консольный pacman.  :)
В pacman.conf прописать (раскоментировать):
Цитата
[options]
Color
https://www.archlinux.org/pacman/pacman.conf.5.html#_options

Пример: pacman -Ss python2
Скрин.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #13 : 01 Июль 2019, 12:56:26 »
Т.к. вывод из pacman используется в самопальных скриптах - плохая идея
Этот цвет все сломает
Тогда уж делать отдельный конфиг и в ручном режиме запускать с ним

В packer по дефолту цветное  + AUR
« Последнее редактирование: 01 Июль 2019, 12:59:20 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: pacman. Тонкая настройка
« Ответ #14 : 28 Август 2019, 11:33:15 »
Хочу опробовать рецепт
Код
NoExtract = usr/share/locale/* usr/share/i18n/*
NoExtract = !*locale*/ru*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/ru_?? !usr/share/*locales/i18n !usr/share/*locales/iso*
NoExtract = !usr/share/*locales/trans*
#
NoExtract = !usr/share/*locales/en_US !usr/share/*locales/POSIX
NoExtract = !usr/share/i18n/charmaps/CP1251.gz !usr/share/i18n/charmaps/KOI8-R.gz
Не перестарался?
Теститровать хорошо на pacman2pfs glibc