Как делают я вызываю, удаляют пакет в Arch с pacman?

rsync вероятно, был бы более оптимальный вариант здесь. Это столь же просто как rsync -a subdir/ ./.

Мое тестовое дерево в filename:contents формат:

./file1:root
./file2:root
./dir/file3:dir
./dir/file4:dir
./subdir/dir/file3:subdir
./subdir/file1:subdir

Выполнение rsync:

$ rsync -a -v subdir/ ./
sending incremental file list
./
file1
dir/
dir/file3

Дает:

./file1:subdir
./file2:root
./dir/file3:subdir
./dir/file4:dir
./subdir/dir/file3:subdir
./subdir/file1:subdir

И затем, для эмуляции mv, Вы, вероятно, хотите удалить исходный каталог:

$ rm -r subdir/

Предоставление:

./file1:subdir
./file2:parent
./dir/file3:subdir
./dir/file4:dir

Если это неправильно, можно ли обеспечить подобный пример (например, использование моего тестового дерева от близости верхняя часть этого ответа) с желаемым результатом?

66
27.03.2011, 18:13
1 ответ

Необходимо смочь переустановить пакет с простым:

# pacman -S perl-libwww

Это только удалит perl-libwww:

# pacman -Rdd perl-libwww

Заметьте двойной-d в команде, если Вы используете - nodeps Вы должны указать, что дважды также или комбинируют его с-d как:

# pacman -R --nodeps --nodeps perl-libwww
# pacman -Rd --nodeps perl-libwww

Это удаляет все пакеты, которые зависят от perl-libwww:

# pacman -Rc perl-libwww

Из страницы справочника pacman:

   -d, --nodeps
       Skips dependency version checks. Package names are still
       checked. Normally, pacman will always check a package’s
       dependency fields to ensure that all dependencies are
       installed and there are no package conflicts in the
       system. Specify this option twice to skip all dependency
       checks.
   -c, --cascade
       Remove all target packages, as well as all packages that
       depend on one or more target packages. This operation is
       recursive, and must be used with care since it can remove
       many potentially needed packages.
99
27.01.2020, 19:31

Теги

Похожие вопросы