как повторно включить вход на последовательной консоли

#!/bin/sh
# apt-filter
# Shell script for filtering the apt packages list. Useful if you don't want to
# see too many packages in your synaptic/aptitude. Improves startup time of
# both, at the expense of time taken for filtering the updates.
# © 2011 Ahmad Syukri
listpath=/var/lib/apt/lists
skiplist=/etc/apt/skiplist  # This is user defined list of package to skip. Put yours there
skiplist_prev=/var/cache/apt/skiplist
statustmp=/tmp/apt-update.1

cd $listpath
if [ ! -e orig ]
then
  #first time running. create the required folder
  mkdir -p orig
  mv *_dists_* orig
  skiplist_changed=1
else
  #compare current skiplist with  last time's
  skiplist_changed=$(diff -q $skiplist $skiplist_prev)
  #delete prev skiplist, in case update fails, then it will be forced to refilter  
  [ -e $skiplist_prev ] && rm $skiplist_prev
fi
#check for new package lists. Save the output to list, with progress visible.
apt-get update -o Dir::State::Lists=$listpath/orig | tee $statustmp

cd orig
cp *InRelease ..
if [ ! $skiplist_changed ]
then
  #skip processing package lists with no updates
  #apt-get update displays "Get" for each repository that has updated
  pkgs=$(grep Get $statustmp | awk '{\
  if (/Packages/ && !/Diff/){\
    sub(/(ht|f)tp:\/*/,"",$2);\
    sub(/\//,"_",$3);\
    print $2"_debian_dists_"$3"_binary-"$4"_Packages"\
  }\
  }')
else
  #skiplist changed, must reprocess all
  pkgs=$(ls *Packages 2>/dev/null)
fi
#now let the fun begin!
for pkglist in $pkgs
do
  #there is chance the list failed to download, check if it exists
  if [ -e $pkglist ]
  then
    echo Processing $pkglist...
    awk '{\
      skiplist = "'$skiplist'";\
      if (/^Package/){\
        skip = 0;\
        while (!skip && (getline pkg < skiplist) > 0)\
          skip=(pkg==$2);\
          close(skiplist);\
        };\
      if (!skip) print $0\
      }' $pkglist > ../$pkglist
  fi
done
#finally, save state of skiplist for future comparison
cp $skiplist $skiplist_prev

Просто напишите сценарий его!

Принцип "качество на риск покупателя":

  1. Это помещает существующие списки в другую папку, в то время как фильтрованные занимают свое место. Это означает, если обновлено через стандартные средства, фильтрованные списки будут уничтожены, и скрипт фильтра должен быть запущен снова.
  2. Фильтр не оптимизирован, процесс может занять много времени.
  3. Меньший список должен означать более быстрый синаптический запуск / запуск способности, хотя у меня нет гарантии на этом.
  4. Может привести ко многим неустанавливаемым пакетам, которые все еще находятся в списке. Если Вы знаете, как отфильтровать их, ответьте на мой другой вопрос!

    Результат

Результат? Я больше не вижу emacs и его фаворитов, больше никакого windowmaker. Разговор о мире на земле!

2
26.01.2012, 13:42
2 ответа

busybox пример inittab взгляды, немного отличающиеся,

# Example of how to put a getty on a serial line (for a terminal)
#
#::respawn:/sbin/getty -L ttyS0 9600 vt100
#::respawn:/sbin/getty -L ttyS1 9600 vt100

Вы могли дать этому попытку?

1
27.01.2020, 22:23
  • 1
    То же как прежде, это заставляет приглашение ко входу в систему появиться на последовательной консоли, но я не могу дать ему вход. Я должен так или иначе включить вход на/dev/console или чем-то. –  CuriousPuzzleSolver 26.01.2012, 18:44
  • 2
    Если Вы используете параметрический усилитель ядра console=ttyS0,11520, попытайтесь изменить скорость в/etc/inittab от 9600 кому: 115200. –  pevik 19.06.2015, 11:29

Я вижу, что это - очень старое сообщение, но я вспоминаю видевший некоторую подобную проблему после обновления ТВ Samsung. Вероятно, модель маршрутизатора, которую Вы имеете, принадлежат некоторой компании, которая не позволяет внешние модификации как OpenWRT и т.д. Например, распространенный способ отключить терминальный доступ оболочки состоит в том, чтобы отключить его в источниках ядра /linux-2.6.35.11/drivers/char/n_tty.c или скомпилируйте ядро с: CONFIG_SERIAL_INPUT_DISABLE_STRING...

0
27.01.2020, 22:23

Теги

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