Я просто сделал следующее для всех моих серверов так, чтобы, когда я соединяюсь через SSH, я был автоматически помещен в Экранную сессию.
Добавьте следующее к ~/.bashrc для Ваших учетных записей пользователей:
# Auto-screen invocation. see: http://taint.org/wk/RemoteLoginAutoScreen
# if we're coming from a remote SSH connection, in an interactive session
# then automatically put us into a screen(1) session. Only try once
# -- if $STARTED_SCREEN is set, don't try it again, to avoid looping
# if screen fails for some reason.
if [ "$PS1" != "" -a "${STARTED_SCREEN:-x}" = x -a "${SSH_TTY:-x}" != x ]
then
STARTED_SCREEN=1 ; export STARTED_SCREEN
screen -RR -S main || echo "Screen failed! continuing with normal bash startup"
fi
# [end of auto-screen snippet]
Это запустит экранную сессию, названную основной, если она не будет существовать или снова соединяться с ним, если она делает. Это было сделано, потому что я имею несколько других экранных выполнений сессий, отсоединенных для различных сервисов, и не хотел соединяться с ними.
Пакет texlive-local
уродливо. Maintainer
поле в пакетах обязательно, даже при том, что оно не используется ни для какой технической причины — это - больше социального требования для предоставления некоторого tracability всем пакетам. Отсутствие этого поля не вызывает проблемы, но это - что-то, чего не должно происходить, таким образом, dpkg
предупреждает Вас. Все официальные пакеты действительно имеют то поле.
Предупреждающее сообщение ушло бы, если бы Вы удалили texlive-local
пакет или если Вы обновили до версии с a Maintainer
поле. Я рекомендую рекомендовать специалисту по обслуживанию того пакета добавить a Maintainer
поле с их адресом электронной почты. Это входит debian/control
в исходном дереве.
Тем временем можно избавиться от предупреждения путем редактирования базы данных пакета и добавления того поля вручную.Править /var/lib/dpkg/status
, ищите строку, содержащую точно Package: texlive-local
, и добавьте строку, содержащую Maintainer: someone@example.com
чуть ниже (адрес должен быть синтаксически правильно построен, но это не должно быть допустимо, если Вы предпочли бы не ставить чье-то имя там).
Удачный Вы! У Вас есть резервные копии! И еще больше, они ежедневно делаются без Вас знанием! Так, для восстановления файлов, просто выполненных:
sudo rm /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get update
Готово!
Если Вам нужны еще более старые файлы существует больше от того, где выбрать:
ls /var/backups/dpkg.status*
/var/backups/dpkg.status.0 /var/backups/dpkg.status.4.gz
/var/backups/dpkg.status.1.gz /var/backups/dpkg.status.5.gz
/var/backups/dpkg.status.2.gz /var/backups/dpkg.status.6.gz
/var/backups/dpkg.status.3.gz
Просто распакуйте их использование gunzip
:
gunzip -c /var/backups/dpkg.status.6.gz > /var/lib/dpkg/status
Мое собственное сообщение в AskUbuntu: https://askubuntu.com/a/343620/169736
Если резервные копии бесполезны, иначе делает список doc
содержание каталога:
sudo -i
ls /usr/share/doc | \
grep -v [A-Z] | \
grep -v '^texmf$' | \
grep -v '^debian$' | \
awk '{print $1 " install"}' | \
dpkg --set-selections
/var/lib/dpkg/status
с missing
corrupted
parsing
рекомендует использовать резервные копии) для фиксации этого сообщения, и я добавил другой для уничтожения состояния, которое, как Вы видите, не используйте резервное копирование.
– Braiam
05.10.2013, 01:34