home

IT Runs

quote
25 Aug 91 20:57:08 GMT
Hello everybody out there using minix -
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(
— Ядру 19 лет.

1 year ago

August 25, 2010
text

Символические ссылки. Ограничения «жестких» ссылок

Здесь мы вынуждены столкнуться с очень распространенным заблуждением (даже среди пользователей UNIX), которое является в основном следствием того, что ссылки, как мы видели ранее (незаслуженно называемые «жесткими» ссылками), ассоциируются только с обычными файлами (и мы видели, что это не повод —— так как даже символические ссылки являются «связанными»). Но для этого требуется, чтобы мы сначала разъяснили, что же представляют собой символические ссылки (часто называемые «мягкими» ссылками или даже еще чаще «симлинками»).

Символические ссылки — это файлы особого типа, единственным содержанием которых является произвольная строка, которая может указывать (а может и не указывать) на существующий файл. Когда вы обращаетесь к символической ссылке в командной строке или в программе, на самом деле вы обращаетесь к файлу, на который она указывает, если он существует. Например:

$ echo Hello > myfile
$ ln -s myfile mylink
$ ls -il
total 4
169 -rw-rw-r—  1 queen queen 6 Dec 10 21:30 myfile
416 lrwxrwxrwx 1 queen queen 6 Dec 10 21:30 mylink -> myfile
$ cat myfile
Hello
$ cat mylink
Hello

Как видите, тип файла mylink — «l» (от слова Link), т. е. он является символической ссылкой. Права доступа для символической ссылки значения не имеют: они всегда будут rwxrwxrwx. Вы также можете видеть, что она и файл myfile — это два разных файла, т. к. ее номер inode отличается. Но она ссылается на него символически, поэтому, когда вы вводите команду

cat mylink

на самом деле вы выводите содержимое файла myfile. Чтобы продемонстрировать, что символическая ссылка содержит произвольную строку, мы можем сделать следующее:

$ ln -s “I’m no existing file” anotherlink
$ ls -il anotherlink
418 lrwxrwxrwx 1 queen queen 20 Dec 10 21:43 anotherlink -> I’m no existing file
$ cat anotherlink
cat: anotherlink: No such file or directory

Но символические ссылки существуют благодаря тому, что они преодолевают несколько ограничений, присущих («жестким») ссылкам:

  • Вы не можете создать ссылку на inode в каталоге, который находится в другой файловой системе. Причина проста: счетчик ссылки хранится в самом inode’е, а последние не могут совместно использоваться в разных файловых системах. А симлинки позволяют сделать это.

  • Вы не можете создать ссылки на каталоги, во избежание создания циклов в файловой системе. Но вы можете создать симлинк, указывающий на каталог и использовать его так, как если бы это на самом деле был каталог.

Поэтому символические ссылки очень полезны в различных ситуациях, и очень часто люди стремятся их использовать для связывания файлов даже тогда, когда могла бы быть использована обычная ссылка. Одно из преимуществ обычного связывания состоит в том, что вы не потеряете файл, если удалите «оригинальный».

И напоследок, если вы были внимательны, то могли заметить, что размер симлинка — это просто размер строки.

via

1 year ago

June 16, 2010
text

Новая команда

Я поставил матлаб в /usr/local. Но почему-то вот такая ерунда происходит: матлаб не хочет запускаться без консоли, т. е. вызвать его можно только командой, выполненной в эмуляторе термнала. При этом, автодополнение имени команды тоже не оказалось после установки. Эту проблему раньше я решал с помощью добавления такой строки в ~/.bashrc:

alias matlab=’/usr/local/matlab/bin/matlab &’

Теперь автодополнение есть. Амперсант стоит для того, чтобы дальше можно было пользоваться консолью, в которой вводится команда, т. к. дальнейший вывод матлаба в ней я не наблюдал.

Сегодня же ко мне пришло озарение. Я как-то из водуха догадался, что автодополнение можно сделать путем создания ссылки в /usr/bin на исполняемый матлабовский файл:

ln -s /usr/local/matlab2008b/bin/matlab /usr/bin/matlab

Теперь можно вызывать матлаб без ввода полного пути, причем от любого пользователя, чего нельзя было так просто добиться первым способом.

1 year ago

June 16, 2010
text

Slackware vs Archlinux: выбор дистрибутива для опытного пользователя

Статья (перевод) отсюда, оригинал — здесь.

Как вам должно быть уже известно, в мире существует огромное количество дистрибутивов Linux (для тех, кто не в курсе — «Linux» — это ядро операционной системы, вокруг которого создают коллекцию утилит и приложений, все это вместе называется «дистрибутив»).

Какой дистрибутив выбрать — зависит от того, что вы собираетесь с ним делать, и хотите ли вы настраивать все сами, чтобы дистрибутив находился по вашим полным контролем. Может быть вы хотите, чтобы все просто работало «из коробки» (в таком случае я рекомендую Ubuntu). Некоторым нужно запустить сервер. Их выбор — Red Hat (или CentOS). Разумеется, существует масса альтернатив, например BSD.

Если вы пользователь, который любит копаться во внутренностях системы и настраивать все своими руками, вам необходимо рассмотреть два нижеописанных дистрибутива. Оба поддерживают 32 и 64-битные платформы и придерживаются правила KISS. Это относительный новичек Arch Linux (создан в 2002 году) и почтенный, проверенный в битвах Slackware Linux (создан в 1993 году и сегодня является старейшим активно поддерживающимся дистрибутивом — дети, которые родились в один год со Slackware, сейчас уже водят машины). Оба дистрибутива подразумевают настройку путем ручной правки конфигурационных файлов, мало графических утилит настройки, много работы в консоли. В итоге вы получите систему с прекрасным графическим интерфейсом: оба дистрибутива официально поддерживают KDE, Arch также официально поддерживает GNOME, который несложно установить и в Slackware. Зачем вам все это? Ответ — для того, чтобы больше узнать о работе системы и научиться самостоятельно администрировать ее.

Ирония дружественных к пользователю систем заключается в том, что повышение дружелюбности к пользователю сопровождается соответствующим усложнением системы. Процесс управления системой от сравнительно умного и сверхмощного человеческого мозга передается относительно тупой части сложного и хрупкого софта для управления системой (я считаю, что именно по причине сложности и хрупкости этих систем администрирование Unix всегда осуществлялось людьми, и они никогда не строились по принципу «выстрелил и забыл»).

Итак, мы избавимся от лишних уровней сложности и вернем людей назад, в итоге мы получим более простую систему в обмен на необходимость больше знать о том как настраивать и поддерживать ее (если вы действительно хотите узнать все о том, как работает Linux, можете собрать свой собственный дистрибутив, используя Linux From Scratch, но не думаю, что вы сегодня так далеко зайдете).

Итак, вернемся к двум нашим дистрибутивам — Arch и Slackware. Оба устанавливаются в текстовом режиме и не запускают  X, пока вы им об этом не скажете. Инсталлятор Slackware ведет вас за руку через весь процесс установки, в то время как у Arch он фактически предлагает вам вручную редактировать /etc/rc.conf (который на самом деле очень простой и симпатичный файл).

Установка Арча чуть-чуть отличается вследствие того, что она не включает X — его необходимо загрузить и установить с помощью менеджера пакетов, только тогда можно будет работать в графическом режиме.

В обоих дистрибутивах после установки попадаешь в консоль, графическая сессия по умолчанию не стартует. Оба дистрибутива имеют софт для пакетного менеджмента и оба используют пакеты формата tarball. Менеджер пакетов Арча — «pacman» быстрее, чем у Slackware, но вряд ли это будет заметно на практике. Самое существенное отличие — использование в Arch системы контроля зависимостей пакетов в отличие от Slackware, где она до сих пор не используется. Пользователи Slackware не застрахованы от конфликтов, которые часто называют «адом зависимостей». Может ли система быть стабильной без автоматического контроля зависимостей? Да, может, и Slackware подтвердил это на практике. Пользователи просто обновляют пакеты, когда это необходимо. С другой стороны, работу с Arch можно назвать раем зависимостей, где все просто работает и все нужные зависимости скачиваются и устанавливаются автоматически.

Стабильность Slackware общеизвестна. В дистрибутив включают только проверенные версии пакетов, обновление которых, за исключением обновлений безопасности, происходит достаточно редко. Вы устанавливаете систему и она просто работает.

Arch не ставит во главу угла стабильность, в основном система включает самые последние версии приложений (хотя девелоперские версии как правило отсутствуют). Как только выходит новый релиз программы, значит она очень скоро появится в Arch (часто задержка связана с тем, что новые пакеты сначала попадают в «тестовый» репозиторий, к которому обычные пользователи не подключены, однако вы можете к нему подключиться, если хотите помочь в тестировании программы. Пользователи Арча обновляют свою систему чаще всего с помощью команды «pacman -Syu», чтобы обновить все пакеты. Обычно несколько пакетов обновляются каждый день после выхода новых версий.

Хотя это звучит как кошмар в плане стабильности, который должен постоянно приводить к нарушениям, обычно обновление работает без сучка и задоринки. У меня была одна проблема, когда майнтайнер Арча забыл включить один из пакетов KDE, являвшийся частью общего обновления, но ошибка была очень быстро исправлена. Другая проблема появилась, когда nVidia переместила драйвер для моей видеокарты в другой пакет, а старый оказался несовместим с последней версией Xorg — установка собственного пакета драйвера от Arch решила и эту проблему. Эти две неприятности случились за восемь месяцев практически ежедневных обновлений.

Если вы хотите придать Slackware немного больше свежести, можно использовать репозиторий «-current». Эти пакеты не очень хорошо протестированы (так как их пользователи являются тестерами), но в итоге они станут частью следующего релиза и будут нерушимы как скала.

Если говорить об обновлениях безопасности, Slackware предоставляет обновления безопасности как для текущего, так и для нескольких более старых релизов. Вы можете быть уверены, что поддержка обновлений безопасности будет доступна длительное время, и я нигкогда не видел, чтобы обновления безопасности каким-либо образом повредили систему. Что касается Арча, он не предлагает отдельных обновлений безопасности, они просто являются частью политики, направленной на обновление всех пакетов до последних версий. Arch не обеспечивает отдельного отслеживания обновлений безопасности.

Один из примеров, где действительно видна разница между этими двумя концепциями обновлений — это серверы. Со Slackware вы можете быть уверены, что обновления обеспечивают только повышение безопасности, и все. Но вам вряд ли понравится, если обновление postfix до последней версии «просто, чтобы было» нарушит работу пользователей. Поэтому я не рекомендую использовать Arch в качестве сервера, хотя некоторые используют его в таком качестве (единственное послабление в этом вопросе сос стороны разработчиков дистрибутива — версия ядра с долгосрочной поддержкой, которая обновляется не часто и поэтому больше подходит для машин, работающих в течение долгого времени без перезагрузки.

Вы можете подумать: «Если Арч постоянно обновляет все пакеты до последних версий, почему я каждый раз должен скачивать DVD с последним релизом?» Вы не должны! После установки вам никогда не нужно будет переустанавливать его или устраивать большое обновление каждые шесть месяцев. Вы просто всегда будете получать из сети последние версии пакетов. Такая модель называется «инкрементный релиз». Slackware использует обычную модель разработки с нумерованными релизами.

акой из дистрибутивов имеет больше пакетов? Ответ однозначный — Arch. Slackware 13.0 включает около 1000 пакетов, в то время как Arch более 4000. Это например, означает, что Inkscape есть в Archlinux, но отсутствует в Slackware. Не поймите меня неправильно — 1000 это много, однако вы можете не найти в этом списке что-что из того, что вам нужно (конечно вы всегда можете самостоятельно собрать для себя нужный пакет).

Если вам нужен пакет, которого нет в официальных репозиториях, можно поискать его в сторонних репозиториях. Для Slackware наиболее популярный — slackbuilds.org (SBo), где представлены около 1700 созданных пользователями шелл-скриптов для сборки пакетов Slackware, которые затем можно установить. Например, здесь есть скрипт Inkscape Slackbuild, так что вы можете просто установить его, не изучая, как собрать пакет самому. Кроме того, обычно имеется файл README, где описываются зависимости, которые необходимо установить. В духе легендарной стабильности Slackware все скрипты SBo рассматриваются и проверяются администраторами сайта.

Для сравнения, Arch имеет « Arch User Repository» (AUR), который содержит около 18000 загруженных пользователями скриптов для сборки. Арч не предоставляет никаких гарантий для этих скриптов и предупреждает, что пользователь использует их на свой страх и риск. При обновлении программ сценарии устаревают и пользователь, поддерживающий скрипт сборки, должен обновить его. Для скриптов, оставшихся «бесхозными» может найтись другой майнтайнер. Система работает сама и администраторы AUR не склонны вмешиваться в этот процесс. Хотя теоретически скрипты сборки могут быть опасными, на практике я не встречал такого ни разу, к тому же такие пакеты будут быстро удалены администраторами.

По сравнению со скриптами Slackware, сборочные скрипты Арча базируются на bash и запускаются с помощью программы makepkg. Эти скрипты проще, чем слаковские, так как большую часть черновой работы берет на себя makepkg, кроме того они могут использовать преимущества bash, такие как массивы. Недостаток — зависимость от bash и от makepkg, тогда как скрипты Slackware зависят только от sh. Для пользователя работа с обеими типами скриптов выглядит практически одинаково: запуск скрипта и затем установка собранного пакета.

Суммируя все вышесказанное выделим основные черты сходства и различия дистрибутивов.

И Slack и Arch: базирование на принципе KISS, поддержка 32 и 64-битных архитектур, пакетная система, основанная на тарболлах, текстовая установка, администрирование с помощью редактирования конфигурационных файлов, KDE в качестве рабочего стола по умолчанию.

Основные особенности дистрибутивов.

Slackware: полная стабильность, хорош для серверов, относительно небольшое (но достаточное) количество отлично протестированных стабильных программ, обновления безопасности, GNOME официально не поддерживается, стандартная модель релизов.

Archlinux: хорошая (но не гарантированная) стабильность, большое количество передового софта, хорош для десктопов, все пакеты обновляются постоянно, GNOME поддерживается официально, модель инкрементных релизов.

Какой из них лучше? Решать вам!

1 year ago

June 14, 2010
text

Настройка Wifi Atheros AR242x (AR5007EG) в Debian Lenny (5.0)

Поставил на ноут (Lenovo B450-4TK-B) Debian Lenny. Первая проблема - обе сетевухи не заработали. Лановская вообще не определилась, а вайфайная не захотела находить беспроводные сети. Помогла статья, которую привожу далее.

У обладателей таких ноутбуков, как: Asus X51RL, Fujitsu-Siemens s6420, Toshiba a201, Samsung NC10, Amilo Mini 3520, Acer Aspire 5315 и еще многих других, есть одна общая проблема - Wifi карточка Atheros AR5007EG / AR242x, работоспособность которой после установки Linux-системы, как правило, оставляет желать лучшего. Благодаря проекту madwifi, установка драйверов Atheros не доставляет много проблем.

Диагностика оборудования: наличие Atheros AR5007EG /AR242x

В первую очередь необходимо убедиться, что в системе действительно установлена Wifi карта Atheros AR5007EG /AR242x:

$ lspci | grep Atheros
18:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

Установка пакетов для сборки драйверов для Atheros AR5007EG /AR242x

Следующим шагом, необходимо установить пакеты для успешной компиляции драйвера:

$ sudo aptitude update 
$ sudo aptitude install build-essential linux-headers-$(uname -r)

Установка MadWifi драйверов для для Atheros AR5007EG /AR242x

Далее, необходимо скачать драйвер для Atheros AR5007EG /AR242x:

$ mkdir ./mad-wifi
$ cd ./mad-wifi
$ wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r4103-20100110.tar.gz

После того, как драйвер скачан, его необходимо разархивировать и скомпилировать:

# Разархивируем драйвер
$ tar zxvf madwifi-hal-0.10.5.6-r4103-20100110.tar.gz
$ cd madwifi-hal-0.10.5.6-r4103-20100110

# Компилируем драйвер
$ make
$ sudo make install

Теперь драйвер скомпилирован. Необходимо проверить работу wifi-карты с новым драйвером:

# включаем модуль ядра
$ sudo modprobe ath_pci

# включаем wifi-интерфейс
$ sudo ifconfig ath0 up

# проверяем настройки wifi
$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.

ath0 IEEE 802.11g ESSID:"XXXXXXXXXXXXX" Nickname:""
Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate:6 Mb/s Tx-Power:17 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=21/70 Signal level=-74 dBm Noise level=-95 dBm
Rx invalid nwid:848 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Если вывод последней команды похож на приведенный, то можно констатировать, что wifi карта работает. Остается лишь включить модуль ядра в загрузку и перезагрузиться:

$ sudo su
$ echo "ath_pci" >> /etc/modules

# блокируем загрузку альтернативного драйвера
$ echo "blacklist ath5k" >> /etc/modprobe.d/blacklist

# перезагрузка
$ reboot

Единственным недостатком такого метода является необходимость пересобирать драйвер после каждого обновления ядра. Благо, теперь это просто.

Удаление MadWifi драйверов для для Atheros AR5007EG /AR242x

В случае, если что-либо не получилось, либо появилось желание установить более свежий драйвер, то текущую установку можно без труда удалить:

$ cd ./mad-wifi/madwifi-hal-0.10.5.6-r4103-20100110
$ sudo make uninstall

via

text

Восстановление удаленных файлов ext2, ext3, ufs1, ufs2, ntfs, fat

Часто возникает необходимость восстановить удаленный файл в Linux. Многие «эксперты» говорят о том, что это невозможно для ext2/ext3. Не верьте — в этом может помочь программа Sleuth Kit.

Программа умеет работать с сырыми (raw) данными; поддерживает файловые системы NTFS, FAT, UFS 1, UFS 2, EXT2FS, EXT3FS, ISO9660; работает под операционными системами Linux, Mac OS X, Windows, CYGWIN, OpenBSD, FreeBSD, Solaris.

Загрузить Sleuth Kit | Документация по Sleuth Kit | http://www.sleuthkit.org/

viavia(!)

video

Ура, товарищи! Теперь помогать маме можно без виндопосредников!

Тимвьювер теперь есть под линуксом, спасибо хабру за инфу.

1 year ago

April 19, 2010
text

Fn-кнопки в XFCE

Уже второй раз приходится делать такую штуку. Я пользуюсь XFCE. Но схватываются “из коробки” не все комбинации клавишь Fn+key, как минимум изменение громкости добавлять приходится вручную. Для этого нужно открыть настройки клавиатуры. переключится во вкладку “Горячие клавиши”, и там уже добавлять комбинации одну за другой. Вообще, возможно кто-то уже решил эту проблему, написав скрипт, но пока я довольствуюсь самым малым. В будущем планирую дополнять и автоматизировать изменение комбинаций.

Итак, для клавиш изменений громкости можно на нужные биндинги посадить команды

aumix -v -3
aumix -v +3

или

amixer set Master 3%-
amixer set Master 3%-

для уменьшения и увеличения уровня громкости соответственно (вместо тройки можно поставить нечто свое в пределах очевидного разумного). Так как я пользуюсь exaile (даже когда он не входит в набор штатных приложений), настроил под него мультимедийные клавиши. Стоило просто набрать в терминале

exaile -h

Получится что-то такое:

1 year ago

April 18, 2010
text

Он вернулся. Тормоз IPv6

Надо убить IPv6, сильно тормозящий инет. В убунтах и федорах этот вопрос решался пользователями почти год назад (пруф), сейчас он давно решен разработчиками. Однако, в Salix пришлось с ним столкнуться опять. Решение простое — блокируем загрузку модуля IPv6.

# echo “blacklist ipv6” » /etc/modprobe.d/blacklist.conf

По понятным причинам это решение работает и в Slackware (у Zenwalk 6.2, кстати, такой «фичи» не помню).

1 year ago

April 18, 2010
text

VirtualBox и USB-принтер

У hplip в репозиториях арклинукса серьезные проблемы. Для того, чтобы он работал, пользователи откатываются обычно до предыдущей версии, и, говорят, принтеры hp в этом случае работают исправно. С текущей версией серьезные неполадки. В этой ситуации есть как минимум плюс в том, что известно, где собака зарыта.

Сегодня ночью мне нужна была печать. У сестры нет смысла брать каждый раз нетбук, тем более уж больно он нетороплив. Но зато под виндами принтер работает вполне успешно. На десктопе тоже стоит арк, соответственно там проблема та же. И там же я откатом ее решать не пытался.

Дабы не терять ночью слишком много времени на установку старой версии hplip, я пошел другим путем. Решил поставить драйвер для принтера на винду, которая стояла на виртуалке: а именно на virtualbox-ose — опенсорсном варианте VirtualBox от Sun (ныне часть Oracle). Но тут оказался один подводный камень — нет связи с USB-устройствами. Куда уж без нее!?

Решение оказалось мягким для совести и нервов. У Sun есть версия VirtualBox с закрытым исходным кодом, причем бесплатная для некоммерческого использования (жмк!). Собственно, она включает поддержку USB-устройств. Поэтому получилось поставить дровишки моего лазерджета, тыкнуть в подключение принтера к виртуалке, распечатать, наконец, документ. Главное — не забывать подключать принтер к гостевой ОС. Я минут 15 мучился, не понимая, почему же принтер отказывается печатать.

1 year ago

April 10, 2010
text

Распаковка нескольких тарболлов сразу

Есть такая задача, распаковать кучу тарболлов сразу. Например, если накачать каких-то пакетов, тем оформления и проч. Приведенное решение вытекает из знания синтаксиса bash

for i in *.tar.gz; do tar xzvf $i; done

В целом, такие вещи можно делать много с чем, далеко не только с распаковкой.

1 year ago

April 7, 2010
text

Fuckyeahsudo

Нашел на линсовете решение знакомой проблемы. Далее копипастирую:

$ sudo echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

Хотелось изменить файл, и sudo настроен, а тут такой облом. В чем же дело? А дело в том что шелл открывает файл перенаправления «>» до того, как запускается сама команда, поэтому файл открывается с текущими правами, а не с теми что дает sudo. Решение в лоб:

$ sudo -s
# echo 3 > /proc/sys/vm/drop_caches

или решение поумнее

$ echo 3 | sudo tee /proc/sys/vm/drop_caches

tee копирует стандартный ввод в стандартный вывод и файлы.

1 year ago

March 30, 2010
link

How to Fix KDE 4.1 Plasma Workspace

Когда я логинился после манипуляций в networkmanager, у меня слетал plasma-workspace, т. е. ни панели, ни рабочего стола с его фоном, а только голые окошки сохраненной сессии. Проблема побеждается удалением плазмаконфигов в ~/.kde/share/config. 

1 year ago

March 29, 2010
text

KDE4, концепция модулей

Почему KDE? В первую очередь, приспичило обжиться там, где пока не пробовал. Во вторую очередь смысл в том, чтобы все мультимедийные штуки KDE определило само и чтобы я уже не разбирался с корректностью работы функциональных клавиш на ноутбуке. В третью очередь дизайн. Да и эффекты поразглядывать, благо теперь видеокарта от нвидиа позволяет наслаждаться отсутствием проблем :) Так как полный набор программ в KDE содержит много ненужного, я подумал, что стоит поставить нужные программы как-то самому, а не тупо все сразу. Но в этом интергрированном рабочем окружении так много пакетов, что тут фиг по-быстрому выцепишь все то, что нужно. Поэтому читать вики очень полезно. Особенно арквики. Есть там статья о пакетах KDE, в которой описывается их модульность. Говоря по-быстрому и простому, пакеты KDE сортированы по модулям, что позволяет думать, что ты примерно понимаешь, что устанавливаешь. Модуль — это категория исходного кода набора программ, на них (модели) можно посмотреть тут.

Группы объединяют пакеты только в смысле категорий, делящих по роду задач весь арсенал KDE. Можно установить группу пакетов одной командой, а затем удалить ненужные из них. Роль группы выпоняется только при установке, и далее ничто не объединяет этот набор программ. Есть группа, объединяющая все пакеты сразу — kde. Пример установки групп:

# pacman -S kdebase kdeutils …

Метапакеты — это пустые пакеты, связывающие зависимостями пакеты из одного модуля. Установливая некий мета-пакет, мы ставим все пакеты модуля в одной связке. При дальнейшем обновлении системы обновляться будет уже весь модуль, а не пакеты по отдельности.

# pacman -S kde-meta-kdebase kde-meta-kdeutils …

Таким образом, в системе автоматически будут устанавливаться и удаляться пакеты согласно текущему набору в модуле, при этом отдельно какой-то из установленных удалить из системы не получится, пока не будет удален метапакет, обеспечивающий целостность модуля в системе. Метапакет всего и сразу — kde-meta (группа метапакетов). Удаляя пакет kde-meta, удаляем все метапакеты из системы, т. е. то, что обусловливает жесткую зависимость программ в модулях. Пример: нужно удалить kwrite (из модуля kdebase), поставленный со всем модулем с помощью метапакета

# pacman -R kde-meta-kdebase
# pacman -R kdebase-kwrite