Linux From Scratch
Добавить в закладки К обложке
- Пролог - Страница 1
- Кому эта книга будет интересна - Страница 2
- Кому будет неинтересно читать эту книгу - Страница 3
- Организация - Страница 4
- Часть 1 – Вступление - Страница 5
- Часть 2 – Установка базовой системы LFS - Страница 6
- Часть 3 – Приложения - Страница 7
- Часть I – Вступление - Страница 8
- Как мы будем работать - Страница 9
- Условные обозначения, используемые в книге - Страница 10
- Версия книги - Страница 11
- Зеркала - Страница 12
- Changelog - Страница 13
- Списки рассылки и архивы - Страница 18
- Сервер новостей - Страница 20
- FAQ - Страница 21
- Как с нами связаться - Страница 22
- Глава 2. Важная информация - Страница 23
- Про SBU - Страница 24
- Где хранить загруженные программы - Страница 25
- Как инсталлировать программы - Страница 26
- Поддерживаемые платформы - Страница 27
- Как попросить о помощи - Страница 28
- II. Часть II – Установка системы LFS - Страница 29
- Необходимые пакеты - Страница 30
- Глава 4. Готовим новый раздел - Страница 31
- Создаем новый раздел - Страница 32
- Создаем файловую систему на новом разделе - Страница 33
- Монтируем раздел - Страница 34
- Глава 5. Подготовка системы LFS - Страница 35
- Почему мы используем статические ссылки? - Страница 36
- Создаем директорию $LFS/static - Страница 37
- Установка всех компонентов в режиме непривилегированного пользователя - Страница 38
- Установка Bash-2.05a - Страница 39
- Установка Binutils-2.13 - Страница 40
- Установка Bzip2-1.0.2 - Страница 42
- Установка Diffutils-2.8.1 - Страница 43
- Установка Fileutils-4.1 - Страница 44
- Установка Findutils-4.1 - Страница 46
- Установка Gawk-3.1.1 - Страница 47
- Установка GCC-3.2 - Страница 48
- Установка Grep-2.5 - Страница 50
- Установка Gzip-1.2.4a - Страница 51
- Установка Make-3.79.1 - Страница 52
- Установка Patch-2.5.4 - Страница 53
- Установка Sed-3.02 - Страница 54
- Установка Sh-utils-2.0 - Страница 55
- Установка Tar-1.13 - Страница 56
- Установка Texinfo-4.2 - Страница 57
- Установка Textutils-2.1 - Страница 58
- Установка Util-linux-2.11u - Страница 59
- Глава 6. Установка основных компонентов системы - Страница 60
- Отладочные символы - Страница 61
- Вход в среду chroot - Страница 62
- Изменение прав - Страница 63
- Создание директорий - Страница 64
- Монтирование файловой системы proc - Страница 65
- Создание символической ссылки mtab - Страница 66
- Создание символических ссылок bash и sh - Страница 67
- Создание файлов passwd и group - Страница 68
- Создание устройств (Makedev-1.7) - Страница 69
- Установка Linux-2.4.19 - Страница 70
- Установка Man-pages-1.52 - Страница 72
- Установка Glibc-2.2.5 - Страница 73
- Установка Zlib-1.1.4 - Страница 77
- Установка Findutils-4.1 - Страница 78
- Установка Gawk-3.1.1 - Страница 79
- Установка Ncurses-5.2 - Страница 80
- Установка Vim-6.1 - Страница 81
- Установка Bison-1.35 - Страница 82
- Установка Less-374 - Страница 83
- Установка Groff-1.18 - Страница 84
- Установка Textutils-2.1 - Страница 86
- Установка Sed-3.02 - Страница 87
- Установка Flex-2.5.4a - Страница 88
- Установка Binutils-2.13 - Страница 89
- Установка Fileutils-4.1 - Страница 91
- Установка Sh-utils-2.0 - Страница 92
- Установка Gettext-0.11.5 - Страница 93
- Установка Net-tools-1.60 - Страница 94
- Установка Perl-5.8.0 - Страница 95
- Установка руководства по потокам Linux, вер. 2.2.5 - Страница 96
- Установка M4-1.4 - Страница 97
- Установка Texinfo-4.2 - Страница 98
- Установка Autoconf-2.53 - Страница 99
- Установка Automake-1.6.3 - Страница 100
- Установка Bash-2.05a - Страница 101
- Установка File-3.39 - Страница 102
- Установка Libtool-1.4.2 - Страница 103
- Установка Bin86-0.16.3 - Страница 104
- Установка Bzip2-1.0.2 - Страница 105
- Установка Ed-0.2 - Страница 106
- Установка Kbd-1.06 - Страница 107
- Установка Diffutils-2.8.1 - Страница 108
- Установка E2fsprogs-1.27 - Страница 109
- Установка Grep-2.5 - Страница 110
- Установка Gzip-1.2.4a - Страница 111
- Установка Man-1.5k - Страница 112
- Установка Lilo-22.2 - Страница 113
- Установка Make-3.79.1 - Страница 114
- Установка Modutils-2.4.19 - Страница 115
- Установка Netkit-base-0.17 - Страница 116
- Установка Patch-2.5.4 - Страница 117
- Установка Procinfo-18 - Страница 118
- Установка Procps-2.0.7 - Страница 119
- Установка Psmisc-21 - Страница 120
- Установка Shadow-4.0.3 - Страница 121
- Установка Sysklogd-1.4.1 - Страница 123
- Установка Sysvinit-2.84 - Страница 124
- Установка Tar-1.13 - Страница 125
- Установка Util-linux-2.11u - Страница 126
- Установка LFS-Bootscripts-1.10 - Страница 128
- Конфигурация основных программ - Страница 129
- Глава 7. Конфигурация загрузочных скриптов - Страница 131
- Как взаимодействует процесс загрузки со скриптами? - Страница 132
- Настройка скрипта setclock - Страница 133
- Что надо для загрузки loadkeys скриптов? - Страница 134
- Настройка скрипта sysklogd - Страница 135
- Конфигурация скриптов localnet. - Страница 136
- Cоздание файла /etc/hosts - Страница 137
- Настройка сетевых скриптов - Страница 138
- Глава 8. Делаем систему LFS загрузочной. - Страница 139
- Создание файла /etc/fstab - Страница 140
- Установка ядра Linux-2.4.19 - Страница 141
- Делаем систему LFS загрузочной. - Страница 142
- Глава 9. Заключение. - Страница 143
- Вписываем себя в пользователи LFS - Страница 144
- Перезагрузка системы - Страница 145
- III. Часть III – Приложения - Страница 146
- Autoconf - Страница 147
- Automake - Страница 148
- Bash - Страница 149
- Bin86 - Страница 150
- Binutils - Страница 151
- Bison - Страница 152
- Bzip2 - Страница 153
- Diffutils - Страница 154
- E2fsprogs - Страница 155
- Ed - Страница 156
- File - Страница 157
- Fileutils - Страница 158
- Findutils - Страница 159
- Flex - Страница 160
- Gawk - Страница 161
- GCC - Страница 162
- Gettext - Страница 163
- Glibc - Страница 164
- Grep - Страница 166
- Groff - Страница 167
- Gzip - Страница 168
- Kbd - Страница 169
- Less - Страница 170
- LFS-Bootscripts - Страница 171
- Libtool - Страница 172
- Lilo - Страница 173
- Linux (ядро) - Страница 174
- M4 - Страница 175
- Make - Страница 176
- MAKEDEV - Страница 177
- Man - Страница 178
- Man-pages - Страница 179
- Modutils - Страница 180
- Ncurses - Страница 181
- Netkit-base - Страница 182
- Net-tools - Страница 183
- Patch - Страница 184
- Perl - Страница 185
- Procinfo - Страница 186
- Procps - Страница 187
- Psmisc - Страница 188
- Sed - Страница 189
- Shadow - Страница 190
- Sh-utils - Страница 191
- Sysklogd - Страница 192
- Sysvinit - Страница 193
- Tar - Страница 194
- Texinfo - Страница 195
- Textutils - Страница 196
- Util-linux - Страница 197
- Vim - Страница 199
- Zlib - Страница 200
- Приложение B. Ресурсы - Страница 201
- Книги - Страница 202
- HOWTO и руководства - Страница 203
- Прочее - Страница 204
Отладочные символы
Большинство программ и библиотек по умолчанию компилируются с символами отладки. ( с опцией gcc -g).
При отладке программы или библиотеки, скомпилированной с отладочной информацией, отладчик предоставляет не только адреса в памяти, но и имена алгоритмов и переменных.
Однако включение символов отладки значительно увеличивает размер программы или библиотеки. Для того, чтобы получить представление о размере отладочных символов, взглянем на пример:
оболочка bash, скомпилированная с отладочными символами: 1200 KB
оболочка bash, скомпилированная без отладочных символов: 480 KB
файлы glibc и gcc (/lib и /usr/lib) с отладочными символами: 87 MB
файлы glibc и gcc скомпилированная без отладочных символов: 16 MB
Размеры могут различаться в зависимости от использованного компилятора Си и библиотеки. При сопоставлении размера программы, скомпилированной с отладочными символами и без них, разница составляет примерно 2 – 5 раз.
Так как большинство пользователей никогда не используют отладчик, удаление этих символов позволит значительно сэкономить дисковое пространство.
Для удаления символов отладки из бинарного файла (файл a.out или бинарный файл ELF), выполните strip –strip-debug filename. Допускается использование символа * для обработки нескольких файлов (например, strip –strip-debug $LFS/static/bin/*).
Для удобства, в главе 9 описана программа, удаляющая отладочные символы со всех программ и библиотек системы. Для получения дополнительных сведений по оптимизации, см. руководство: http://hints.linuxfromscratch.org/hints/optimization.txt.
- 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
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204