myparameter=foobar
ssh user@server "myscript $myparameter"
Это выполнится myscript foobar
на сервере.
Я думаю, что Dennis Kaarsemaker записал правильную вещь: переустановите все пакеты.
Поиск с помощью Google нескольких минут показал эту статью Wiki Arch с разделом по переустановке всех пакетов. Так как Вы не удалили /var/cache/pacman/pkg
, процесс должен произойти локально. Команда похожа на это:
pacman -Qenq | pacman -S -
pacamn -Qeng
только списки, "явно установленные", "собственные" пакеты группой. Это может пропустить некоторые пакеты из "дополнительных" или "общественных" репозиториев или любые пакеты АУРА, которые Вы установили. Я лично боюсь попробовать это, потому что мои установки Arch работают, но
pacman -Qn | awk '{print $1}' | pacman -S -
мог бы переустановить каждый пакет, он может. Я не уверен, как это обработало бы зависимость, которая установлена explictly позже в процессе. Вы могли бы закончить тем, что переустановили пакеты, которые уже стали переустановленными как зависимость.
Если Вам удалось удалить pacman
, Я думаю, что процесс просто мог бы включить частичную "новую установку" использование установки Arch ISO, но я боюсь рекомендовать это.
Если Вы не хотите к установке (ре) всех пакетов, можно сделать прием: проверить /var/lib/pacman/local
подкаталоги и их files
, который содержит все установленные файлы на пакет.
Так простое, не протестированное (и не прекрасный) сценарий:
cd /var/lib/pacman
for package in *; do
for file in $(grep ^usr ${package}/files); do
[ -e "/${file}" ] || echo Bad package: ${package}
done
done
Можно улучшить этот сценарий (возможно, если ${file}
не существует, работать pacman -S ${package}
и продолжите), но я думаю, что основная идея не слишком плоха :)
pacman
к счастью, все еще там. – Anna 13.07.2013, 18:19pacman -Qo
говорит, что никакой пакет не владеет теми файлами. – Anna 13.07.2013, 19:41--force
и снова переустанавливаю все пакеты с Вашей первой командой теперь. – Anna 13.07.2013, 20:10