Установка Oracle Database 11gR2 на CentOS 6.5

Задача – установить Oracle Database 11gR2 на CentOS 6.5. Система при этом установлена в минимальной конфигурации из образа CentOS-6.5-x86_64-minimal.iso without all bells and whistles. Графический интерфейс не используется.

Disclaimer: инструкция “для себя”, делалась на скорую руку, но общие принципы работают.

После установки и первоначальной настройки системы, добавляем репозиторий и ключ Oracle:

1
2
3
cd /etc/yum.repos.d
sudo wget --no-check-certificate https://public-yum.oracle.com/public-yum-ol6.repo
sudo wget --no-check-certificate https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

Ключ --no-check-certificate используется из-за того, что wget у нас версии 1.12, а поддержка SNI появилась только в 1.14.

Устанавливаем мета-пакет oracle-rdbms-server-11gR2-preinstall, он произведёт часть подготовительных операций:

1
sudo yum install oracle-rdbms-server-11gR2-preinstall

Чтобы не иметь проблем с разрешением собственного адреса, добавляем имя хоста в /etc/hosts:

/etc/hosts
1
2
127.0.0.1   db-oracle localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         db-oracle localhost localhost.localdomain localhost6 localhost6.localdomain6

Устанавливаем пароль пользователя oracle:

1
sudo passwd oracle

Меняем лимиты и политику SELinux:

/etc/security/limits.d/90-nproc.conf
1
2
3
4
5
6
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     16384
root       soft    nproc     unlimited
/etc/selinux/config
1
SELINUX=permissive

И перезагружаемся.

Добавляем переменные окружения в профиль пользователя oracle:

/home/oracle/.bash_profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=db-oracle
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/var/lib/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export TZ=UTC/GMT

Создаём директории, где у нас всё будет располагаться:

1
2
3
4
5
6
sudo mkdir -p /var/lib/oracle/product/11.2.0/dbhome_1
sudo chown -R oracle:oinstall /var/lib/oracle
sudo chmod -R 775 /var/lib/oracle
sudo mkdir -p /var/lib/oraInventory
sudo chown -R oracle:oinstall /var/lib/oraInventory
sudo chmod -R 775 /var/lib/oraInventory

Создаём файл ответов для инсталлятора:

/home/oracle/db.rsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=db-oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/var/lib/oraInventory
SELECTED_LANGUAGES=en,ru
ORACLE_HOME=/var/lib/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/var/lib/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryLimit=748
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.installExampleSchemas=true
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/var/lib/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=

Скачиваем дистрибутив в домашнюю директорию пользователя oracle. Распаковываем и запускаем установщик:

1
2
3
4
5
6
sudo su - oracle
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
rm linux.x64_11gR2_database_*
cd database/
./runInstaller -responseFile ~/db.rsp -silent -nowelcome -ignorePrereq

В самом конце установщик попросит выполнить пару скриптов от имени пользователя root. Выполняем.

1
2
/var/lib/oraInventory/orainstRoot.sh
/var/lib/oracle/product/11.2.0/dbhome_1/root.sh

Ну и для полноты картины – init-скрипт для автоматического запуска Oracle Database:

/etc/init.d/oracle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash

# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database Server is an RDBMS created by Oracle Corporation
#
# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle
ORACLE_USER=oracle

case "$1" in
  'start')
      if [ -f $LOCKFILE ]; then
          echo $0 already running.
          exit 1
      fi
      echo -n $"Starting Oracle Database:"
      su - $ORACLE_USER -c '$ORACLE_HOME/bin/lsnrctl start'
      su - $ORACLE_USER -c '$ORACLE_HOME/bin/dbstart $ORACLE_HOME'
      su - $ORACLE_USER -c '$ORACLE_HOME/bin/emctl start dbconsole'
      touch $LOCKFILE
  ;;
  'stop')
      if [ ! -f $LOCKFILE ]; then
          echo $0 already stopping.
          exit 1
      fi
      echo -n $"Stopping Oracle Database:"
      su - $ORACLE_USER -c '$ORACLE_HOME/bin/lsnrctl stop'
      su - $ORACLE_USER -c '$ORACLE_HOME/bin/dbshut $ORACLE_HOME'
      su - $ORACLE_USER -c '$ORACLE_HOME/bin/emctl stop dbconsole'
      rm -f $LOCKFILE
  ;;
  'restart')
      $0 stop
      $0 start
  ;;
  'status')
      if [ -f $LOCKFILE ]; then
          echo $0 started.
      else
          echo $0 stopped.
      fi
  ;;
  *)
      echo "Usage: $0 [start|stop|status]"
      exit 1
esac

exit 0
1
2
chkconfig --add oracle
chkconfig --list oracle

В файле /etc/oratab меняем последнюю строчку:

/etc/oratab
1
orcl:/var/lib/oracle/product/11.2.0/dbhome_1:Y

Не забываем разрешить 1158/tcp и 1521/tcp в правилах файерволла, если нужно.

URL rewrite в IIS 7

Задача — сделать перенаправление на адрес https://example.com/app/ со следующих адресов:

  • http://example.com/app
  • http://example.com
  • https://example.com

Стандартое перенаправление не устраивает — при попытке открыть http://example.com/bad_url попадаем на адрес https://example.com/app/bad_url вместо 404-й ошибки.

Решение — скачиваем и устанавливаем расширение для IIS – URL Rewrite. В корне сайта правим файл web.config.

web.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
      <rewrite>
          <rules>

              <rule name="redirect HTTP requests" stopProcessing="true">
                  <match url="(^$)|(^app$)|(^app\/)" />
                      <conditions>
                          <add input="{HTTPS}" pattern="off" />
                      </conditions>
                  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/app/{R:1}" />
              </rule>

              <rule name="redirect HTTPS requests" stopProcessing="true">
                  <match url="(^$)" />
                      <conditions>
                          <add input="{HTTPS}" pattern="on" />
                      </conditions>
                  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/app/" />
              </rule>

          </rules>
      </rewrite>
  </system.webServer>
</configuration>

Синхронизация дисков с помощью nnBackup

1
"C:\Program Files (x86)\nnBackup\nnbackup.exe" sync -i V:\ -o W:\ -s -da -e -sa -dx "System Volume Information,$RECYCLE.BIN"

Задача для планировщика Windows:

Синхронизация дисков.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2014-01-07T05:01:35.3739623</Date>
    <Author>home\butenin</Author>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2014-01-07T03:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>home\butenin</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT4H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>"C:\Program Files (x86)\nnBackup\nnbackup.exe"</Command>
      <Arguments>sync -i V:\ -o W:\ -s -da -e -sa -dx "System Volume Information,$RECYCLE.BIN"</Arguments>
      <WorkingDirectory>C:\Program Files (x86)\nnBackup</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

MD5 и SHA1 в Windows

Оказывается, есть у Microsoft своя утилита для расчёта хэшей MD5 и SHA1 — FCIV (File Checksum Integrity Verifier).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//
// File Checksum Integrity Verifier version 2.05.
//

Usage:  fciv.exe [Commands] <Options>

Commands: ( Default -add )

        -add    <file | dir> : Compute hash and send to output (default screen).
                dir options:
                -r       : recursive.
                -type    : ex: -type *.exe.
                -exc file: list of directories that should not be computed.
                -wp      : Without full path name. ( Default store full path)
                -bp      : specify base path to remove from full path name

        -list            : List entries in the database.
        -v               : Verify hashes.
                         : Option: -bp basepath.

        -? -h -help      : Extended Help.

Options:
        -md5 | -sha1 | -both    : Specify hashtype, default md5.
        -xml db                 : Specify database format and name.

To display the MD5 hash of a file, type fciv.exe filename

Хэши хранит в XML, выглядит примерно так:

1
2
3
<?xml version="1.0" encoding="utf-8"?>
<FCIV>
  <FILE_ENTRY><name>fciv.exe</name><MD5>4sbVYr01NStzwAp0TpwHxg==</MD5></FILE_ENTRY></FCIV>

Хотя и 2004 года, но, вроде бы, работает. Брать тут.

Временный запрет входа на сервер терминалов

Всё время забываю, а бывает очень нужно.

1
2
3
4
5
6
7
8
9
10
C:\>change.exe logon /?
Включение, отключение или сток входов сеансов.

CHANGE LOGON {/QUERY | /ENABLE | /DISABLE | /DRAIN | /DRAINUNTILRESTART}

  /QUERY    Опрос текущего режима входа сеанса.
  /ENABLE   Включение входа пользователя из сеанса.
  /DISABLE  Отключение входа пользователей из сеансов.
  /DRAIN    Запрещает входить в систему новым пользователям, но разрешает повторное подключение к существующим сеансам.
  /DRAINUNTILRESTART    Запрещает входить в систему новым пользователям до перезагрузки сервера, но разрешает повторное подключение к существующим сеансам.

Запуск приложения с ограниченными привилегиями в Windows

Иногда некоторые приложения при запуске требуют привилегий администратора, которые им давать совершенно не хочется. С некоторыми извращениями всё-таки можно запустить их с привилегиями текущего пользователя.

Открываем свойства ярлыка для запуска приложения, и в строке запуска в начало дописываем следующее:

1
%ComSpec% /C set __COMPAT_LAYER=RunAsInvoker && start ""

Таким образом, если у вас изначально в ярлыке было "C:\Program Files (x86)\RaidCall\raidcall.exe", после изменения получится так:

1
%ComSpec% /C set __COMPAT_LAYER=RunAsInvoker && start "" "C:\Program Files (x86)\RaidCall\raidcall.exe"

Дополнительно стоит поправить иконку ярлыка.

Не исключено, что UAC по-прежнему будет выдавать запрос на предоставление приложению дополнительных прав, но теперь можно спокойно нажимать “Нет” — приложение запустится.

UPD. Вот гораздо более удобный способ.

1
2
3
4
5
6
7
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run without admin rights (UAC)"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

Debian Wheezy в Amazon EC2

Старый скрипт, с помощью которого создавался AMI для Debian Squeeze, теперь переименован в build-debian-cloud. Он остался таким же простым в использовании, но теперь поддерживает Debian Wheezy и Google Compute Engine. Старая заметка до сих пор актуальна.

Встроенная подсказка:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
build-debian-cloud ec2
This subcommand creates a Debian Squeeze Amazon Machine Image.

Options (defaults in bold):

Bootstrapping
    --arch ARCH [i386|amd64]      Processor architecture of the image (amd64)
    --codename C [squeeze|wheezy] Debian version codename to bootstrap (squeeze)
    --filesystem FS [ext2..4|xfs] Filesystem of the root volume (ext4)
    --volume-size SIZE            Default size of the root volume in GB (1)
    --plugin FILE                 Path to plugin script.
                                  Can be specified more than once.

    --timezone ZONE               Standard timezone (UTC)
    --locale LOCALE               Standard locale (en_US)
    --charmap CHARMAP             Standard charmap (UTF-8)

    --debootstrap-dir DIR         Debootstrap directory (/target)
                                  The created volume will be mounted
                                  at $debootstrap_dir/$volume_id.

    --name SUFFIX                 AMI name suffix (20131030)
    --description DESC            Description of the AMI
    --apt-mirrors "URL[ URL...]"  APT mirror URLs, space-separated (http://http.debian.net/debian)

AWS
    --access-key ID               AWS Access Key ($EC2_ACCESS_KEY)
    --secret-key KEY              AWS Secret Key ($EC2_SECRET_KEY)

Other options
    --debug                       Print debugging information
    --help                        Prints this help message

Как видно, теперь можно дополнительно указать ближайшее зеркало. Для Ирландии (европейский ДЦ Амазона именно там) будет так:

1
2
3
4
5
6
7
8
9
10
./build-debian-cloud ec2 \
 --arch amd64 \
 --codename wheezy \
 --filesystem xfs \
 --volume-size 10 \
 --timezone Europe/Moscow \
 --locale ru_RU \
 --apt-mirrors "http://ftp.ie.debian.org/debian/" \
 --access-key $AWS_ACCESS_KEY \
 --secret-key $AWS_SECRET_KEY

Список пакетов Debian Wheezy для Host1Free

Из предустановленого набора пакетов удалось выбросить больше трёх сотен. Потом ещё гляну, а пока вот что осталось:

dpkg --get-selections
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
adduser                                         install
apt                                             install
apt-utils                                       install
base-files                                      install
base-passwd                                     install
bash                                            install
bsdmainutils                                    install
bsdutils                                        install
coreutils                                       install
cpio                                            install
cron                                            install
dash                                            install
debconf                                         install
debconf-i18n                                    install
debian-archive-keyring                          install
debianutils                                     install
dhcpcd                                          install
diffutils                                       install
dpkg                                            install
e2fslibs:amd64                                  install
file                                            install
findutils                                       install
gcc-4.7-base:amd64                              install
gettext-base                                    install
gnupg                                           install
gpgv                                            install
grep                                            install
groff-base                                      install
gzip                                            install
hostname                                        install
ifupdown                                        install
info                                            install
initramfs-tools                                 install
initscripts                                     install
insserv                                         install
install-info                                    install
iproute                                         install
iptables                                        install
iputils-ping                                    install
klibc-utils                                     install
kmod                                            install
less                                            install
libacl1:amd64                                   install
libapt-inst1.5:amd64                            install
libapt-pkg4.12:amd64                            install
libasprintf0c2:amd64                            install
libattr1:amd64                                  install
libbind9-80                                     install
libblkid1:amd64                                 install
libbsd0:amd64                                   install
libbz2-1.0:amd64                                install
libc-bin                                        install
libc6:amd64                                     install
libcap2:amd64                                   install
libclass-isa-perl                               install
libcomerr2:amd64                                install
libdb5.1:amd64                                  install
libdbus-1-3:amd64                               install
libdns88                                        install
libedit2:amd64                                  install
libffi5:amd64                                   install
libfreetype6:amd64                              install
libfribidi0:amd64                               install
libgcc1:amd64                                   install
libgcrypt11:amd64                               install
libgdbm3:amd64                                  install
libgeoip1                                       install
libglib2.0-0:amd64                              install
libgnutls26:amd64                               install
libgpg-error0:amd64                             install
libgpm2:amd64                                   install
libgssapi-krb5-2:amd64                          install
libidn11:amd64                                  install
libisc84                                        install
libisccc80                                      install
libisccfg82                                     install
libjson0:amd64                                  install
libk5crypto3:amd64                              install
libkeyutils1:amd64                              install
libklibc                                        install
libkmod2:amd64                                  install
libkrb5-3:amd64                                 install
libkrb5support0:amd64                           install
liblocale-gettext-perl                          install
liblwres80                                      install
liblzma5:amd64                                  install
libmagic1:amd64                                 install
libmount1                                       install
libncurses5:amd64                               install
libncursesw5:amd64                              install
libnewt0.52                                     install
libnfnetlink0                                   install
libnih-dbus1                                    install
libnih1                                         install
libp11-kit0:amd64                               install
libpam-modules:amd64                            install
libpam-modules-bin                              install
libpam-runtime                                  install
libpam0g:amd64                                  install
libpcre3:amd64                                  install
libpipeline1:amd64                              install
libpopt0:amd64                                  install
libprocps0:amd64                                install
libreadline6:amd64                              install
libselinux1:amd64                               install
libsemanage-common                              install
libsemanage1:amd64                              install
libsepol1:amd64                                 install
libslang2:amd64                                 install
libsqlite3-0:amd64                              install
libssl1.0.0:amd64                               install
libstdc++6:amd64                                install
libswitch-perl                                  install
libtasn1-3:amd64                                install
libtext-charwidth-perl                          install
libtext-iconv-perl                              install
libtext-wrapi18n-perl                           install
libtinfo5:amd64                                 install
libudev0:amd64                                  install
libusb-0.1-4:amd64                              install
libustr-1.0-1:amd64                             install
libuuid1:amd64                                  install
libwrap0:amd64                                  install
libxml2:amd64                                   install
locales                                         install
login                                           install
logrotate                                       install
lsb-base                                        install
makedev                                         install
man-db                                          install
manpages                                        install
mawk                                            install
mc                                              install
mc-data                                         install
mime-support                                    install
mount                                           install
mountall                                        install
multiarch-support                               install
ncurses-base                                    install
ncurses-bin                                     install
net-tools                                       install
netbase                                         install
openssh-client                                  install
openssh-server                                  install
passwd                                          install
perl                                            install
perl-base                                       install
perl-modules                                    install
plymouth                                        install
procps                                          install
readline-common                                 install
rsync                                           install
rsyslog                                         install
sed                                             install
sensible-utils                                  install
sudo                                            install
sysv-rc                                         install
sysvinit-utils                                  install
tar                                             install
traceroute                                      install
tzdata                                          install
ucf                                             install
udev                                            install
unzip                                           install
upstart                                         install
util-linux                                      install
vim-common                                      install
wget                                            install
whiptail                                        install
whois                                           install
xz-utils                                        install
zlib1g:amd64                                    install

А вообще, всяческие менеджеры пакетов и маинтейнеры иногда откровенно заё..ют. Например, upstart зависит от mountall, а ему, в свою очередь, нужен plymouth, который накуй не нужен мне. И вот такая хрень с зависимостями постоянно.