
Я сделал это sudo apt-get remove ruby*
, а затем увидел, что некоторые пакеты grub также были удалены, поэтому я пошел и установил обратно те пакеты, которые, как показал журнал, были удалены.
Я настроил grub на работу на своем /sda
(в общем, не на любом номере) при обратной установке.
Все ли будет в порядке или мне следует опасаться за свою систему и планировать установку/перенастройку большего количества grub?
И почему это произошло?
решение1
Если вы не совсем понимаете, что делаете, не следует использовать:
sudo apt-get remove package.*
# ⤷ or any other character in the place of dot
так как это может удалить непреднамеренные пакеты и вызвать больше проблем, чем решить. package.*
Будет соответствовать всем пакетам (и их зависимостям), содержащим строку package
в своем имени. Это из man apt-get
, где-то на строке 110:
If no package matches the given expression and the expression contains one of '.', '?' or '*' then it is assumed to be a POSIX regular expression, and it is applied to all package names in the database. Any matches are then installed (or removed). Note that matching is done by substring so 'lo.*' matches 'how-lo' and 'lowest'. If this is undesired, anchor the regular expression with a '^' or '$' character, or create a more specific regular expression.
И это изРегулярные выражения/Базовые регулярные выражения POSIXВикиучебники:
*
Соответствует предыдущему элементу ноль или более раз. Например,ab*c
соответствует "переменный ток", "азбука", "abbbc", и т.д.[xyz]*
соответствует "", "Икс", "у", "з", "zx", "zyx", "иксиззи", и так далее.\(ab\)*
совпадения "", "аб", "абаб", "абабаб", и так далее.
В любом случае, если вы действительно хотите запустить что-то вроде sudo apt-get remove package.*
(или sudo apt-get remove packagey*
, или sudo apt-get remove packagec*
- в данном случае все это одно и то же),сначала запустите его с опцией -s
( --simulate
), чтобы увидеть, что именно он будет делатьman apt-get
( более подробную информацию см .
Я думаю, что вы можете решить свою проблему, выполнив следующие два шага:
Удалить только
ruby
:sudo apt-get remove ruby
Или, если вы хотите удалить все пакеты, имена которых начинаются с
ruby
:sudo apt-get remove ^ruby
Но лучше сначала провести симуляцию с помощью:
apt-get -s remove ^ruby
решение2
Apt-get работает с регулярными выражениями, что означает, что он ruby*
выбирает все пакеты, которые содержатнатиратьв их имени. Правильный способ удалить все пакеты, начинающиеся сРубинявляется:
apt-get remove ^ruby
решение3
Попробуйте эту команду на терминале,
sudo grub-install /dev/sda
Он переустановит grub2 на вашем диске.
Если вы хотите настроить grub, то установите grub-pc
пакет. Попробуйте выполнить следующую команду для установки grub-pc
пакета:
sudo apt-get install grub-pc
Примечание:Установите этот пакет только в том случае, если вы установили Ubuntu в устаревшем режиме.